﻿
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --bg:#fff;--bg2:#f4faf8;--bg3:#e8f7f3;
  --teal:#3db89a;--teal-mid:#2a9e82;--teal-dark:#1c7a62;
  --teal-light:#c2ebe0;--teal-xlight:#e8f7f3;
  --celeste:#e0f3f8;--celeste2:#a8dce8;--celeste-dark:#5bb8cf;
  --text:#1a2e28;--gray:#5e7a72;--light:#b2ccc6;--border:#cde8df;
  --card:#fff;--nav-bg:rgba(255,255,255,0.97);
}
[data-theme="dark"]{
  --bg:#0f1f1a;--bg2:#152920;--bg3:#1a3328;
  --teal:#3db89a;--teal-mid:#4dcaab;--teal-dark:#5dd4b5;
  --teal-light:#1a4a3a;--teal-xlight:#152920;
  --celeste:#1a3040;--celeste2:#2a5060;--celeste-dark:#4a90a8;
  --text:#e8f5f0;--gray:#8ab5a5;--light:#4a6a5a;--border:#2a4a3a;
  --card:#152920;--nav-bg:rgba(15,31,26,0.97);
}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--bg);font-weight:300;line-height:1.6;overflow-x:hidden;transition:background .3s,color .3s;}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:500;}

/* PROGRESS BAR */
#progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--celeste-dark));z-index:999;width:0%;transition:width .1s;}

/* FADE */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.visible{opacity:1;transform:none;}
.fd1{transition-delay:.1s;}.fd2{transition-delay:.2s;}.fd3{transition-delay:.3s;}.fd4{transition-delay:.4s;}

/* NAV */
nav{position:fixed;top:3px;width:100%;background:var(--nav-bg);backdrop-filter:blur(10px);z-index:200;border-bottom:1px solid var(--border);transition:box-shadow .3s,background .3s;}
nav.scrolled{box-shadow:0 2px 20px rgba(29,122,98,.08);}
.nav-in{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;height:66px;padding:0 2rem;transition:height .3s;}
nav.scrolled .nav-in{height:54px;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-logo svg,.nav-logo-img{width:42px;height:42px;object-fit:contain;border-radius:50%;transition:all .3s;}
nav.scrolled .nav-logo svg,nav.scrolled .nav-logo-img{width:34px;height:34px;}
.nav-brand strong{display:block;font-family:'Playfair Display',serif;font-size:15px;color:var(--text);}
.nav-brand span{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gray);}
.nav-links{display:flex;gap:1.5rem;list-style:none;}
.nav-links a{color:var(--gray);text-decoration:none;font-size:12.5px;font-weight:400;transition:color .2s;}
.nav-links a:hover{color:var(--teal-dark);}
.nav-right{display:flex;align-items:center;gap:1rem;}
.nav-cta{background:var(--teal);color:#fff;padding:8px 20px;font-size:12px;font-weight:500;text-decoration:none;border-radius:4px;transition:background .2s;}
.nav-cta:hover{background:var(--teal-dark);}

/* DARK TOGGLE */
.dark-toggle{background:none;border:1px solid var(--border);border-radius:20px;padding:5px 10px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray);transition:all .2s;}
.dark-toggle:hover{border-color:var(--teal);color:var(--teal);}
.toggle-icon{font-size:14px;}

/* LANG TOGGLE */
.lang-toggle{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden;}
.lang-btn{background:none;border:none;padding:5px 10px;font-size:11px;font-weight:500;letter-spacing:1px;cursor:pointer;color:var(--gray);transition:all .2s;}
.lang-btn.active{background:var(--teal);color:#fff;}

/* POPUP */
.popup-overlay{position:fixed;inset:0;background:rgba(26,46,40,.6);z-index:400;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s;}
.popup-overlay.show{opacity:1;pointer-events:all;}
.popup{background:var(--card);max-width:460px;width:90%;border-radius:8px;overflow:hidden;transform:scale(.92);transition:transform .4s;}
.popup-overlay.show .popup{transform:scale(1);}
.popup-top{background:var(--teal-dark);padding:2.5rem 2rem 2rem;text-align:center;}
.popup-top h3{font-size:1.6rem;color:#fff;margin-bottom:.5rem;}
.popup-top p{font-size:.875rem;color:rgba(255,255,255,.7);line-height:1.7;}
.popup-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:5px 14px;border-radius:20px;margin-bottom:1rem;}
.popup-body{padding:2rem;}
.popup-body p{font-size:.875rem;color:var(--gray);line-height:1.8;margin-bottom:1.5rem;text-align:center;}
.popup-cta{display:block;width:100%;background:var(--teal);color:#fff;border:none;padding:14px;font-family:'Inter',sans-serif;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:4px;text-decoration:none;text-align:center;margin-bottom:.75rem;transition:background .2s;}
.popup-cta:hover{background:var(--teal-dark);}
.popup-close-btn{display:block;text-align:center;font-size:.8rem;color:var(--light);cursor:pointer;transition:color .2s;}
.popup-close-btn:hover{color:var(--gray);}

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:69px;}
.hero-left{background:var(--bg3);display:flex;flex-direction:column;justify-content:center;padding:5rem 4rem 5rem 5rem;}
.hero-eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--teal-mid);font-weight:500;margin-bottom:1.5rem;}
.hero h1{font-size:clamp(2.2rem,4vw,3.6rem);color:var(--text);line-height:1.15;margin-bottom:1.25rem;}
.hero h1 em{color:var(--teal-dark);font-style:italic;}
.hero-desc{font-size:.95rem;color:var(--gray);line-height:1.9;max-width:400px;margin-bottom:1.75rem;}
.avail-badge{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);padding:7px 14px;border-radius:20px;font-size:12px;color:var(--text);margin-bottom:1.75rem;width:fit-content;}
.avail-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:pulse 2s infinite;flex-shrink:0;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.4);}50%{box-shadow:0 0 0 6px rgba(34,197,94,0);}}
.hero-cta{display:inline-block;background:var(--teal);color:#fff;padding:14px 32px;font-size:13px;font-weight:500;letter-spacing:.5px;text-decoration:none;border-radius:4px;transition:background .2s,transform .2s;}
.hero-cta:hover{background:var(--teal-dark);transform:translateY(-2px);}
.hero-stats{display:flex;gap:2.5rem;margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--border);}
.stat-num{font-family:'Playfair Display',serif;font-size:2rem;color:var(--teal-dark);}
.stat-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);margin-top:2px;}
.hero-right{background:var(--celeste);position:relative;overflow:hidden;}

