:root{--verde:#0d5c4a;--verde-dk:#083d31;--dorado:#c9a84c;--pale:#eef6f3;--gris:#6b7280;--borde:#dde3e0;--bg:#f5f5f5}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:#1c1c1c;background:#fff}
a{text-decoration:none;color:inherit}
.tb{background:var(--verde-dk);color:rgba(255,255,255,.7);font-size:.78rem;padding:7px 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.tb a{color:rgba(255,255,255,.7);transition:color .2s}.tb a:hover{color:#fff}
.tb-l,.tb-r{display:flex;gap:1.25rem;align-items:center}
nav{background:#fff;border-bottom:3px solid var(--verde);padding:0 2rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px rgba(0,0,0,.07)}
.ni{max-width:1150px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px}
.nl{display:flex;align-items:center;gap:14px}
.nl svg{width:36px;height:auto}
.lt{display:flex;flex-direction:column}
.ln{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--verde-dk);letter-spacing:.06em;line-height:1}
.ls{font-size:.9rem;letter-spacing:.2em;color:var(--gris);text-transform:uppercase;margin-top:3px}
.ll{width:100%;height:1px;background:var(--dorado);margin-top:5px}
.nr{display:flex;gap:0;align-items:center}
.nr a{font-size:1.0rem;font-weight:700;color:#1c1c1c;padding:8px 15px;border-radius:4px;transition:color .2s}
.nr a:hover{color:var(--verde)}
.ncta{background:var(--verde)!important;color:#fff!important;border-radius:6px;margin-left:8px}
.ncta:hover{background:var(--verde-dk)!important}
.hero{background:var(--verde-dk);color:#fff;padding:5rem 2rem 4rem}
.hi{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.hl h1{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.2;margin-bottom:1.25rem}
.hl h1 em{color:var(--dorado);font-style:normal}
.hl p{font-size:.95rem;color:rgba(255,255,255,.7);line-height:1.8;margin-bottom:2rem;max-width:420px}
.hbs{display:flex;gap:1rem;flex-wrap:wrap}
.bgold{background:var(--dorado);color:var(--verde-dk);padding:12px 26px;border-radius:6px;font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;gap:8px;transition:all .2s;border:none;cursor:pointer}
.bgold:hover{background:#b8942a}
.bgh{background:#25d366;color:#ffffff;padding:12px 26px;border-radius:6px;font-weight:500;font-size:.9rem;display:inline-flex;align-items:center;gap:8px;transition:all .2s;cursor:pointer}
.bgh:hover{background:#1da851}
.hr{display:flex;flex-direction:column;gap:.9rem}
.hc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1.1rem 1.4rem;display:flex;align-items:center;gap:1rem}
.hci{width:40px;height:40px;background:rgba(201,168,76,.15);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hci svg{width:19px;height:19px;stroke:var(--dorado)}
.hct{font-weight:600;font-size:1.30rem;color:#fff;margin-bottom:1px}
.hcs{font-size:.90rem;color:rgba(255,255,255,.5)}
.hcb{margin-left:auto;font-size:.7rem;background:rgba(74,222,128,.15);color:#4ade80;padding:3px 9px;border-radius:10px;white-space:nowrap}
.dbar{background:var(--dorado);height:4px}
.areas{background:#111;padding:0}
.areas-header{text-align:center;padding:3.5rem 2rem 2rem;background:rgb(8, 61, 49)}
.areas-header .stag{background:rgba(238,246,243,.1);color:#a8d5c6}
.areas-header .stitle{color:#fff}
.areas-header .ssub{color:rgba(255,255,255,.5)}
.cards-strip{display:flex;height:500px;overflow:hidden}
.acard{flex:1;position:relative;overflow:hidden;cursor:pointer;transition:flex .5s cubic-bezier(.4,0,.2,1),filter .4s ease,opacity .4s ease}
.acard-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s ease}
.acard:nth-child(1) .acard-bg{background-color:#0d5c4a;background-image:radial-gradient(circle at 30% 50%,#1a7a62 0%,#083d31 100%)}
.acard:nth-child(2) .acard-bg{background-color:#1a3a5c;background-image:radial-gradient(circle at 70% 30%,#1e4d7a 0%,#0d2035 100%)}
.acard:nth-child(3) .acard-bg{background-color:#5c1a3a;background-image:radial-gradient(circle at 40% 60%,#7a1e4d 0%,#350d20 100%)}
.acard:nth-child(4) .acard-bg{background-color:#3a3a1a;background-image:radial-gradient(circle at 60% 40%,#5c5c1a 0%,#1a1a08 100%)}
.acard-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);transition:background .4s}
.acard:hover .acard-overlay{background:#083d31}
.acard:hover .acard-bg{transform:scale(1.06)}
.acard-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:content-distribution;padding:1.0rem 1.0rem}
.acard-num{font-family:'Playfair Display',serif;font-size:4.5rem;font-weight:700;color:rgba(255, 255, 255, 0.1);line-height:1;margin-bottom:.5rem;transition:color .3s}
.acard:hover .acard-num{color:rgba(255,255,255,.2)}
.acard h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.6);margin-bottom:.4rem;transition:color .3s}
.acard:hover h3{color:var(--dorado)}
.acard h2{font-family:'Playfair Display',serif;font-size:clamp(3.5rem,2vw,1.4rem);color:#fff;font-weight:700;line-height:1.2;margin-bottom:.75rem}
.acard p{font-size:.90rem;color:rgb(255, 255, 255);line-height:1.6;max-height:0;overflow:visible;transition:max-height .4s ease,opacity .4s ease;opacity:0}
.acard:hover p{max-height:120px;opacity:1}
.acard-badge{display:inline-block;margin-top:.6rem;font-size:.7rem;background:rgba(74,222,128,.15);color:#4ade80;padding:3px 10px;border-radius:10px;font-weight:600;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .4s ease}
.acard:hover .acard-badge{max-height:40px;opacity:1}
.cards-strip:has(.acard:hover) .acard:not(:hover){filter:blur(4px);opacity:.45}
section{padding:4.5rem 2rem}
.si{max-width:1150px;margin:0 auto}
.stag{display:inline-block;background:var(--verde);color:var(--bg);font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;border-radius:3px;margin-bottom:.75rem;font-weight:600}
.stitle{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,8rem);font-weight:700;color:var(--verde-dk)}
.ssub{color:var(--gris);font-size:1.3rem;margin-top:.2rem}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.simg{background:var(--pale);border-radius:8px;padding:3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;border:1px solid var(--borde)}
.simg svg{width:68px;margin-bottom:1.25rem}
.sn{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--verde-dk);font-weight:700;text-align:center;letter-spacing:.06em}
.ss2{font-size:1.0rem;letter-spacing:.2em;color:var(--verde);text-transform:uppercase;margin-top:4px;text-align:center}
.sl{width:270px;height:3px;background:var(--dorado);margin:7px auto}
.st2{font-size:.72rem;color:var(--gris);text-align:center}
.st p{font-size:.93rem;color:var(--gris);line-height:1.8;margin-bottom:1rem}
.mbox{background:var(--verde-dk);color:#fff;border-radius:6px;padding:1.2rem 1.4rem;margin-top:1.5rem;display:flex;align-items:center;gap:1rem}
.mbox svg{width:26px;height:26px;stroke:var(--dorado);flex-shrink:0}
.mbox p{font-size:.8rem;color:rgba(255,255,255,.6);margin:0}
.mbox strong{font-size:.92rem;color:#fff;display:block}
.zonas{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}
.ztag{background:var(--pale);color:var(--verde);font-size:.78rem;padding:4px 12px;border-radius:3px;font-weight:500}
.turnos{background:var(--verde-dk)}
.turnos .stag{background:rgba(201,168,76,.15);color:var(--dorado)}
.turnos .stitle{color:#fff}
.turnos .ssub{color:rgba(255,255,255,.5)}
.tl{display:grid;grid-template-columns:1fr 1.5fr;gap:2.5rem;margin-top:2.5rem}
.ti h3{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--dorado);margin-bottom:.75rem}
.pt{border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden;margin-bottom:1.5rem}
.pr{display:flex;justify-content:space-between;padding:.8rem 1rem;font-size:.875rem;border-bottom:1px solid rgba(255,255,255,.07)}
.pr:last-child{border-bottom:none}
.pr span:first-child{color:rgb(255, 255, 255)}
.pr span:last-child{color:#fff;font-weight:600}
.bwao{background:#25d366;align-items:center;gap:8px;color:#ffffff;padding:10px 18px;border-radius:6px;font-size:.84rem;font-weight:500;transition:all .2s;margin-top:.5rem}
.bwao:hover{background:#1da851}
.fc{background:#fff;border-radius:8px;padding:2rem}
.fc h3{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--verde-dk);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--borde)}
.fg{margin-bottom:1rem}
.fg label{display:block;font-size:.73rem;font-weight:700;color:var(--verde-dk);margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em}
.fg input,.fg select,.fg textarea{width:100%;padding:9px 12px;border:1px solid var(--borde);border-radius:5px;font-family:'Inter',sans-serif;font-size:.875rem;color:#1c1c1c;background:#fff;outline:none;transition:border .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--verde)}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.alb-lab{font-size:.82rem;color:#166534;background:#dcfce7;border:1px solid #86efac;padding:8px 12px;border-radius:5px;margin-top:5px;display:none}
.alb-otras{font-size:.82rem;color:#92570a;background:#fef3e2;border:1px solid #fcd34d;padding:8px 12px;border-radius:5px;margin-top:5px;display:none}
.sbtn{width:100%;background:var(--verde);color:#fff;border:none;padding:12px;border-radius:6px;font-size:.92rem;font-weight:600;cursor:pointer;margin-top:.75rem;font-family:'Inter',sans-serif;transition:background .2s}
.sbtn:hover{background:var(--verde-dk)}
.ok{background:#dcfce7;border:1px solid #86efac;border-radius:6px;padding:.9rem;text-align:center;color:#166534;font-size:.875rem;margin-top:.75rem;display:none}
.cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.25rem;margin-top:2rem}
.cc{background:#fff;border:1px solid var(--borde);border-radius:6px;padding:1.5rem;border-top:3px solid var(--dorado)}
.cc h4{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gris);margin-bottom:.5rem}
.cc p{font-size:.9rem;color:#1c1c1c;font-weight:500;line-height:1.5}
.cc small{font-size:.78rem;color:var(--gris);display:block;margin-top:2px}
.cbtn{display:inline-flex;align-items:center;gap:7px;margin-top:1rem;font-size:.82rem;font-weight:600;padding:8px 16px;border-radius:5px;transition:all .2s;color:#fff}
.cwa{background:#25d366}.cwa:hover{background:#1da851}
.cem{background:var(--verde)}.cem:hover{background:var(--verde-dk)}
.cma{background:var(--verde)}.cma:hover{background:var(--verde-dk)}
footer{background:var(--verde-dk);color:rgba(255,255,255,.55);padding:3rem 2rem 1.5rem}
.fi{max-width:1150px;margin:0 auto}
.fg2{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem}
.fbn{font-family:'Playfair Display',serif;color:#fff;font-size:1.15rem;margin-bottom:.5rem}
.fb p{font-size:.82rem;line-height:1.7;max-width:260px}
.fc2 h5{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--dorado);margin-bottom:.9rem}
.fc2 p,.fc2 a{font-size:.83rem;line-height:1.9;color:rgba(255,255,255,.55);display:block;transition:color .2s}
.fc2 a:hover{color:#fff}
.fb2{border-top:1px solid rgba(255,255,255,.08);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.fb2 p{font-size:.75rem}
.waf{position:fixed;bottom:26px;right:26px;z-index:999;background:#25d366;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(37,211,102,.4);transition:transform .2s}
.waf:hover{transform:scale(1.08)}
.waf svg{width:28px;height:28px;fill:#fff}
@media(max-width:750px){.hi,.sg,.tl{grid-template-columns:1fr}.fr2{grid-template-columns:1fr}.fg2{grid-template-columns:1fr}.tb{display:none}.nr a:not(.ncta){display:none}.cards-strip{flex-direction:column;height:auto}.acard{min-height:220px;flex:none}.acard p{max-height:none;opacity:1}.acard-badge{max-height:none;opacity:1}.cards-strip:has(.acard:hover) .acard:not(:hover){filter:none;opacity:1}}