:root{--paper:#F9F8F3;--cream:#F2EFE7;--ivory:#FFFFFF;--sand:#E9E8E3;--text:#3D3A33;--text2:#4D463A;--muted:#7E7669;--gold:#B59963;--gold-d:#725B2B;--gold-l:#E1C389;--sage:#8FA294;--sage-d:#7A8C7F;--aqua:#D1E5D5;--line:rgba(61,58,51,.12);--line-2:rgba(61,58,51,.06);--shadow-soft:0 8px 40px rgba(99,94,82,.12);--shadow-amb:0 4px 40px rgba(99,94,82,.08);--serif:"Libre Caslon Text","Georgia",serif;--sans:"Plus Jakarta Sans","Inter","Segoe UI",system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1160px;margin:0 auto;padding:0 28px}html[data-lang=en] .es,html[data-lang=es] .en{display:none!important}.hdr{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;padding:16px 28px;background:rgba(251,248,243,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-2)}.hdr,.logo{align-items:center}.logo{display:inline-flex;gap:11px;font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.06em;color:var(--text);line-height:1.05;text-transform:uppercase}.logo b{color:var(--gold-d)}.logo-mark{width:42px;height:42px;border-radius:50%;flex:none;box-shadow:0 2px 10px rgba(61,58,51,.18)}footer .logo-mark{width:46px;height:46px}.logo-sub{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:2px}.tel-top{display:inline-flex;align-items:center;gap:7px;color:var(--gold-d);font-weight:700;font-size:14px;letter-spacing:.02em;white-space:nowrap}.tel-top svg{width:16px;height:16px}.tel-top:hover{color:var(--text)}@media(max-width:900px){.tel-top{font-size:13px}}@media(max-width:560px){.tel-top{display:none}}.nav{display:flex;align-items:center;gap:26px;font-size:13px;letter-spacing:.04em}.nav a{color:var(--text2);transition:color .2s}.lang,.nav a:hover{color:var(--gold-d)}.lang{background:none;border:1px solid var(--gold);font:inherit;font-size:12px;font-weight:600;letter-spacing:.08em;padding:7px 14px;border-radius:20px;cursor:pointer}.lang:hover{background:rgba(199,169,107,.12)}.mobile-menu{display:none;align-items:center;gap:8px}.mm-burger,.mm-call{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--ivory);cursor:pointer;padding:0}.mm-call{color:var(--gold-d)}.mm-burger{color:var(--text)}.mm-burger svg,.mm-call svg{width:22px;height:22px}.mm-burger .i-close,.mm-toggle,.mm-toggle:checked~.mm-burger .i-open{display:none}.mm-toggle:checked~.mm-burger .i-close{display:block}.mm-scrim{inset:0;background:rgba(74,65,57,.3);z-index:38}.mm-panel,.mm-scrim{display:none;position:fixed}.mm-panel{top:70px;left:12px;right:12px;z-index:45;background:var(--ivory);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 50px rgba(74,65,57,.2);padding:12px 14px;flex-direction:column;gap:2px}.mm-toggle:checked~.mm-scrim{display:block}.mm-toggle:checked~.mm-panel{display:flex}.mm-panel a{padding:15px 10px;font-size:17px;color:var(--text);border-bottom:1px solid var(--line-2);font-family:var(--serif)}.mm-panel a.mm-tel{color:var(--gold-d);font-weight:700;font-family:var(--sans);font-size:15px}.mm-panel .btn{margin-top:12px;justify-content:center;font-family:var(--sans);border-bottom:none}.mm-panel .mm-lang{margin-top:12px;align-self:flex-start}@media(max-width:760px){.nav{display:none}.mobile-menu{display:flex}.hdr{padding:14px 18px}section{padding:62px 0}.wrap{padding:0 20px}.hero .wrap{padding-top:78px}.hero .loc{margin-top:34px}.feature .txt{padding:34px 26px}.visit{gap:28px}footer{padding:44px 0 34px}.band{min-height:360px}}.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background-image:linear-gradient(100deg,rgba(251,248,243,.95),rgba(251,248,243,.78) 38%,rgba(251,248,243,.2) 70%,rgba(251,248,243,.45)),url(/img/hero.png);background-size:cover;background-position:100%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(251,248,243,.5),transparent 30%);pointer-events:none}@media(max-width:760px){.hero{background-image:linear-gradient(rgba(251,248,243,.86),rgba(251,248,243,.9)),url(/img/hero.png)}}.hero .wrap{position:relative;z-index:2;padding-top:90px;padding-bottom:60px}.hero .eyebrow{color:var(--gold-d)}.hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;font-size:clamp(40px,6.6vw,80px);line-height:1.08;margin:20px 0 0;max-width:16ch;color:var(--text)}.hero h1 em{font-style:italic;color:var(--gold-d)}.hero .sub{margin-top:26px;font-size:clamp(15px,1.6vw,18px);color:var(--text2);max-width:52ch;line-height:1.8}.hero .cta-row{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}.hero .loc{margin-top:44px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--text2)}.hero .loc b{color:var(--text);font-weight:600}.hero .loc .tel{color:var(--gold-d);font-weight:700;border-bottom:1px solid rgba(169,138,74,.4)}.hero .loc .tel:hover{color:var(--text)}.btn{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;letter-spacing:.03em;padding:15px 28px;border-radius:40px;transition:transform .15s,background .2s;cursor:pointer;border:none}.btn-gold{background:var(--gold);color:#fff;box-shadow:0 6px 24px rgba(114,91,43,.22)}.btn-gold:hover{background:var(--gold-d);transform:translateY(-1px);box-shadow:0 10px 30px rgba(114,91,43,.28)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--gold)}.btn-ghost:hover{background:rgba(199,169,107,.1)}section{padding:112px 0}.alt{background:var(--cream)}.sec-head{max-width:640px;margin-bottom:44px}.eyebrow{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-d);font-weight:600}h2{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;font-size:clamp(30px,4.6vw,48px);line-height:1.15;margin:14px 0 0;color:var(--text)}.lead{margin-top:16px;color:var(--text2);font-size:16.5px;line-height:1.8}.muted{color:var(--muted)}.xcards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media(max-width:900px){.xcards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.xcards{grid-template-columns:1fr}}.xcard{background:var(--ivory);border:none;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-amb);transition:transform .3s ease,box-shadow .3s ease}.xcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.xcard .ph{height:240px;background-size:cover;background-position:50%}.xcard .xc{padding:24px 26px 28px}.xcard .ic{color:var(--gold-d);line-height:0;margin-bottom:2px}.xcard .ic svg{width:30px;height:30px}.xcard h3{font-family:var(--serif);font-size:27px;font-weight:600;margin:6px 0;color:var(--text)}.xcard p{font-size:13px;color:var(--text2);line-height:1.6}.band-hero{min-height:360px;display:flex;align-items:flex-end;position:relative;background-size:cover;background-position:50%}.band-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(251,248,243,.96),rgba(251,248,243,.35) 60%,rgba(251,248,243,.5))}.band-hero .wrap{position:relative;z-index:2;padding-bottom:38px}.needs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}@media(max-width:820px){.needs{grid-template-columns:1fr 1fr}}.need{border:1px solid var(--line);border-radius:14px;padding:26px 22px;text-align:center;transition:background .2s,border-color .2s;background:var(--ivory)}.need:hover{background:rgba(169,195,181,.14);border-color:var(--sage)}.need .n{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold-d)}.need h4{font-size:15px;font-weight:600;margin:10px 0 4px;color:var(--text)}.need p{font-size:12.5px;color:var(--muted)}.feature{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--ivory);box-shadow:0 14px 40px rgba(74,65,57,.08)}@media(max-width:820px){.feature{grid-template-columns:1fr}}.feature .txt{padding:48px 44px}.feature .art{background-size:cover;background-position:50%;min-height:360px;display:flex;align-items:flex-end;padding:26px}.feature .art .tagimg{font-family:var(--serif);font-style:italic;font-size:20px;color:#fff;text-shadow:0 1px 10px rgba(74,65,57,.5)}.feature h2{font-size:clamp(28px,4vw,44px)}.feature .price-big{margin-top:20px;font-family:var(--serif);font-size:30px;color:var(--gold-d)}.mgroup{margin-bottom:40px}.mgroup h3{font-family:var(--serif);font-size:28px;color:var(--gold-d);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px}.mitem{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-2)}.mitem:last-child{border-bottom:none}.mitem .nm{font-size:15.5px;color:var(--text)}.mitem .du{font-size:12px;color:var(--muted);margin-left:8px}.mitem .pr{font-family:var(--serif);font-size:20px;color:var(--gold-d);white-space:nowrap}.dots{flex:1 1;border-bottom:1px dotted rgba(74,65,57,.28);transform:translateY(-4px)}.band{position:relative;min-height:440px;display:flex;align-items:center;justify-content:center;text-align:center;padding:60px 20px;background-image:linear-gradient(rgba(251,248,243,.72),rgba(251,248,243,.72)),url(/img/massage.png);background-size:cover;background-position:50%;background-attachment:fixed}.band .q{font-family:var(--serif);font-style:italic;font-size:clamp(24px,3.6vw,42px);color:var(--text);max-width:22ch;line-height:1.32}.band .q small{display:block;font-family:var(--sans);font-style:normal;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d);margin-top:22px}@media(max-width:760px){.band{background-attachment:scroll}}.reviews{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media(max-width:820px){.reviews{grid-template-columns:1fr}}.rev{border:1px solid var(--line-2);border-radius:16px;padding:28px 26px;background:var(--ivory);box-shadow:0 8px 24px rgba(74,65,57,.05)}.rev .stars{color:var(--gold);letter-spacing:3px;font-size:14px}.rev p{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.5;margin:14px 0 16px;color:var(--text)}.rev .who{font-size:12.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.visit{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px;align-items:center}@media(max-width:820px){.visit{grid-template-columns:1fr}}.visit dl{display:grid;grid-template-columns:auto 1fr;grid-gap:14px 22px;gap:14px 22px;margin-top:26px;font-size:14.5px}.visit dt{color:var(--gold-d);font-weight:600;letter-spacing:.04em}.visit dd{color:var(--text2)}.map{min-height:340px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--cream);position:relative}.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.02)}footer{border-top:1px solid var(--line);background:var(--cream);padding:56px 0 40px}.foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.foot .logo{font-size:24px}.foot .fcol h5{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-bottom:12px}.foot .fcol a,.foot .fcol div{display:block;font-size:13.5px;color:var(--text2);margin-bottom:7px}.foot .fcol a:hover{color:var(--gold-d)}.copyright{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center}.wa{position:fixed;right:22px;bottom:92px;z-index:50;display:flex;align-items:center;gap:10px;background:#25D366;color:#0b3d24;padding:14px 20px;border-radius:40px;font-weight:700;font-size:14px;box-shadow:0 10px 30px rgba(74,65,57,.2);transition:transform .15s}.wa:hover{transform:translateY(-2px)}.wa svg{width:20px;height:20px;flex:none}@media(max-width:600px){.wa span{display:none}.wa{padding:15px}}.page-top{padding-top:120px}.chat-fab{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(74,65,57,.28);transition:transform .15s}.chat-fab:hover{transform:translateY(-2px)}.chat-fab svg{width:26px;height:26px}.chat-panel{position:fixed;right:22px;bottom:92px;z-index:61;width:350px;max-width:calc(100vw - 32px);height:480px;max-height:calc(100vh - 130px);background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(74,65,57,.25)}.chat-head{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:#fff;padding:16px 18px}.chat-title{font-family:var(--serif);font-size:22px}.chat-title,.chat-title b{font-weight:600}.chat-sub{font-size:11.5px;opacity:.9;margin-top:2px}.chat-body{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--cream)}.chat-msg{max-width:82%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap}.chat-msg.bot{background:var(--ivory);color:var(--text);align-self:flex-start;border-bottom-left-radius:4px}.chat-msg.me{background:var(--sage);color:#29332e;align-self:flex-end;border-bottom-right-radius:4px}.chat-msg.typing{display:flex;gap:4px;align-items:center}.chat-msg.typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:cbt 1s infinite}.chat-msg.typing span:nth-child(2){animation-delay:.15s}.chat-msg.typing span:nth-child(3){animation-delay:.3s}@keyframes cbt{0%,60%,to{opacity:.3}30%{opacity:1}}.chat-input{display:flex;gap:8px;padding:12px;background:var(--paper);border-top:1px solid var(--line-2)}.chat-input input{flex:1 1;border:1px solid var(--line);border-radius:22px;padding:10px 15px;font-size:14px;outline:none;color:var(--text);background:#fff}.chat-input input:focus{border-color:var(--gold)}.chat-input button{border:none;background:var(--gold);color:#fff;width:42px;height:42px;border-radius:50%;cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center}.chat-input button:disabled{opacity:.5;cursor:default}.chat-input button svg{width:18px;height:18px}@media(max-width:600px){.chat-panel{height:70vh}}