/* PH */
.ph{width:100%;height:100%;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;border:1.5px dashed var(--teal-light);background:var(--teal-xlight);}
.ph svg{width:22px;height:22px;stroke:var(--teal-mid);fill:none;stroke-width:1.5;stroke-linecap:round;}
.ph-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--teal-mid);}
.ph-hint{font-size:.75rem;color:var(--light);text-align:center;max-width:160px;line-height:1.6;}

/* SECCIONES */
section{padding:6rem 2rem;}
.sec-in{max-width:1200px;margin:auto;}
.sec-label{display:block;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--teal-mid);font-weight:500;margin-bottom:1rem;}
.sec-head{text-align:center;margin-bottom:3.5rem;}
.sec-head h2{font-size:clamp(1.8rem,3vw,2.5rem);color:var(--text);margin-bottom:.75rem;}
.sec-head p{font-size:.925rem;color:var(--gray);max-width:520px;margin:auto;line-height:1.9;}

/* TRUST */
.trust{background:var(--bg);padding:2rem 2rem;border-bottom:1px solid var(--border);}
.trust-in{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap;}
.trust-label{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--light);font-weight:500;white-space:nowrap;}
.trust-div{width:1px;height:28px;background:var(--border);}
.trust-logos{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center;}
.trust-logo{opacity:.5;transition:opacity .2s;}
.trust-logo:hover{opacity:.85;}
.trust-logo-box{background:var(--bg2);border:1px solid var(--border);border-radius:5px;padding:8px 16px;font-family:'Playfair Display',serif;font-size:12px;color:var(--text);font-weight:500;}
.trust-logo span{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);margin-top:3px;text-align:center;}

/* SOBRE MÍ */
.intro{background:var(--bg);}
.intro-in{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.intro-img{width:100%;aspect-ratio:4/5;background:var(--bg3);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;}
.intro-logo{position:absolute;bottom:-18px;right:-18px;background:var(--card);border:1px solid var(--border);padding:14px;box-shadow:0 4px 20px rgba(29,122,98,.1);}
.intro-text p{font-size:.925rem;color:var(--gray);line-height:1.9;margin-bottom:1rem;}
.intro-text h2{font-size:clamp(1.8rem,3vw,2.5rem);color:var(--text);margin-bottom:1.25rem;line-height:1.25;}
.clink{display:inline-block;margin-top:1.25rem;color:var(--teal-dark);font-size:13px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--teal-light);padding-bottom:2px;transition:border-color .2s;}
.clink:hover{border-color:var(--teal-dark);}
.creds{margin-top:1.75rem;border-top:1px solid var(--border);}
.cred-row{display:flex;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--border);align-items:center;}
.cred-n{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--teal-light);min-width:26px;}
.cred-b{flex:1;}
.cred-b strong{display:block;font-size:.83rem;font-weight:500;color:var(--text);}
.cred-b span{font-size:.78rem;color:var(--gray);}
.cred-date{display:block;font-size:.68rem;letter-spacing:.8px;color:var(--teal);font-family:'Playfair Display',serif;margin-bottom:2px;}
.cred-logo{height:30px;max-width:70px;object-fit:contain;opacity:.65;margin-left:auto;flex-shrink:0;transition:opacity .2s;}
.cred-row:hover .cred-logo{opacity:1;}

