:root{
  --bg:#f7f4ee;--paper:#fbfaf7;--paper2:#f3efe7;--green:#314d3d;--green-dark:#22392d;--green2:#3b5848;--ink:#191c18;--muted:#666b65;--gold:#a97749;--line:#dfddd7;--white:#fff;
  --shadow:0 18px 60px rgba(39,54,45,.10);--shadow-soft:0 12px 36px rgba(39,54,45,.08);--radius:18px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}
a{color:inherit}.shell{width:min(1180px,calc(100% - 64px));margin:auto}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.topline{height:34px;background:var(--green-dark);color:#eef3ef;font-size:10px;letter-spacing:.08em}.topline-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.topline a{text-decoration:none;font-weight:700}.topline a:hover{opacity:.78}
.site-header{height:104px;background:rgba(248,245,239,.96);border-bottom:1px solid rgba(223,221,215,.75);display:flex;align-items:center;position:sticky;top:0;z-index:100;backdrop-filter:blur(16px);transition:box-shadow .3s,height .3s}.site-header.scrolled{height:84px;box-shadow:0 8px 35px rgba(30,45,36,.08)}.nav-wrap{display:flex;align-items:center;justify-content:space-between}.brand img{width:150px;height:auto;display:block}.main-nav{display:flex;align-items:center;gap:28px}.main-nav>a{font-size:10.5px;color:#171a17;text-decoration:none;font-weight:700;letter-spacing:.04em;position:relative}.main-nav>.nav-link:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--green);transition:right .25s}.main-nav>.nav-link:hover:after,.main-nav>.nav-link.active:after{right:0}.main-nav>a:hover{color:var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;border-radius:8px;padding:15px 21px;font-size:10.5px;font-weight:700;letter-spacing:.05em;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;cursor:pointer;border:0}.btn:hover{transform:translateY(-2px)}.btn svg{width:16px;height:16px}.btn-primary{background:var(--green);color:white;box-shadow:0 8px 24px rgba(49,77,61,.18)}.btn-primary:hover{background:var(--green-dark);box-shadow:0 12px 28px rgba(49,77,61,.25)}.btn-outline{border:1px solid #bcbab4;color:#27352d;background:rgba(255,255,255,.28)}.btn-outline:hover{background:#fff;border-color:#9ca69f}.nav-cta{padding:14px 18px!important;color:white!important}.menu-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--green);margin:5px 0;transition:.25s}
.hero{background:linear-gradient(180deg,#faf8f4 0%,#f9f6f0 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:48% 52%;min-height:510px}.hero-copy{padding:63px 28px 42px 6px;position:relative;z-index:2}.hero-badge{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.28em;font-weight:700;margin-bottom:20px;color:#3d453f}.hero-badge span{width:26px;height:1px;background:var(--gold)}.hero h1,.section-heading h2,.about h2,.professionals h2,.contact h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;margin:0}.hero h1{font-size:50px;line-height:1.12;letter-spacing:-.025em}.hero h1 em{color:#385746;font-weight:500}.lead{max-width:570px;font-size:13px;line-height:1.8;margin:22px 0 27px;color:#343a35}.hero-actions{display:flex;gap:15px}.btn-arrow span{font-size:15px;transition:transform .2s}.btn-arrow:hover span{transform:translateX(4px)}
.trust-row{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr)}.trust-row>div{display:flex;align-items:center;gap:10px;padding:0 15px;border-right:1px solid #d9d8d2}.trust-row>div:first-child{padding-left:0}.trust-row>div:last-child{border-right:0}.trust-icon{width:32px;height:32px;color:#415a4b;flex:0 0 32px}.trust-icon svg{width:100%;height:100%}.trust-row span:last-child{font-size:8.5px;line-height:1.45;font-weight:700;letter-spacing:.02em}
.hero-visual{position:relative;min-height:510px}.hero-image{position:absolute;inset:0;background:url('assets/hero-recepcion.jpg') center/cover no-repeat;border-top-left-radius:110px}.hero-image:after{content:"";position:absolute;inset:0;border-top-left-radius:110px;background:linear-gradient(120deg,rgba(255,255,255,.04),transparent 48%)}.hero-float-card{position:absolute;left:-32px;bottom:28px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.7)}.float-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:var(--green);color:#fff}.float-icon svg{width:18px;height:18px;stroke-width:2}.hero-float-card strong{display:block;font-family:"Playfair Display",serif;font-size:15px}.hero-float-card small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.service-strip{background:linear-gradient(110deg,#3b5b49 0%,#2c4739 100%);color:#fff;position:relative;overflow:hidden}.service-strip:before{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-150px;top:-140px}.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:150px}.strip-grid article{display:flex;gap:18px;padding:31px 28px 25px;border-right:1px solid rgba(255,255,255,.15);transition:background .25s}.strip-grid article:hover{background:rgba(255,255,255,.055)}.strip-grid article:last-child{border-right:0}.strip-grid .icon{width:42px;height:42px;color:#e8e2d5;flex:0 0 42px}.strip-grid .icon svg{width:100%;height:100%}.strip-grid h3{font-size:11.5px;margin:0 0 8px;letter-spacing:.04em}.strip-grid p{font-size:10px;line-height:1.65;color:#f3f3ef;margin:0 0 11px}.strip-grid a{font-size:9.5px;color:#f2eee5;text-decoration:none}.strip-grid a span{display:inline-block;transition:transform .2s}.strip-grid a:hover span{transform:translateX(4px)}
.section{padding:82px 0}.eyebrow{font-size:10.5px;letter-spacing:.28em;font-weight:700;margin:0 0 12px;color:#343934}.section-heading{text-align:center;max-width:760px;margin:0 auto}.section-heading h2{font-size:34px;line-height:1.2}.section-intro{max-width:620px;margin:13px auto 0;color:var(--muted);font-size:12.5px;line-height:1.7}.pulse-line{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:7px}.pulse-line span{width:30px;height:1px;background:#c1ae96}.pulse-line svg{width:44px;height:14px;color:var(--gold);stroke-width:1.5}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px}.treatment-card{position:relative;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid rgba(49,77,61,.07);transition:transform .3s,box-shadow .3s}.treatment-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(39,54,45,.14)}.card-image{height:175px;overflow:hidden;position:relative}.card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(26,40,32,.18))}.treatment-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.treatment-card:hover img{transform:scale(1.045)}.card-number{position:absolute;right:13px;top:11px;z-index:2;color:#fff;font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.08em}.round-icon{position:absolute;top:149px;left:24px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;border:3px solid #f7f3eb;z-index:3}.round-icon svg{width:25px;height:25px}.card-body{padding:37px 22px 23px}.card-body h3{font-family:"Playfair Display",Georgia,serif;font-size:20px;margin:0 0 10px}.card-body p{font-size:11px;line-height:1.65;color:var(--muted);margin:0 0 17px}.card-body a{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-decoration:none;color:var(--green)}.card-body a span{display:inline-block;transition:transform .2s}.card-body a:hover span{transform:translateX(4px)}
.about{background:var(--paper2);position:relative;overflow:hidden}.about:after{content:"P";position:absolute;right:-30px;bottom:-145px;font-family:"Playfair Display",serif;font-size:390px;line-height:1;color:rgba(49,77,61,.035)}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:85px;align-items:center;position:relative;z-index:1}.about h2{font-size:39px;line-height:1.2;max-width:540px}.about h2 em{font-weight:500;color:var(--green)}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#505750;max-width:590px;margin:20px 0 25px}.about-points{border-top:1px solid #d8d4ca;border-bottom:1px solid #d8d4ca;padding:12px 0;margin-bottom:20px}.about-points div{display:flex;align-items:center;gap:16px;padding:9px 0}.about-points strong{font-family:"Playfair Display",serif;color:var(--gold);font-size:13px}.about-points span{font-size:11px;font-weight:600}.text-link{text-decoration:none;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.03em}.text-link span{display:inline-block;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.about-panel{background:var(--green);color:#fff;border-radius:26px;padding:44px 42px;min-height:330px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 24px 60px rgba(35,57,45,.18);position:relative;overflow:hidden}.about-panel:before{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-70px;top:-60px}.about-stat strong{font-family:"Playfair Display",serif;font-size:58px;line-height:1}.about-stat span{display:block;font-size:10px;letter-spacing:.05em;margin-top:5px;color:#dfe8e2}.about-divider{height:1px;background:rgba(255,255,255,.18);margin:25px 0}.about-panel blockquote{font-family:"Playfair Display",serif;font-size:22px;line-height:1.4;margin:0;font-style:italic}.mini-badge{display:flex;align-items:center;gap:8px;margin-top:25px;font-size:8px;letter-spacing:.18em;color:#dfe8e2}.mini-badge span{width:20px;height:1px;background:#c9aa88}
.professionals{background:#fff}.professional-box{background:linear-gradient(110deg,var(--green-dark),var(--green));border-radius:24px;padding:55px 60px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:45px;position:relative;overflow:hidden}.professional-box:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:18%;top:-170px}.light{color:#dce5df}.professionals h2{font-size:36px;line-height:1.2;max-width:670px}.professional-box p:not(.eyebrow){font-size:12px;color:#dce5df}.btn-light{background:#f7f3eb;color:var(--green);white-space:nowrap;position:relative;z-index:1}.btn-light:hover{background:#fff}
.contact{background:#f8f5ef;border-top:1px solid #e6e1d7}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.contact h2{font-size:42px;line-height:1.15}.contact h2 em{font-weight:500;color:var(--green)}.contact-lead{font-size:12.5px;line-height:1.8;color:var(--muted);margin:20px 0 28px;max-width:480px}.contact-methods{display:grid;gap:10px}.contact-method{display:flex;align-items:center;gap:13px;padding:14px 0;text-decoration:none;border-bottom:1px solid #ded9cf}.method-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#e8ece9;color:var(--green)}.method-icon svg{width:19px;height:19px}.contact-method small{display:block;font-size:8px;letter-spacing:.12em;color:#81867f;margin-bottom:2px}.contact-method strong{font-size:11px;font-weight:600}.social-block{display:flex;align-items:center;gap:18px;margin-top:28px}.social-block>span{font-size:8px;font-weight:700;letter-spacing:.18em;color:#7a807a}.social-links{display:flex;gap:8px}.social-link{width:38px;height:38px;border-radius:50%;border:1px solid #d8d3c9;display:grid;place-items:center;color:var(--green);transition:.2s}.social-link svg{width:17px;height:17px}.social-link:hover{background:var(--green);color:#fff;border-color:var(--green);transform:translateY(-2px)}
.contact-card{background:#fff;border-radius:22px;padding:32px;box-shadow:var(--shadow);border:1px solid rgba(49,77,61,.07)}.form-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:24px}.form-icon{width:42px;height:42px;border-radius:12px;background:#edf1ee;color:var(--green);display:grid;place-items:center;flex:0 0 42px}.form-icon svg{width:20px;height:20px}.form-heading small{font-size:8px;letter-spacing:.14em;color:#7a807a;font-weight:700}.form-heading h3{font-family:"Playfair Display",serif;font-size:22px;margin:2px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block}.field.full,.checkbox.full{grid-column:1/-1}.field>span{display:block;font-size:9px;font-weight:700;letter-spacing:.04em;margin-bottom:7px;color:#4c544e}.field input,.field select,.field textarea{width:100%;border:1px solid #dedbd4;background:#fbfaf7;border-radius:9px;padding:12px 13px;font:inherit;font-size:11px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.field textarea{resize:vertical;min-height:105px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#829486;box-shadow:0 0 0 3px rgba(49,77,61,.08);background:#fff}.field input.invalid,.field textarea.invalid{border-color:#a45b55}.checkbox{display:flex;align-items:flex-start;gap:8px;font-size:9px;line-height:1.5;color:#70766f}.checkbox input{accent-color:var(--green);margin-top:2px}.submit-btn{width:100%;margin-top:18px}.form-note{text-align:center;font-size:8.5px;color:#8a8e88;margin:9px 0 0}.form-status{font-size:10px;min-height:16px;text-align:center;margin-top:7px;color:var(--green);font-weight:600}
footer{background:#f1ede5;border-top:1px solid #ded9cf}.footer-main{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:55px;padding:48px 0 38px}.footer-brand img{width:165px;height:auto;display:block}.footer-brand p{font-size:10.5px;line-height:1.7;color:#666c66;max-width:270px;margin-top:14px}.footer-col{display:flex;flex-direction:column;gap:9px}.footer-col strong{font-size:8.5px;letter-spacing:.15em;margin-bottom:4px}.footer-col a{text-decoration:none;font-size:9.5px;color:#59615b}.footer-col a:hover{color:var(--green)}.footer-social{display:flex;gap:7px;margin-top:4px}.footer-social a{width:30px;height:30px;border:1px solid #d2cec5;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:700}.footer-social a:hover{background:var(--green);color:#fff;border-color:var(--green)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #dcd7ce;padding:15px 0 19px;font-size:8.5px;color:#7e827d}
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;align-items:center;gap:9px;background:#2e6a4b;color:#fff;padding:12px 16px;border-radius:999px;text-decoration:none;box-shadow:0 12px 35px rgba(30,72,49,.3);font-size:10px;font-weight:700;transition:.2s}.whatsapp-float svg{width:20px;height:20px}.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(30,72,49,.36)}.back-top{position:fixed;right:27px;bottom:82px;z-index:89;width:39px;height:39px;border-radius:50%;border:1px solid #d9d6cf;background:rgba(255,255,255,.9);color:var(--green);display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;cursor:pointer;box-shadow:0 7px 20px rgba(32,45,38,.12)}.back-top.show{opacity:1;pointer-events:auto;transform:none}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.treatment-card,.btn,.social-link,.whatsapp-float{transition:none}}
@media (max-width:1080px){.main-nav{gap:18px}.main-nav>a{font-size:9.5px}.shell{width:min(100% - 40px,1180px)}.hero h1{font-size:43px}.hero-copy{padding-right:20px}.trust-row>div{padding:0 10px}.contact-grid{gap:45px}.professional-box{padding:48px 45px}}
@media (max-width:860px){.topline{display:none}.site-header{height:90px}.site-header.scrolled{height:78px}.brand img{width:136px}.menu-toggle{display:block;z-index:102}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main-nav{display:flex;position:fixed;z-index:101;top:90px;left:0;right:0;height:calc(100vh - 90px);background:#f8f5ef;padding:30px 28px;flex-direction:column;align-items:flex-start;gap:22px;transform:translateX(100%);opacity:0;pointer-events:none;transition:.28s}.site-header.scrolled .main-nav{top:78px;height:calc(100vh - 78px)}.main-nav.open{transform:none;opacity:1;pointer-events:auto}.main-nav>a{font-size:12px}.nav-cta{margin-top:8px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:48px 0 35px}.hero h1{font-size:42px}.hero-visual{min-height:410px}.hero-image{border-top-left-radius:80px}.hero-float-card{left:18px}.trust-row{margin-top:34px}.strip-grid,.cards{grid-template-columns:1fr 1fr}.strip-grid article:nth-child(2){border-right:0}.strip-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}.about-grid,.contact-grid{grid-template-columns:1fr;gap:38px}.about-panel{min-height:280px}.professional-box{flex-direction:column;align-items:flex-start}.footer-main{grid-template-columns:1.4fr 1fr 1fr}.footer-main .footer-col:last-child{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap}.footer-main .footer-col:last-child strong{width:100%}}
@media (max-width:560px){.shell{width:calc(100% - 30px)}.site-header{height:82px}.site-header.scrolled{height:74px}.main-nav{top:82px;height:calc(100vh - 82px)}.site-header.scrolled .main-nav{top:74px;height:calc(100vh - 74px)}.brand img{width:125px}.hero-copy{padding-top:39px}.hero h1{font-size:34px}.lead{font-size:12px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.trust-row{grid-template-columns:1fr 1fr;gap:20px 10px}.trust-row>div{border:0;padding:0}.hero-visual{min-height:315px}.hero-image{border-top-left-radius:55px}.hero-float-card{left:12px;right:12px;bottom:14px}.strip-grid,.cards{grid-template-columns:1fr}.strip-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.section{padding:62px 0}.section-heading h2{font-size:29px}.card-image{height:220px}.round-icon{top:194px}.about h2,.contact h2{font-size:32px}.about-panel{padding:34px 28px}.about-stat strong{font-size:48px}.about-panel blockquote{font-size:19px}.professional-box{padding:38px 28px;border-radius:18px}.professionals h2{font-size:29px}.contact-card{padding:24px 18px;border-radius:18px}.form-grid{grid-template-columns:1fr}.field.full,.checkbox.full{grid-column:auto}.footer-main{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:6px}.whatsapp-float{right:15px;bottom:15px;padding:12px}.whatsapp-float span{display:none}.back-top{right:17px;bottom:71px}}


/* ===== Premium visual refresh — logo untouched ===== */
:root{--mint:#dfe9e2;--sage:#789083;--gold-soft:#c8a47d}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 10% 10%,rgba(61,91,73,.055),transparent 26%),radial-gradient(circle at 88% 34%,rgba(169,119,73,.045),transparent 24%)}
.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(49,77,61,.22),transparent)}
.brand{position:relative}.brand:after{content:"";position:absolute;inset:12% -16%;background:radial-gradient(ellipse,rgba(255,255,255,.68),transparent 70%);z-index:-1;opacity:.55}

.hero-copy:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(49,77,61,.065),transparent 69%);left:-75px;top:8px;pointer-events:none}
.hero-badge{padding:7px 11px 7px 0;border-radius:999px}.hero-badge:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(169,119,73,.1);margin-left:2px}
.hero-image{box-shadow:inset 0 0 0 1px rgba(255,255,255,.36)}
.hero-float-card{overflow:hidden}.hero-float-card:after{content:"";position:absolute;inset:0;transform:translateX(-130%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.72),transparent);animation:softShine 5.8s ease-in-out infinite}
@keyframes softShine{0%,62%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}

.trust-icon,.service-item .icon,.round-icon,.method-icon,.form-icon,.float-icon{position:relative;transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
.trust-icon:after,.method-icon:after,.form-icon:after{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1px solid rgba(49,77,61,.08);opacity:0;transform:scale(.86);transition:.25s}
.trust-row>div:hover .trust-icon{transform:translateY(-3px)}.trust-row>div:hover .trust-icon:after,.contact-method:hover .method-icon:after,.contact-card:hover .form-icon:after{opacity:1;transform:scale(1)}

.service-item{position:relative;isolation:isolate}.service-item:before{content:"";position:absolute;inset:10px 8px;border-radius:14px;background:linear-gradient(140deg,rgba(255,255,255,.075),rgba(255,255,255,.02));opacity:0;transition:.28s;z-index:-1}.service-item:hover:before{opacity:1}.service-item:hover .icon{transform:translateY(-4px) scale(1.04)}
.service-item .icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 20px rgba(17,31,23,.12)}
.service-item .icon svg{width:25px;height:25px;stroke-width:1.55}

.treatment-card{position:relative;isolation:isolate}.treatment-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}
.treatment-card:hover .round-icon{transform:translateY(-4px) rotate(-3deg);box-shadow:0 12px 26px rgba(49,77,61,.22)}
.round-icon{background:linear-gradient(145deg,#3d5d4a,#294333);box-shadow:0 9px 22px rgba(49,77,61,.2),inset 0 1px 0 rgba(255,255,255,.15)}
.round-icon svg{stroke-width:1.6}
.card-number{backdrop-filter:blur(8px);box-shadow:0 5px 18px rgba(28,41,33,.12)}

.about-panel,.professional-box{box-shadow:0 28px 80px rgba(35,57,45,.17)}
.professional-box:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.065),transparent 65%);left:-135px;bottom:-230px}
.btn-light{box-shadow:0 10px 26px rgba(0,0,0,.1)}

.contact-method{border-radius:14px;padding:13px 12px;margin-left:-12px;margin-right:-12px;border-bottom-color:transparent;transition:.25s}.contact-method:hover{background:rgba(49,77,61,.045);transform:translateX(3px)}
.method-icon{background:linear-gradient(145deg,#edf2ee,#e1e9e4);box-shadow:inset 0 1px 0 #fff,0 7px 18px rgba(49,77,61,.08)}
.contact-card{position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--green),#739080,var(--gold-soft))}.form-icon{background:linear-gradient(145deg,#edf2ee,#e2ebe5);box-shadow:inset 0 1px 0 #fff}

.social-link,.footer-social a{position:relative;overflow:hidden;box-shadow:0 7px 18px rgba(49,77,61,.065);background:rgba(255,255,255,.5)}
.social-link:before,.footer-social a:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.15));opacity:.45;pointer-events:none}
.social-link:hover,.footer-social a:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 24px rgba(49,77,61,.2)}
.brand-fill{fill:currentColor!important;stroke:none!important}.brand-icon.brand-fill path,.footer-social .brand-fill path{fill:currentColor;stroke:none}.icon-dot{fill:currentColor;stroke:none}
.footer-social a{width:34px;height:34px;transition:.23s}.footer-social a svg{width:16px;height:16px;position:relative;z-index:1}.footer-social a:hover svg{transform:scale(1.06)}
footer{position:relative;overflow:hidden}footer:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;border:1px solid rgba(49,77,61,.055);right:-210px;top:-260px}
.footer-brand img{filter:drop-shadow(0 5px 12px rgba(49,77,61,.06))}

