:root{--ink:#3B303C;--purple:#6f3f78;--purple2:#8d6b9a;--sage:#7e938d;--cream:#F7F3EE;--sand:#E9E1D8;--white:#fff;--line:#ddd5cd;--shadow:0 18px 50px rgba(59,48,60,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.62}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1180px,92%);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.76rem;font-weight:850;color:var(--sage)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08}h1{font-size:clamp(2.8rem,6vw,5.6rem);margin:.18em 0 .28em}h2{font-size:clamp(2.1rem,4vw,3.5rem);margin:.18em 0 .6em}h3{font-size:1.4rem}p{margin:.5em 0 1em}.lead{font-size:1.14rem;max-width:760px}.muted{opacity:.74}.notice{font-size:.88rem;opacity:.78}header{position:sticky;top:0;z-index:20;background:rgba(248,244,238,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;text-decoration:none}.brand img{width:275px;height:auto;max-height:92px;object-fit:contain}.links{display:flex;gap:22px;align-items:center;font-size:.91rem;font-weight:600;letter-spacing:.015em}.links a{text-decoration:none;transition:opacity .18s ease,color .18s ease}.links a:hover{opacity:.68}.hero{padding:78px 0 62px;background:linear-gradient(135deg,#faf7f2 0%,#f0e8e2 65%,#e5d8d0 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .72fr;gap:52px;align-items:center}.hero-photo{position:relative;height:650px;max-height:650px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#fff;touch-action:pan-y}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;will-change:opacity}.hero-carousel-slide.is-active{opacity:1;z-index:1}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:13px 20px;border-radius:999px;background:var(--ink);color:#fff;font-weight:800;border:1px solid var(--ink)}.btn.alt{background:transparent;color:var(--ink)}.btn.purple{background:var(--purple);border-color:var(--purple)}section{padding:76px 0}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.section-head p{max-width:580px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 10px 32px rgba(37,51,47,.05)}.service img{width:100%;height:auto;object-fit:contain;object-position:center top;background:#fff}.service-body{padding:22px}.service h3{margin:.1em 0 .45em}.trust{background:var(--ink);color:#fff}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.stat{padding:24px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);border-radius:22px}.stat strong{font-family:Georgia,serif;font-size:1.7rem}.about-grid{display:grid;grid-template-columns:.72fr 1.1fr;gap:46px;align-items:center}.about-photo{border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.about-photo img{width:100%;height:610px;object-fit:cover;object-position:center top}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:24px}.credential{padding:15px 0;border-bottom:1px solid var(--line)}.beforeafter{background:#f1e9e2}.ba-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ba-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.ba-card img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#eee}.ba-card .cap{padding:14px 16px;font-size:.9rem}.gallery-note{max-width:880px;margin-top:22px}.cta{background:linear-gradient(135deg,#ede1dc,#e8dce7)}.cta-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}.contact-details{display:grid;gap:10px;margin-top:18px;font-size:.96rem}.contact-item{display:flex;align-items:flex-start;gap:12px;text-decoration:none;font-weight:700;line-height:1.45}.contact-item:hover{text-decoration:underline}.contact-icon{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--purple);margin-top:1px}.contact-icon svg{width:22px;height:22px;display:block}.whatsapp-icon{color:#25D366}.instagram-icon{color:inherit}.google-icon{color:inherit}.google-review-copy{display:grid;gap:3px}.google-review-copy a{text-decoration:none;width:max-content;max-width:100%}.review-rating{display:flex;align-items:center;gap:7px;font-weight:800}.review-stars{color:#fbbc04;letter-spacing:.04em;font-size:.95em;white-space:nowrap}.review-view,.review-write{display:block;font-size:.86rem;font-weight:800;color:var(--purple);text-decoration:underline!important;width:max-content;max-width:100%}.review-view{margin-top:2px}.review-write{margin-top:1px}.floating-controls{position:fixed;right:6px;bottom:14px;z-index:30;display:flex;flex-direction:column;align-items:center;gap:10px}.whatsapp-float,.scroll-top,.ai-chat-toggle{border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 10px 30px #0002;cursor:pointer}.whatsapp-float{width:58px;height:58px;background:#25D366;color:#fff;padding:0;border-radius:50%}.whatsapp-float svg{width:34px;height:34px;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scroll-top{order:1;width:58px;height:58px;border-radius:50%;background:transparent;color:#555;font-size:2.18rem;font-weight:500;line-height:1;box-shadow:none;margin-bottom:-5px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.whatsapp-float{order:2}.ai-chat-toggle{order:3;position:relative;width:58px;height:58px;border-radius:50%;background:var(--purple);color:#fff;padding:0}.ai-chat-toggle svg{width:32px;height:32px}.ai-badge{display:none}.ai-chat-panel{position:fixed;right:76px;bottom:16px;z-index:31;width:min(360px,calc(100vw - 96px));max-height:min(520px,72vh);display:none;grid-template-rows:auto minmax(120px,1fr) auto auto auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.2);overflow:hidden}.ai-chat-panel.open{display:grid}.ai-chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#20345d;color:#fff}.ai-chat-close{border:0;background:transparent;color:#fff;font-size:1.6rem;cursor:pointer}.ai-chat-messages{padding:14px;overflow:auto;background:#fbfaf8}.ai-msg{max-width:88%;padding:10px 12px;border-radius:14px;margin:0 0 9px;font-size:.91rem;line-height:1.4}.ai-msg-bot{background:#eee8f0;color:var(--ink)}.ai-msg-user{background:#20345d;color:#fff;margin-left:auto}.ai-chat-quick{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px 4px;background:#fff}.ai-chat-quick button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-weight:700;cursor:pointer}.ai-chat-form{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px 12px}.ai-chat-form input{min-width:0;border:1px solid var(--line);border-radius:999px;padding:10px 12px;font:inherit}.ai-chat-form button{border:0;border-radius:999px;background:var(--purple);color:#fff;font-weight:800;padding:10px 14px;cursor:pointer}.ai-chat-booking-link{display:block;margin:0 12px 8px;text-align:center;text-decoration:none;border-radius:999px;background:var(--purple);color:#fff;font-weight:800;padding:9px 12px}.ai-chat-privacy{padding:0 12px 12px;font-size:.72rem;line-height:1.35;opacity:.68}footer{padding:34px 0;border-top:1px solid var(--line);font-size:.92rem}.language-menu{display:flex;gap:8px;flex-wrap:wrap}.language-menu a{text-decoration:none;border:1px solid var(--line);padding:7px 10px;border-radius:999px;background:#fff}.active-lang{background:var(--ink)!important;color:#fff}.privacy-line{margin-top:14px;font-size:.82rem;opacity:.7}
@media(max-width:900px){.hero-grid,.about-grid{grid-template-columns:1fr}.hero-photo{height:520px;max-height:520px}.about-photo img{height:540px}.service-grid{grid-template-columns:repeat(2,1fr)}.ba-grid{grid-template-columns:repeat(2,1fr)}.links a.navitem{display:none}.cta-box{grid-template-columns:1fr}}
@media(max-width:560px){.wrap{width:min(94%,1180px)}.nav{min-height:96px}.brand img{width:225px;max-width:72vw;max-height:76px}.hero{padding:54px 0 46px}.hero-grid{gap:26px}.hero-photo{height:470px;max-height:470px}.service-grid,.stats,.credentials,.ba-grid{grid-template-columns:1fr}section{padding:56px 0}.section-head{display:block}.ba-card img{aspect-ratio:1/1}.floating-controls{right:4px;bottom:10px;gap:8px}.whatsapp-float,.scroll-top,.ai-chat-toggle{width:56px;height:56px}.scroll-top{font-size:1.9rem}.ai-chat-panel{right:66px;bottom:10px;width:min(340px,calc(100vw - 78px));max-height:70vh}}

.ai-msg-bot p{margin:0 0 .65em}.ai-msg-bot p:last-child{margin-bottom:0}.ai-msg-bot ul{margin:.35em 0 .2em 1.15em;padding:0}.ai-msg-bot li{margin:.22em 0}.ai-msg-bot strong{font-weight:800}.ai-msg-bot a{color:var(--purple);text-decoration:underline;text-underline-offset:2px}

/* Refined language selector */
.language-selector{position:relative}
.language-trigger{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(37,51,47,.14);background:rgba(255,255,255,.72);color:var(--ink);border-radius:999px;padding:9px 12px;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;box-shadow:0 5px 18px rgba(37,51,47,.05);transition:.18s ease}
.language-trigger:hover{background:#fff;border-color:rgba(37,51,47,.24)}
.language-trigger>svg:first-child{width:18px;height:18px}
.language-chevron{width:13px;height:13px;transition:transform .18s ease}
.language-selector.open .language-chevron{transform:rotate(180deg)}
.language-dropdown{position:absolute;right:0;top:calc(100% + 10px);min-width:178px;padding:7px;background:rgba(255,255,255,.98);border:1px solid rgba(37,51,47,.1);border-radius:16px;box-shadow:0 18px 45px rgba(37,51,47,.16);opacity:0;visibility:hidden;transform:translateY(-4px);transition:.16s ease;z-index:50}
.language-selector.open .language-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.language-dropdown a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 11px;border-radius:10px;text-decoration:none;font-size:.88rem;font-weight:500}
.language-dropdown a:hover{background:#f6f1f5;opacity:1}
.language-dropdown a.is-current{background:#f2eaf3;color:var(--purple);font-weight:700}
.language-check{font-weight:900}

/* Refined footer language links */
#idiomas{padding:28px 0 22px;border-top:1px solid var(--line)}
#idiomas .language-menu{justify-content:flex-end;align-items:center;gap:11px;font-size:.86rem}
#idiomas .language-menu a{border:0;background:transparent;padding:0;border-radius:0;color:var(--ink);opacity:.68;text-decoration:none;font-weight:500}
#idiomas .language-menu a:hover{opacity:1;color:var(--purple)}
#idiomas .language-menu a.active-lang{background:transparent!important;color:var(--purple);opacity:1;font-weight:750}
.language-separator{opacity:.28;font-size:.82rem}

/* More polished chat shell */
.ai-chat-panel{width:min(390px,calc(100vw - 96px));max-height:min(560px,76vh);grid-template-rows:auto minmax(120px,1fr) auto auto auto;border-radius:20px;border:1px solid rgba(37,51,47,.12);box-shadow:0 22px 60px rgba(37,51,47,.18)}
.ai-chat-head{min-height:58px;padding:10px 12px 10px 15px;background:linear-gradient(135deg,#6f3f78,#5e3567);color:#fff}
.ai-chat-identity{display:flex;flex-direction:column;line-height:1.15}
.ai-chat-identity strong{font-family:Georgia,"Times New Roman",serif;font-size:1.02rem;font-weight:700;letter-spacing:.01em}
.ai-chat-identity span{margin-top:4px;font-size:.67rem;letter-spacing:.02em;text-transform:none;opacity:.72}
.ai-chat-window-actions{display:flex;align-items:center;gap:3px}
.ai-chat-window-actions button{width:30px;height:30px;border:0;background:transparent;color:#fff;border-radius:8px;font:inherit;font-size:1.12rem;line-height:1;cursor:pointer;opacity:.82;display:inline-flex;align-items:center;justify-content:center}
.ai-chat-window-actions button:hover{background:rgba(255,255,255,.12);opacity:1}
.ai-chat-close{font-size:1.35rem!important}
.ai-chat-maximize{font-size:.92rem!important}
.ai-chat-panel.minimized{display:grid;grid-template-rows:auto;width:min(330px,calc(100vw - 96px));height:auto;max-height:none}
.ai-chat-panel.minimized>:not(.ai-chat-head){display:none!important}
.ai-chat-panel.maximized{right:18px;bottom:18px;width:min(720px,calc(100vw - 36px));height:min(760px,calc(100vh - 36px));max-height:none}
.ai-chat-panel.maximized .ai-chat-messages{font-size:1rem;padding:18px}
.ai-chat-messages{padding:16px;background:#fcfbfa}
.ai-chat-quick{padding:8px 14px 4px}
.ai-chat-form{padding:10px 14px}
.ai-chat-booking-link{margin:0 14px 8px}
.ai-chat-privacy{padding:0 14px 13px}

@media(max-width:560px){
  #idiomas .language-menu{justify-content:center;gap:8px;font-size:.8rem}
  .language-dropdown{right:-4px;min-width:168px}
  .ai-chat-panel{right:10px;bottom:78px;width:calc(100vw - 20px);max-height:72vh}
  .ai-chat-panel.minimized{right:10px;bottom:78px;width:min(310px,calc(100vw - 20px))}
  .ai-chat-panel.maximized{right:6px;bottom:6px;width:calc(100vw - 12px);height:calc(100vh - 12px);max-height:none}
}

/* Chat window corrections */
.ai-chat-panel{padding:0!important}
.ai-chat-panel.minimized{display:none!important}
.ai-chat-minimize{opacity:.38!important;cursor:default!important}
.ai-chat-minimize.is-enabled{opacity:.88!important;cursor:pointer!important}
.ai-chat-minimize.is-enabled:hover{background:rgba(255,255,255,.12)!important;opacity:1!important}

.address-item{align-items:flex-start}
.address-copy{display:block;max-width:620px;line-height:1.38}
@media(max-width:560px){.address-copy{max-width:100%;line-height:1.4}}