/* TIMELINE */
.tl-sec{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.tl-wrap{position:relative;margin-top:3rem;max-width:860px;margin-left:auto;margin-right:auto;}
.tl-wrap::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--border);transform:translateX(-50%);}
.tl-item{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:2.75rem;position:relative;}
.tl-card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:1.5rem;transition:box-shadow .2s;}
.tl-card:hover{box-shadow:0 6px 20px rgba(29,122,98,.08);}
.tl-item:nth-child(odd) .tl-card{grid-column:1;}
.tl-item:nth-child(even) .tl-card{grid-column:2;}
.tl-dot{position:absolute;left:50%;top:1.25rem;width:12px;height:12px;border-radius:50%;background:var(--teal);border:3px solid var(--bg2);box-shadow:0 0 0 2px var(--teal);transform:translateX(-50%);}
.tl-year{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--teal-mid);font-weight:500;margin-bottom:.4rem;}
.tl-card h4{font-size:.95rem;color:var(--text);margin-bottom:.35rem;}
.tl-card p{font-size:.8rem;color:var(--gray);line-height:1.75;}

/* SKILLS */
.skills{background:var(--bg);border-bottom:1px solid var(--border);}
.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;}
.skill-item{margin-bottom:.75rem;}
.skill-head{display:flex;justify-content:space-between;margin-bottom:.5rem;}
.skill-name{font-size:.875rem;font-weight:500;color:var(--text);}
.skill-pct{font-family:'Playfair Display',serif;font-size:1rem;color:var(--teal-dark);}
.skill-bar{height:3px;background:var(--bg3);border-radius:2px;overflow:hidden;}
.skill-fill{height:100%;background:linear-gradient(90deg,var(--teal-mid),var(--celeste-dark));border-radius:2px;width:0;transition:width 1.2s ease;}

/* PROCESO */
.proceso{background:var(--bg2);border-top:1px solid var(--border);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.step{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:2.25rem 1.75rem;transition:box-shadow .3s,transform .3s;}
.step:hover{box-shadow:0 8px 28px rgba(29,122,98,.1);transform:translateY(-4px);}
.step-n{font-family:'Playfair Display',serif;font-size:3rem;color:var(--teal-light);line-height:1;margin-bottom:.75rem;}
.step h3{font-size:1.1rem;color:var(--text);margin-bottom:.6rem;}
.step p{font-size:.85rem;color:var(--gray);line-height:1.85;}
.step.feat{background:var(--teal);border-color:var(--teal);}
.step.feat .step-n{color:rgba(255,255,255,.2);}
.step.feat h3,.step.feat p{color:rgba(255,255,255,.9);}
.step.feat p{color:rgba(255,255,255,.7);}

/* CONTADOR */
.counter-sec{background:var(--teal-dark);padding:4rem 2rem;}
.counter-in{max-width:1000px;margin:auto;text-align:center;}
.counter-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1rem;display:block;}
.counter-num{font-family:'Playfair Display',serif;font-size:clamp(4rem,10vw,8rem);color:#fff;line-height:1;font-weight:400;}
.counter-sub{font-size:.9rem;color:rgba(255,255,255,.5);margin-top:.75rem;letter-spacing:.5px;}
.counter-since{font-size:.75rem;color:rgba(255,255,255,.25);margin-top:.5rem;letter-spacing:1px;text-transform:uppercase;}

/* CASOS */
.casos{background:var(--teal-dark);}
.casos-in{max-width:1200px;margin:auto;}
.casos-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);}
.casos-header .sec-label{color:rgba(255,255,255,.4);}
.casos-header h2{color:#fff;font-size:clamp(1.8rem,3vw,2.4rem);}
.casos-header p{font-size:.875rem;color:rgba(255,255,255,.4);max-width:320px;line-height:1.8;text-align:right;}
.casos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);}
.caso{background:var(--teal-dark);padding:2.25rem 1.75rem;transition:background .2s;}
.caso:hover{background:#156050;}
.caso-tag{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.75rem;}
.caso-author{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:rgba(255,255,255,.75);margin-bottom:.75rem;}
.caso-author strong{font-weight:600;}
.caso-stars{color:var(--teal);letter-spacing:.2rem;}
.caso h4{font-family:'Playfair Display',serif;font-size:1.05rem;color:#fff;margin-bottom:.4rem;line-height:1.35;}
.caso-lesion{font-size:.78rem;color:var(--teal-light);font-weight:500;margin-bottom:.6rem;}
.caso p{font-size:.82rem;color:rgba(255,255,255,.45);line-height:1.8;}
.caso-result{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.76rem;color:var(--teal-light);display:flex;align-items:center;gap:.5rem;}
.caso-dot{width:5px;height:5px;border-radius:50%;background:var(--teal-light);flex-shrink:0;}

/* SERVICIOS */
.servicios{background:var(--bg);}
.servicios-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem;}
.servicios-header h2{font-size:clamp(1.8rem,3vw,2.5rem);color:var(--text);}
.servicios-header p{font-size:.925rem;color:var(--gray);line-height:1.9;}
.srv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);}
.srv-card{background:var(--card);padding:1.75rem;transition:background .2s;}
.srv-card:hover{background:var(--bg3);}
.srv-num{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--teal-light);margin-bottom:.75rem;}
.srv-card h3{font-size:.95rem;color:var(--text);margin-bottom:.4rem;line-height:1.35;}
.srv-card p{font-size:.78rem;color:var(--gray);line-height:1.75;}