.whatsapp-float{background:linear-gradient(135deg,#2f7653,#245f43);border:1px solid rgba(255,255,255,.19);box-shadow:0 16px 42px rgba(30,72,49,.34),inset 0 1px 0 rgba(255,255,255,.18)}
.whatsapp-float:after{content:"";position:absolute;inset:-5px;border-radius:999px;border:1px solid rgba(46,118,83,.28);animation:waPulse 2.8s ease-out infinite;pointer-events:none}
.wa-icon-wrap{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}.wa-icon-wrap svg{width:18px;height:18px;stroke-width:1.8}
@keyframes waPulse{0%,35%{opacity:0;transform:scale(.92)}55%{opacity:.55}100%{opacity:0;transform:scale(1.13)}}
.back-top{font-size:18px;backdrop-filter:blur(12px)}

@media (prefers-reduced-motion:reduce){.hero-float-card:after,.whatsapp-float:after{animation:none}}

/* FIX 2026-08-10: iconos de tratamientos anclados al borde de la imagen.
   Evita que entren en el flujo del contenido y tapen el enlace de cada tarjeta. */
.treatment-card .round-icon{
  position:absolute;
  top:149px;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  z-index:4;
}
.treatment-card:hover .round-icon{
  transform:translate(-50%,-4px) rotate(-3deg);
}
.treatment-card .card-body{
  padding-top:42px;
}
@media (max-width:560px){
  .treatment-card .round-icon{top:194px;}
}

/* FINAL: las fotos ya incluyen su propio icono. Se elimina el icono HTML duplicado. */
.treatment-card .round-icon{display:none!important}
.treatment-card .card-body{padding-top:28px!important}
@media(max-width:560px){.treatment-card .card-body{padding-top:30px!important}}

/* ===== Tratamientos: fotos limpias + iconografía premium ===== */
/* Las fotos fueron recortadas físicamente para eliminar los iconos incrustados. */
.treatment-card .card-image{
  height:172px;
  background:#eee9e1;
}
.treatment-card .card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.treatment-card .card-image:after{
  background:linear-gradient(180deg,transparent 64%,rgba(29,48,37,.10));
}
.treatment-card .card-body{
  padding:24px 22px 24px!important;
}
.card-title-row{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:13px;
}
.card-title-row h3{
  margin:0!important;
  line-height:1.15;
}
.card-pro-icon{
  width:43px;
  height:43px;
  flex:0 0 43px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(145deg,#3f6250,#2a4737);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 9px 22px rgba(42,71,55,.18), inset 0 1px 0 rgba(255,255,255,.22);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
.card-pro-icon:before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.12);
}
.card-pro-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
  position:relative;
  z-index:1;
}
.treatment-card:hover .card-pro-icon{
  transform:translateY(-2px);
  box-shadow:0 13px 28px rgba(42,71,55,.24), inset 0 1px 0 rgba(255,255,255,.25);
}
.treatment-card .card-body p{margin-bottom:18px}
@media(max-width:560px){
  .treatment-card .card-image{height:205px}
  .treatment-card .card-body{padding:24px 22px 26px!important}
  .card-pro-icon{width:45px;height:45px;flex-basis:45px}
}

/* FIX DEFINITIVO 2026-08-10: las fotos de tratamientos fueron recortadas
   para eliminar por completo los círculos/íconos incrustados en el JPG. */
.treatment-card .card-image{
  height:165px!important;
  overflow:hidden!important;
  background:#eee9e1;
}
.treatment-card .card-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 30%!important;
}
@media(max-width:560px){
  .treatment-card .card-image{height:205px!important;}
}
\n\n/* ===== Ubicación / Google Maps ===== */\n.location-block{margin-top:58px}.location-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}.location-head h2{margin:5px 0 10px;font-family:"Playfair Display",serif;font-size:38px;line-height:1.08;color:var(--green-dark,#203c2d)}.location-head h2 em{font-weight:500;color:var(--gold,#a97749)}.location-head p:last-child{margin:0;color:#66736b;font-size:15px}.location-btn{flex:0 0 auto;white-space:nowrap}.map-card{position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(49,77,61,.12);background:#e8eee9;box-shadow:0 22px 58px rgba(35,57,45,.14)}.map-card:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.52);border-radius:inherit}.map-card iframe{display:block;width:100%;height:430px;border:0;filter:saturate(.88) contrast(.96)}\n@media(max-width:800px){.location-block{margin-top:42px}.location-head{align-items:flex-start;flex-direction:column;gap:18px}.location-head h2{font-size:32px}.location-btn{width:100%;justify-content:center}.map-card{border-radius:18px}.map-card iframe{height:360px}}\n@media(max-width:560px){.location-block{margin-top:34px}.location-head h2{font-size:29px}.map-card iframe{height:320px}}\n
/* ===== WhatsApp flotante: fix definitivo desktop + mobile ===== */
.whatsapp-float{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2147483000!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:62px;
  padding:7px 8px 7px 16px!important;
  border-radius:999px!important;
  background:#215f43!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 14px 36px rgba(20,60,42,.30)!important;
  isolation:isolate;
  -webkit-tap-highlight-color:transparent;
}
.whatsapp-float .wa-label{display:flex!important;flex-direction:column;line-height:1.08;text-align:right}
.whatsapp-float .wa-label strong{font-size:12px;letter-spacing:.01em;font-weight:700}
.whatsapp-float .wa-label small{font-size:9px;opacity:.82;margin-top:3px;font-weight:500}
.whatsapp-float .wa-icon-wrap{
  width:48px!important;height:48px!important;flex:0 0 48px!important;
  border-radius:50%!important;display:grid!important;place-items:center!important;
  background:#25D366!important;border:2px solid rgba(255,255,255,.95)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.18)!important;
}
.whatsapp-float .wa-logo{width:30px!important;height:30px!important;display:block!important;fill:#fff!important;stroke:none!important}
.whatsapp-float .wa-logo path{fill:#fff!important;stroke:none!important}
.whatsapp-float:after{display:none!important}
.back-top{z-index:2147482999!important}

@media (max-width:560px){
  .whatsapp-float{
    right:16px!important;
    bottom:calc(18px + env(safe-area-inset-bottom, 0px))!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    gap:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .whatsapp-float .wa-icon-wrap{
    width:68px!important;height:68px!important;flex-basis:68px!important;
    border:4px solid #fff!important;
    box-shadow:0 10px 28px rgba(21,78,53,.32),0 0 0 1px rgba(33,95,67,.14)!important;
  }
  .whatsapp-float .wa-logo{width:40px!important;height:40px!important}
  .whatsapp-float .wa-label{
    display:flex!important;
    position:absolute!important;
    right:58px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    min-width:112px!important;
    padding:9px 18px 9px 12px!important;
    border-radius:14px 0 0 14px!important;
    background:#285f46!important;
    color:#fff!important;
    box-shadow:0 8px 22px rgba(24,69,48,.22)!important;
    pointer-events:none!important;
  }
  .whatsapp-float .wa-label strong{font-size:11px!important}
  .whatsapp-float .wa-label small{font-size:9px!important}
  .back-top{right:25px!important;bottom:calc(101px + env(safe-area-inset-bottom, 0px))!important}
}

@media (max-width:380px){
  .whatsapp-float .wa-label{display:none!important}
}