/* GALERÍA INSTAGRAM */
.gallery{background:var(--bg2);border-top:1px solid var(--border);}
.gallery-in{max-width:1200px;margin:auto;}
.gallery-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap;}
.g-tab{background:none;border:1px solid var(--border);padding:7px 18px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);cursor:pointer;border-radius:3px;transition:all .2s;}
.g-tab.active{background:var(--teal);border-color:var(--teal);color:#fff;}
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);}
.g-item{background:var(--card);aspect-ratio:9/16;position:relative;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;transition:background .2s;}
.g-item:hover{background:var(--bg3);}
.g-item-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;}
.g-item-icon{width:44px;height:44px;border-radius:50%;border:1.5px dashed var(--teal-light);display:flex;align-items:center;justify-content:center;}
.g-item-icon svg{width:18px;height:18px;stroke:var(--teal-mid);fill:none;stroke-width:1.5;stroke-linecap:round;}
.g-cat{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--teal-mid);}
.g-title{font-size:.8rem;color:var(--text);font-weight:400;text-align:center;max-width:130px;line-height:1.4;}
.g-play{position:absolute;bottom:.75rem;right:.75rem;width:28px;height:28px;background:var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.g-play svg{width:10px;height:10px;fill:#fff;margin-left:1px;}

/* DIFERENCIADORES */
.dif{background:var(--bg3);border-top:1px solid var(--border);}
.dif-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.dif-img{width:100%;aspect-ratio:1;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.dif-list{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.dif-item{padding:1.25rem 1.25rem 1.25rem 0;border-bottom:1px solid var(--border);}
.dif-item:nth-child(even){padding-left:1.25rem;border-left:1px solid var(--border);}
.dif-item h4{font-size:.9rem;color:var(--teal-dark);margin-bottom:.3rem;font-family:'Playfair Display',serif;}
.dif-item p{font-size:.78rem;color:var(--gray);line-height:1.75;}

/* CALCULADORA */
.calc-sec{background:var(--bg);border-top:1px solid var(--border);}
.calc-in{max-width:900px;margin:auto;}
.calc-wrap{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:3rem;}
.calc-steps-nav{display:flex;background:var(--bg2);border-bottom:1px solid var(--border);}
.calc-step-nav{flex:1;padding:1rem;text-align:center;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--light);font-weight:500;border-right:1px solid var(--border);position:relative;transition:color .2s;}
.calc-step-nav:last-child{border-right:none;}
.calc-step-nav.active{color:var(--teal-mid);}
.calc-step-nav.done{color:var(--teal);}
.calc-step-nav::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;transition:background .3s;}
.calc-step-nav.active::after{background:var(--teal);}
.calc-body{padding:2.5rem;}
.calc-page{display:none;}
.calc-page.active{display:block;}
.calc-page h3{font-size:1.3rem;color:var(--text);margin-bottom:.5rem;}
.calc-page .calc-sub{font-size:.875rem;color:var(--gray);margin-bottom:2rem;line-height:1.7;}
.calc-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;}
.calc-opt{background:var(--bg2);border:1.5px solid var(--border);border-radius:6px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s;text-align:left;}
.calc-opt:hover{border-color:var(--teal);background:var(--bg3);}
.calc-opt.selected{border-color:var(--teal);background:var(--bg3);}
.calc-opt strong{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:2px;}
.calc-opt span{font-size:.78rem;color:var(--gray);}
.calc-opts-3{grid-template-columns:repeat(3,1fr);}
.calc-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);}
.calc-back{background:none;border:1px solid var(--border);padding:10px 24px;font-family:'Inter',sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--gray);cursor:pointer;border-radius:3px;transition:all .2s;}
.calc-back:hover{border-color:var(--gray);color:var(--text);}
.calc-next{background:var(--teal);color:#fff;border:none;padding:10px 28px;font-family:'Inter',sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:500;cursor:pointer;border-radius:3px;transition:background .2s;}
.calc-next:hover{background:var(--teal-dark);}
.calc-result{text-align:center;padding:1rem 0;}
.calc-result-weeks{font-family:'Playfair Display',serif;font-size:5rem;color:var(--teal-dark);line-height:1;margin:1rem 0;}
.calc-result-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-bottom:1.5rem;}
.calc-result p{font-size:.9rem;color:var(--gray);line-height:1.9;max-width:500px;margin:auto;}
.calc-result-cta{display:inline-block;margin-top:1.75rem;background:var(--teal);color:#fff;padding:13px 30px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;text-decoration:none;border-radius:4px;transition:background .2s;}
.calc-result-cta:hover{background:var(--teal-dark);}
.calc-disclaimer{font-size:.72rem;color:var(--light);margin-top:1rem;font-style:italic;}

/* CALENDARIO */
.cal-sec{background:var(--bg2);border-top:1px solid var(--border);}
.cal-in{max-width:900px;margin:auto;}
.cal-wrap{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:3rem;}
.cal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border);}
.cal-month{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--text);}
.cal-nav-btns{display:flex;gap:.5rem;}
.cal-nav-btn{background:none;border:1px solid var(--border);width:34px;height:34px;border-radius:4px;cursor:pointer;color:var(--gray);display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:16px;}
.cal-nav-btn:hover{border-color:var(--teal);color:var(--teal);}
.cal-grid-wrap{padding:1.5rem 2rem;}
.cal-days-head{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.5rem;}
.cal-day-name{text-align:center;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--light);padding:.4rem 0;}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:.85rem;color:var(--gray);cursor:pointer;transition:all .2s;border:1px solid transparent;position:relative;}
.cal-day.empty{cursor:default;}
.cal-day.past{opacity:.35;cursor:default;}
.cal-day.avail{color:var(--text);cursor:pointer;}
.cal-day.avail:hover{background:var(--bg3);border-color:var(--teal);}
.cal-day.selected{background:var(--teal);color:#fff;border-color:var(--teal);}
.cal-day.today{font-weight:600;color:var(--teal-dark);}
.cal-day .avail-dot-sm{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--teal);}
.cal-time-wrap{padding:0 2rem 2rem;}
.cal-time-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-bottom:1rem;}
.cal-times{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;}
.cal-time{background:var(--bg2);border:1px solid var(--border);padding:.6rem;text-align:center;font-size:.82rem;color:var(--text);border-radius:4px;cursor:pointer;transition:all .2s;}
.cal-time:hover{border-color:var(--teal);background:var(--bg3);}
.cal-time.selected{background:var(--teal);color:#fff;border-color:var(--teal);}
.cal-time.busy{opacity:.3;cursor:default;text-decoration:line-through;}
.cal-confirm{padding:1.5rem 2rem;border-top:1px solid var(--border);display:none;}
.cal-confirm.show{display:block;}
.cal-confirm-text{font-size:.875rem;color:var(--gray);margin-bottom:1.25rem;line-height:1.7;}
.cal-confirm-text strong{color:var(--text);}
.cal-confirm-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;}
.cal-field input{width:100%;padding:10px 0;border:none;border-bottom:1px solid var(--border);font-size:.875rem;font-family:'Inter',sans-serif;font-weight:300;color:var(--text);background:transparent;outline:none;transition:border-color .2s;}
.cal-field input:focus{border-bottom-color:var(--teal);}
.cal-field label{display:block;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-bottom:.4rem;}
.cal-confirm-btn{width:100%;background:var(--teal);color:#fff;border:none;padding:13px;font-family:'Inter',sans-serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;cursor:pointer;border-radius:3px;transition:background .2s;}
.cal-confirm-btn:hover{background:var(--teal-dark);}
.cal-note{font-size:.72rem;color:var(--light);margin-top:.75rem;text-align:center;}

/* VIDEO */
.video-sec{background:var(--bg);border-top:1px solid var(--border);}
.video-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.video-ph{aspect-ratio:9/16;background:var(--bg3);border:1.5px dashed var(--teal-light);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;}
.video-ph span{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--teal-mid);}
.video-ph small{font-size:.75rem;color:var(--light);text-align:center;max-width:160px;line-height:1.6;}

/* RESEÑAS */
.resenas{background:var(--bg2);border-top:1px solid var(--border);}
.resenas-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border);}
.score-big{font-family:'Playfair Display',serif;font-size:4rem;color:var(--teal-dark);line-height:1;}
.score-stars{color:var(--teal);font-size:1.1rem;letter-spacing:3px;}
.score-sub{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);margin-top:3px;}
.r-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);}
.r-card{background:var(--card);padding:1.75rem;transition:background .2s;}
.r-card:hover{background:var(--bg3);}
.r-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.9rem;}
.r-autor strong{display:block;font-size:.88rem;font-weight:500;color:var(--text);}
.r-autor span{font-size:.73rem;color:var(--gray);}
.r-stars{color:var(--teal);font-size:.82rem;letter-spacing:2px;}
.r-text{font-family:'Playfair Display',serif;font-style:italic;font-size:.95rem;color:var(--gray);line-height:1.8;}
.r-tag{margin-top:.7rem;font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal-mid);}

/* INSTAGRAM */
.insta{background:var(--teal-dark);padding:5rem 2rem;}
.insta-in{max-width:1200px;margin:auto;}
.insta-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.12);}
.insta-top .sec-label{color:rgba(255,255,255,.35);}
.insta-top h2{color:#fff;font-size:clamp(1.8rem,3vw,2.4rem);}
.insta-handle{color:rgba(255,255,255,.45);font-size:13px;text-decoration:none;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:2px;transition:color .2s;white-space:nowrap;display:inline-block;}
.insta-handle:hover{color:#fff;}
.i-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.08);}
.i-card{background:var(--teal-dark);padding:1.75rem;transition:background .2s;}
.i-card:hover{background:#156050;}
.i-tag{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:.6rem;}
.i-card h4{font-size:1rem;color:#fff;margin-bottom:.4rem;line-height:1.35;}
.i-card p{font-size:.8rem;color:rgba(255,255,255,.42);line-height:1.8;}

/* FAQ */
.faq{background:var(--bg);border-top:1px solid var(--border);}
.faq-in{max-width:780px;margin:auto;}
.faq-list{margin-top:3rem;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{width:100%;background:none;border:none;padding:1.4rem 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Playfair Display',serif;font-size:1rem;color:var(--text);text-align:left;transition:color .2s;}
.faq-q:hover{color:var(--teal-dark);}
.faq-icon{width:22px;height:22px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:1rem;transition:transform .3s,background .2s;}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--teal);border-color:var(--teal);}
.faq-icon svg{width:11px;height:11px;stroke:var(--gray);fill:none;stroke-width:2;stroke-linecap:round;transition:stroke .2s;}
.faq-item.open .faq-icon svg{stroke:#fff;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;}
.faq-item.open .faq-a{max-height:180px;padding-bottom:1.25rem;}
.faq-a p{font-size:.875rem;color:var(--gray);line-height:1.9;}

/* BLOG */
.blog{background:var(--bg2);border-top:1px solid var(--border);}
.b-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem;}
.b-card{background:var(--card);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:box-shadow .2s,transform .2s;}
.b-card:hover{box-shadow:0 8px 28px rgba(29,122,98,.1);transform:translateY(-4px);}
.b-img{aspect-ratio:16/9;background:var(--bg3);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);}
.b-img span{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--teal-mid);}
.b-body{padding:1.4rem;}
.b-cat{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--teal-mid);font-weight:500;margin-bottom:.5rem;display:block;}
.b-body h3{font-size:1rem;color:var(--text);margin-bottom:.5rem;line-height:1.35;}
.b-body p{font-size:.8rem;color:var(--gray);line-height:1.75;}
.b-read{display:inline-block;margin-top:.9rem;font-size:.75rem;letter-spacing:1px;text-transform:uppercase;color:var(--teal-dark);font-weight:500;text-decoration:none;border-bottom:1px solid var(--teal-light);padding-bottom:1px;transition:border-color .2s;}
.b-read:hover{border-color:var(--teal-dark);}

/* MAPA */
.mapa{background:var(--bg3);border-top:1px solid var(--border);padding:0;}
.mapa-in{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1.6fr;}
.mapa-info{padding:4rem 3rem 4rem 2rem;display:flex;flex-direction:column;justify-content:center;}
.mapa-info h2{font-size:clamp(1.5rem,3vw,2rem);color:var(--text);margin-bottom:.9rem;}
.mapa-info p{font-size:.875rem;color:var(--gray);line-height:1.9;margin-bottom:1.75rem;}
.mapa-dato{display:flex;gap:.9rem;margin-bottom:.9rem;align-items:flex-start;}
.mapa-dato-icon{width:34px;height:34px;background:var(--card);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mapa-dato-icon svg{width:15px;height:15px;stroke:var(--teal-dark);fill:none;stroke-width:1.5;stroke-linecap:round;}
.mapa-dato strong{display:block;font-size:.82rem;font-weight:500;color:var(--text);}
.mapa-dato span{font-size:.78rem;color:var(--gray);}
.mapa-embed iframe{width:100%;height:100%;min-height:400px;border:none;display:block;filter:saturate(.8);}

/* CONTACTO */
.contacto{background:var(--bg2);border-top:1px solid var(--border);}
.contacto-in{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start;}
.contacto-info h2{font-size:clamp(1.8rem,3vw,2.4rem);color:var(--text);margin-bottom:1.1rem;}
.contacto-info p{font-size:.9rem;color:var(--gray);line-height:1.9;margin-bottom:1.75rem;}
.datos{border-top:1px solid var(--border);}
.dato-row{display:flex;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid var(--border);font-size:.85rem;}
.dato-row span:first-child{color:var(--gray);}
.dato-row span:last-child{color:var(--text);}
.c-form{background:var(--card);border:1px solid var(--border);padding:2.25rem;}
.fg{margin-bottom:1.4rem;}
.fg label{display:block;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--gray);font-weight:500;margin-bottom:.5rem;}
.fg input,.fg textarea,.fg select{width:100%;padding:10px 0;border:none;border-bottom:1px solid var(--border);font-size:.875rem;font-family:'Inter',sans-serif;font-weight:300;color:var(--text);background:transparent;outline:none;transition:border-color .2s;-webkit-appearance:none;}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-bottom-color:var(--teal);}
.fg textarea{height:90px;resize:none;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
.sub-btn{width:100%;background:var(--teal);color:#fff;border:none;padding:14px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:500;cursor:pointer;border-radius:3px;transition:background .2s;}
.sub-btn:hover{background:var(--teal-dark);}

/* COOKIES */
.cookie-bar{position:fixed;bottom:0;left:0;right:0;background:var(--text);padding:1.1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;z-index:350;transform:translateY(100%);transition:transform .4s;}
.cookie-bar.show{transform:none;}
.cookie-bar p{font-size:.8rem;color:rgba(255,255,255,.55);line-height:1.7;max-width:680px;}
.cookie-bar p a{color:var(--teal-light);text-decoration:none;}
.cookie-btns{display:flex;gap:.6rem;flex-shrink:0;}
.c-accept{background:var(--teal);color:#fff;border:none;padding:8px 18px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:500;cursor:pointer;border-radius:3px;white-space:nowrap;}
.c-reject{background:transparent;color:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.15);padding:8px 18px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:3px;white-space:nowrap;}

/* FOOTER */
footer{background:var(--text);padding:3.5rem 2rem 2rem;}
.footer-in{max-width:1200px;margin:auto;}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.07);}
.fcol-title{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:1.1rem;}
.footer-brand{font-family:'Playfair Display',serif;font-size:1.4rem;color:#fff;font-weight:400;margin-bottom:.3rem;}
.footer-brand-sub{font-size:.78rem;color:rgba(255,255,255,.28);}
.footer-legal{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.9rem;}
.footer-legal a{color:rgba(255,255,255,.18);font-size:.7rem;text-decoration:none;transition:color .2s;}
.footer-legal a:hover{color:rgba(255,255,255,.45);}
.f-links{list-style:none;}
.f-links li{margin-bottom:.6rem;}
.f-links a{color:rgba(255,255,255,.32);text-decoration:none;font-size:.82rem;font-weight:300;transition:color .2s;}
.f-links a:hover{color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1.75rem;}
.footer-copy{color:rgba(255,255,255,.16);font-size:.72rem;}
.footer-insta{color:rgba(255,255,255,.28);font-size:.72rem;text-decoration:none;transition:color .2s;}
.footer-insta:hover{color:#fff;}

/* WHATSAPP */
.wa-btn{position:fixed;bottom:2rem;right:2rem;z-index:290;display:flex;align-items:center;gap:.7rem;background:#25d366;color:#fff;padding:12px 18px 12px 14px;border-radius:50px;box-shadow:0 4px 20px rgba(37,211,102,.32);text-decoration:none;font-size:13px;font-weight:500;transition:transform .2s,box-shadow .2s;}
.wa-btn:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(37,211,102,.42);}
.wa-btn svg{width:20px;height:20px;fill:#fff;flex-shrink:0;}

/* CHAT */
.chat-btn{position:fixed;bottom:2rem;left:2rem;z-index:290;width:52px;height:52px;border-radius:50%;background:var(--teal-dark);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(29,122,98,.3);transition:transform .2s,box-shadow .2s;}
.chat-btn:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(29,122,98,.4);}
.chat-btn svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;}
.chat-box{position:fixed;bottom:6rem;left:2rem;width:340px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 40px rgba(29,122,98,.15);z-index:290;display:none;flex-direction:column;overflow:hidden;max-height:500px;}
.chat-box.open{display:flex;}
.chat-head{background:var(--teal-dark);padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;}
.chat-avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1rem;color:#fff;font-weight:500;flex-shrink:0;}
.chat-head-info strong{display:block;font-size:.9rem;color:#fff;font-weight:500;}
.chat-head-info span{font-size:.75rem;color:rgba(255,255,255,.55);}
.chat-close{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:1.2rem;line-height:1;padding:2px 4px;}
.chat-msgs{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;}
.chat-msg{max-width:80%;padding:.75rem 1rem;border-radius:12px;font-size:.85rem;line-height:1.6;}
.chat-msg.bot{background:var(--bg2);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start;}
.chat-msg.user{background:var(--teal);color:#fff;border-bottom-right-radius:4px;align-self:flex-end;}
.chat-suggestions{padding:.5rem 1rem;display:flex;gap:.4rem;flex-wrap:wrap;}
.chat-sug{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:5px 12px;font-size:.78rem;color:var(--gray);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.chat-sug:hover{border-color:var(--teal);color:var(--teal-dark);}
.chat-input-wrap{padding:.75rem 1rem;border-top:1px solid var(--border);display:flex;gap:.5rem;}
.chat-input{flex:1;border:1px solid var(--border);border-radius:20px;padding:8px 14px;font-size:.83rem;font-family:'Inter',sans-serif;font-weight:300;color:var(--text);background:var(--bg2);outline:none;transition:border-color .2s;}
.chat-input:focus{border-color:var(--teal);}
.chat-send{background:var(--teal);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s;}
.chat-send:hover{background:var(--teal-dark);}
.chat-send svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;}
.typing{display:flex;gap:4px;align-items:center;padding:.75rem 1rem;}
.typing span{width:6px;height:6px;border-radius:50%;background:var(--light);animation:blink 1.2s infinite;}
.typing span:nth-child(2){animation-delay:.2s;}
.typing span:nth-child(3){animation-delay:.4s;}
@keyframes blink{0%,80%,100%{opacity:.3;}40%{opacity:1;}}

/* TOAST */
.toast{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%);background:var(--teal-dark);color:#fff;padding:13px 26px;font-size:.8rem;letter-spacing:.5px;opacity:0;pointer-events:none;transition:opacity .3s;z-index:999;border-radius:4px;white-space:nowrap;}
.toast.show{opacity:1;}

/* LANG */
[data-lang="en"] [data-es]{display:none;}
[data-lang="en"] [data-en]{display:block;}
[data-lang="es"] [data-en]{display:none;}
[data-lang="es"] [data-es]{display:block;}
span[data-en],span[data-es]{display:inline;}

/* FORMULARIO CALCULADOR */
.form-intro{background:var(--bg3);border-left:3px solid var(--teal);padding:.85rem 1rem;border-radius:0 4px 4px 0;font-size:.82rem;color:var(--gray);line-height:1.65;margin-bottom:1.5rem;}
.form-intro strong{color:var(--text);font-weight:500;}
.fg .req{color:#dc2626;font-weight:600;margin-left:2px;}
.fg select{background:transparent;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235e7a72' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .25rem center;padding-right:1.5rem;}
.fg input.error,.fg select.error{border-bottom-color:#dc2626 !important;}
.act-hint{font-size:.7rem;color:var(--light);margin-top:.4rem;line-height:1.55;}
.subcampo{display:none;}
.subcampo.visible{display:block;animation:fadeSlide .35s ease;}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.personal-box{background:#fff7ed;border:1px solid #fed7aa;border-left:3px solid #f97316;padding:1.1rem;margin:1rem 0;border-radius:0 4px 4px 0;}
.personal-box p{font-size:.85rem;color:#9a3412;line-height:1.7;margin-bottom:.75rem;}
.wa-inline-btn{display:inline-block;background:#25d366;color:#fff;padding:9px 16px;font-size:.82rem;font-weight:500;text-decoration:none;border-radius:4px;}
.recovery-box{background:var(--bg3);border:1px solid var(--teal-light);border-radius:8px;padding:1.5rem 1.25rem;margin:1.25rem 0;text-align:center;}
.recovery-pill{display:inline-block;background:var(--teal);color:#fff;padding:4px 12px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;border-radius:14px;margin-bottom:.85rem;}
.recovery-range{font-family:'Playfair Display',serif;font-size:1.85rem;color:var(--teal-dark);line-height:1.15;font-weight:500;}
.recovery-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-top:.35rem;}
.recovery-divider{height:1px;background:var(--teal-light);margin:1rem 0;}
.recovery-detail{font-size:.83rem;color:var(--text);line-height:1.85;text-align:left;}
.recovery-disclaimer{font-size:.7rem;color:var(--gray);font-style:italic;margin-top:.85rem;line-height:1.5;}

/* BOTÓN SECUNDARIO (AGENDAR LLAMADA) */
.secondary-btn{width:100%;background:transparent;color:var(--teal-dark);border:1.5px solid var(--teal);padding:13px;font-family:'Inter',sans-serif;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:3px;transition:all .2s;margin-top:.85rem;display:flex;align-items:center;justify-content:center;gap:.5rem;}
.secondary-btn:hover{background:var(--bg3);}
.secondary-btn .chev{transition:transform .25s;font-size:.7rem;}
.secondary-btn.open .chev{transform:rotate(180deg);}


.form-note{font-size:.7rem;color:var(--light);text-align:center;margin-top:.85rem;line-height:1.6;}

/* RESPONSIVE */
@media(max-width:900px){
  .hero{grid-template-columns:1fr;}
  .hero-right{min-height:280px;}
  .hero-left{padding:3rem 2rem;}
  .intro-in,.dif-grid,.servicios-header,.contacto-in,.footer-top,.video-layout,.mapa-in,.skills-grid{grid-template-columns:1fr;}
  .steps,.srv-grid,.r-grid,.i-grid,.casos-grid,.b-grid,.g-grid{grid-template-columns:1fr;}
  .dif-list{grid-template-columns:1fr;}
  .dif-item:nth-child(even){padding-left:0;border-left:none;}
  .resenas-top,.insta-top,.casos-header{flex-direction:column;align-items:flex-start;gap:1rem;}
  .casos-header p{text-align:left;}
  nav .nav-links{display:none;}
  .intro-logo{bottom:-10px;right:0;}
  .f-row,.calc-confirm-fields,.cal-confirm-fields{grid-template-columns:1fr;}
  .tl-wrap::before{left:14px;}
  .tl-item{grid-template-columns:1fr;padding-left:2.25rem;}
  .tl-item:nth-child(odd) .tl-card,.tl-item:nth-child(even) .tl-card{grid-column:1;}
  .tl-dot{left:8px;}
  .trust-in{flex-direction:column;gap:1.25rem;}
  .trust-div{width:28px;height:1px;}
  .wa-btn span{display:none;}
  .wa-btn{padding:13px;}
  .cookie-bar{flex-direction:column;align-items:flex-start;}
  .mapa-in{grid-template-columns:1fr;}
  .mapa-embed iframe{min-height:260px;}
  .chat-box{left:1rem;right:1rem;width:auto;}
  .calc-options{grid-template-columns:1fr;}
  .calc-opts-3{grid-template-columns:1fr 1fr;}
  .cal-times{grid-template-columns:repeat(3,1fr);}
}
