:root{
  --purple:#7b3f79;
  --purple-dark:#4e294e;
  --purple-soft:#f2eaf2;
  --orange:#ea7b2b;
  --orange-dark:#cf6220;
  --cream:#fbf8f5;
  --white:#fff;
  --ink:#282329;
  --muted:#716a72;
  --line:#e8e1e7;
  --wood:#a47148;
  --green:#1f8d61;
  --shadow:0 20px 60px rgba(61,38,56,.12);
  --shadow-soft:0 12px 34px rgba(61,38,56,.08);
  --radius:24px;
  --radius-sm:16px;
  --container:min(1180px, calc(100% - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
svg{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.container{width:var(--container);margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:10px;background:#111;color:#fff;padding:10px 14px;border-radius:8px;z-index:9999}.skip-link:focus{left:10px}
.topbar{background:var(--purple-dark);color:#fff;font-size:.84rem}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:36px;gap:16px}
.topbar-item{display:flex;align-items:center;gap:7px}.topbar-item svg{width:14px}.topbar .muted{opacity:.62;font-weight:400}.status-dot{width:8px;height:8px;border-radius:50%;background:#8fcfae;box-shadow:0 0 0 3px rgba(143,207,174,.13)}.status-dot.closed{background:#ef8b8b;box-shadow:0 0 0 3px rgba(239,139,139,.13)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(79,41,78,.07)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:45px;height:45px;border-radius:15px;background:linear-gradient(145deg,var(--purple),#956093);color:white;display:grid;place-items:center;box-shadow:0 8px 20px rgba(123,63,121,.22)}.brand-mark svg{width:27px;height:27px}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong{font-family:Manrope,sans-serif;font-size:.72rem;letter-spacing:.02em;color:var(--muted);font-weight:700}.brand-copy span{font-family:Manrope,sans-serif;font-size:1.3rem;font-weight:800;color:var(--purple)}
.main-nav{display:flex;align-items:center;gap:24px;font-size:.93rem;font-weight:600}.main-nav>a:not(.nav-cta){position:relative;color:#544d54}.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--orange);transition:.25s}.main-nav>a:hover::after{width:100%}.nav-cta{background:var(--purple);color:#fff;padding:11px 16px;border-radius:12px;box-shadow:0 10px 24px rgba(123,63,121,.17);transition:.2s}.nav-cta:hover{transform:translateY(-1px);background:var(--purple-dark)}
.menu-btn{display:none;background:none;border:0;padding:8px}.menu-btn span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.25s}
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fbf8fb 0%,#fff 100%)}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 76% 18%,rgba(234,123,43,.10),transparent 29%),radial-gradient(circle at 12% 20%,rgba(123,63,121,.08),transparent 25%);pointer-events:none}.hero-grid{position:relative;min-height:690px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px;padding-block:64px 78px}.hero-copy{max-width:560px}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:var(--purple)}.eyebrow span{width:28px;height:2px;background:var(--orange)}.hero h1,.section h2,.contact-panel h2{font-family:Manrope,sans-serif;letter-spacing:-.04em;line-height:1.06}.hero h1{font-size:clamp(3rem,5.2vw,5.25rem);margin:18px 0 20px;font-weight:800}.hero h1 em{font-style:normal;color:var(--purple);position:relative}.hero-copy>p{font-size:1.12rem;color:var(--muted);max-width:540px;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:14px;padding:14px 20px;font-weight:700;transition:.22s;min-height:50px}.btn svg{width:18px}.btn-primary{background:linear-gradient(135deg,var(--purple),#8b4f87);color:#fff;box-shadow:0 14px 30px rgba(123,63,121,.22)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(123,63,121,.27)}.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-ghost:hover,.btn-outline:hover{border-color:#cab8c8;background:var(--purple-soft)}.btn-outline{border:1px solid #cdbfcd;background:transparent;color:var(--purple)}.btn-full{width:100%}.hero-trust{display:flex;align-items:center;gap:20px;margin-top:34px}.rating-badge{display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center}.rating-badge strong{font:800 1.55rem Manrope,sans-serif}.rating-badge .stars{color:#f0a63c;letter-spacing:1px;font-size:.88rem}.rating-badge small{grid-column:2;color:var(--muted);margin-top:-4px}.trust-divider{height:42px;width:1px;background:var(--line)}.hero-trust p{font-size:.84rem;line-height:1.4;margin:0}.hero-trust p span{color:var(--muted)}
.hero-visual{height:560px;position:relative}.hero-main-img{position:absolute;right:0;top:0;width:73%;height:92%;border-radius:42px 42px 8px 42px;overflow:hidden;box-shadow:var(--shadow)}.hero-main-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(32,20,31,.12))}.hero-side-img{position:absolute;left:0;bottom:0;width:40%;height:49%;border:8px solid white;border-radius:30px;overflow:hidden;box-shadow:var(--shadow-soft)}.floating-card{position:absolute;right:-18px;bottom:34px;background:#fff;border-radius:18px;padding:15px 18px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);min-width:240px}.fc-icon{width:42px;height:42px;border-radius:13px;background:#fff1e8;color:var(--orange);display:grid;place-items:center}.floating-card div{display:flex;flex-direction:column}.floating-card strong{font-size:.9rem}.floating-card span{font-size:.78rem;color:var(--muted)}
.quick-info{position:relative;z-index:3;margin-top:-28px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft);overflow:hidden}.quick-card{padding:24px 28px;display:flex;align-items:center;gap:16px;position:relative;transition:.2s}.quick-card:not(:last-child){border-right:1px solid var(--line)}a.quick-card:hover{background:#fdfafd}.q-icon{width:46px;height:46px;border-radius:14px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;flex:0 0 auto}.q-icon svg{width:21px}.quick-card>span:last-child{display:flex;flex-direction:column;line-height:1.35}.quick-card small{text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em}.quick-card strong{font-size:.94rem;margin-top:3px}.quick-card em{font-style:normal;color:var(--muted);font-size:.83rem}
.section{padding:110px 0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-visual{height:610px;position:relative}.img-frame.large{position:absolute;left:0;top:0;width:76%;height:88%;border-radius:34px;overflow:hidden;box-shadow:var(--shadow-soft)}.mini-photo{position:absolute;right:0;bottom:0;width:42%;height:39%;border:8px solid #fff;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-soft)}.experience-card{position:absolute;left:8%;bottom:0;background:var(--orange);color:#fff;border-radius:18px;padding:17px 20px;box-shadow:0 12px 30px rgba(234,123,43,.24);display:flex;flex-direction:column;line-height:1.15}.experience-card strong{font:800 1.35rem Manrope,sans-serif}.experience-card span{font-size:.78rem;opacity:.92}.section-copy h2,.section-head h2{font-size:clamp(2.2rem,3.6vw,3.7rem);margin:14px 0 18px}.section-copy .lead{font-size:1.08rem;color:var(--muted);margin-bottom:28px}.feature-list{display:grid;gap:20px;margin:30px 0}.feature-item{display:flex;gap:15px}.feature-item>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#f1e8f1;color:var(--purple);flex:0 0 auto;margin-top:1px}.feature-item svg{width:17px}.feature-item strong{font-size:1rem}.feature-item p{margin:4px 0 0;color:var(--muted);font-size:.93rem}.text-link{font-weight:800;color:var(--purple);display:inline-flex;align-items:center;gap:8px}.text-link svg{width:17px;transition:.2s}.text-link:hover svg{transform:translateX(4px)}
.care{background:var(--cream)}.section-head{max-width:730px;margin-bottom:50px}.section-head.center{text-align:center;margin-inline:auto}.section-head.center .kicker{justify-content:center}.section-head p{color:var(--muted);font-size:1.05rem}.section-head.row{max-width:none;display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}.section-head.row p{margin-bottom:7px}.care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.care-card{background:#fff;border:1px solid #ece5e9;border-radius:22px;padding:28px;min-height:292px;position:relative;transition:.25s}.care-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}.care-card.featured{background:linear-gradient(145deg,var(--purple),#5e335d);color:#fff;border-color:transparent;box-shadow:0 22px 44px rgba(89,48,87,.18)}.care-number{position:absolute;right:22px;top:18px;font:700 .75rem Manrope,sans-serif;color:#b7abb5}.featured .care-number{color:rgba(255,255,255,.5)}.care-icon{width:54px;height:54px;border-radius:17px;background:#f5edf4;color:var(--purple);display:grid;place-items:center;margin-bottom:44px}.featured .care-icon{background:rgba(255,255,255,.12);color:#fff}.care-icon svg{width:25px;height:25px}.care-card h3{font:800 1.13rem Manrope,sans-serif;line-height:1.3;margin:0 0 10px}.care-card p{margin:0;color:var(--muted);font-size:.92rem}.featured p{color:rgba(255,255,255,.75)}.care-note{text-align:center;color:var(--muted);margin:28px 0 0;font-size:.92rem}.care-note a{color:var(--purple);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.structure{background:#fff}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:260px 260px;gap:14px}.gallery-item{position:relative;border:0;padding:0;overflow:hidden;border-radius:22px;background:#eee;color:#fff}.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(22,15,21,.5));transition:.3s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item img{transition:.4s}.gallery-item span{position:absolute;left:18px;bottom:15px;z-index:2;font-weight:700;font-size:.9rem}.g1{grid-row:1/3}.g2{grid-column:2/4}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px;border-top:1px solid var(--line);padding-top:28px}.amenities>div{display:flex;align-items:center;gap:12px}.amenities>div>svg{width:26px;height:26px;color:var(--purple);flex:0 0 auto}.amenities span{display:flex;flex-direction:column;line-height:1.3}.amenities strong{font-size:.86rem}.amenities small{color:var(--muted)}
.reviews{background:linear-gradient(120deg,#4e294e,#6d3b6c);color:#fff;overflow:hidden;position:relative}.reviews::after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.06);border-radius:50%;left:-170px;bottom:-300px;box-shadow:0 0 0 80px rgba(255,255,255,.02),0 0 0 160px rgba(255,255,255,.015)}.reviews-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:center;position:relative;z-index:2}.kicker.light{color:#efb17b}.review-summary h2{font:800 clamp(2.5rem,4.1vw,4rem) Manrope,sans-serif;line-height:1.05;letter-spacing:-.04em;margin:16px 0 28px}.score-row{display:flex;align-items:center;gap:18px;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);padding:18px 0}.score-row>strong{font:800 3.6rem Manrope,sans-serif}.score-row .stars{color:#f5b656;letter-spacing:2px}.score-row p{margin:3px 0 0;font-size:.8rem;opacity:.64}.review-summary>p{color:rgba(255,255,255,.68);font-size:.95rem;margin-top:20px}.review-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-card{margin:0;background:#fff;color:var(--ink);border-radius:22px;padding:27px;min-height:220px;position:relative}.review-card:last-child{grid-column:1/3;min-height:190px}.review-card .quote{font:800 3.8rem Georgia,serif;color:#e3cfe2;position:absolute;top:12px;left:22px;line-height:1}.review-card>p{position:relative;margin:33px 0 28px;font-size:1rem}.review-card footer{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;font-weight:800}.review-card footer div{display:flex;flex-direction:column;line-height:1.2}.review-card footer strong{font-size:.8rem}.review-card footer div span{font-size:.7rem;color:#eda344;letter-spacing:1px;margin-top:3px}
.booking{background:#fcfaf8}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.booking-copy h2{font:800 clamp(2.4rem,4vw,4.1rem) Manrope,sans-serif;line-height:1.06;letter-spacing:-.04em;margin:15px 0 20px}.booking-copy>p{color:var(--muted);font-size:1.04rem}.booking-points{display:grid;gap:10px;margin-top:26px}.booking-points span{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem}.booking-points svg{width:16px;color:var(--purple)}.booking-form{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow-soft)}.form-title{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.form-title strong{font:800 1.2rem Manrope,sans-serif}.form-title span{font-size:.78rem;color:var(--muted)}.booking-form label{display:block;font-size:.82rem;font-weight:700;color:#4b454b;margin-bottom:14px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #ded6dc;background:#fdfcfd;border-radius:12px;padding:12px 13px;margin-top:7px;outline:none;color:var(--ink);transition:.2s}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#9f709d;box-shadow:0 0 0 3px rgba(123,63,121,.08);background:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.optional{font-weight:400;color:#9c959b}.privacy-note{display:block;text-align:center;color:#918891;line-height:1.35;margin-top:11px}
.contact{display:grid;grid-template-columns:1.1fr .9fr;min-height:610px}.contact-map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.82) contrast(.98)}.contact-panel{padding:70px clamp(34px,5vw,86px);background:#fff;display:flex;flex-direction:column;justify-content:center}.contact-panel h2{font-size:clamp(2.3rem,3.8vw,3.9rem);margin:14px 0 30px}.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:22px}.contact-list li{display:flex;gap:14px}.contact-list li>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--purple-soft);color:var(--purple);flex:0 0 auto}.contact-list svg{width:19px}.contact-list strong{font-size:.88rem}.contact-list p{margin:3px 0 0;color:var(--muted);font-size:.92rem}.contact-list a{color:var(--purple);font-weight:700}.contact-actions{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}
.footer{background:#241d24;color:rgba(255,255,255,.75);padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr .7fr .9fr;gap:60px}.footer-brand .brand-copy strong{color:rgba(255,255,255,.5)}.footer-brand .brand-copy span{color:#fff}.footer-grid>div:first-child>p{max-width:380px;color:rgba(255,255,255,.5);font-size:.9rem}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px;font-size:.88rem}.footer-grid>div:not(:first-child)>strong{color:#fff;font-family:Manrope,sans-serif;margin-bottom:7px}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.77rem;color:rgba(255,255,255,.42)}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:40;background:#25d366;color:#fff;border-radius:999px;padding:12px 17px 12px 13px;box-shadow:0 14px 30px rgba(18,112,58,.25);display:flex;align-items:center;gap:8px;font-weight:800;font-size:.84rem;transition:.2s}.whatsapp-float:hover{transform:translateY(-2px)}.whatsapp-float svg{width:25px;height:25px;stroke:none}.lightbox{border:0;padding:0;background:transparent;max-width:min(900px,92vw);max-height:88vh;overflow:visible}.lightbox::backdrop{background:rgba(20,14,20,.83);backdrop-filter:blur(4px)}.lightbox img{max-height:84vh;width:auto;max-width:92vw;border-radius:18px;object-fit:contain}.lightbox-close{position:absolute;right:-12px;top:-12px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#332b32;font-size:24px;line-height:1;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.svg-sprite{position:absolute;overflow:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}
@media (max-width:1000px){
  :root{--container:min(100% - 30px,860px)}
  .menu-btn{display:block;z-index:3}.main-nav{position:absolute;top:78px;left:15px;right:15px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;align-items:stretch;gap:4px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:.22s}.main-nav.open{opacity:1;pointer-events:auto;transform:none}.main-nav a{padding:10px}.main-nav .nav-cta{text-align:center;margin-top:6px}.menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0}.menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero-grid{grid-template-columns:1fr;gap:42px;padding-top:52px}.hero-copy{max-width:720px}.hero-visual{height:520px;max-width:720px;width:100%;margin:auto}.hero-main-img{width:78%}.hero-side-img{width:36%}.quick-grid{grid-template-columns:1fr}.quick-card:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}
  .split-grid,.booking-grid{grid-template-columns:1fr;gap:55px}.about-visual{max-width:700px;width:100%;margin-inline:auto}.section-head.row{grid-template-columns:1fr;gap:10px}.care-grid{grid-template-columns:1fr 1fr}.reviews-grid{grid-template-columns:1fr;gap:40px}.review-summary{max-width:620px}.amenities{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.contact-map{height:420px}.contact-panel{padding:65px max(24px,calc((100vw - 860px)/2))}.footer-grid{grid-template-columns:1.4fr .8fr .9fr;gap:30px}
}
@media (max-width:640px){
  :root{--container:calc(100% - 24px)}
  .topbar-inner{justify-content:center}.topbar-item:first-child{display:none}.topbar .muted{display:none}.nav-wrap{height:70px}.brand-mark{width:40px;height:40px;border-radius:13px}.brand-copy strong{font-size:.62rem}.brand-copy span{font-size:1.1rem}.main-nav{top:70px;left:12px;right:12px}
  .hero-grid{min-height:auto;padding:42px 0 62px}.hero h1{font-size:clamp(2.7rem,13vw,4.1rem)}.hero-copy>p{font-size:1rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-trust{gap:13px}.hero-trust p{font-size:.76rem}.hero-visual{height:410px}.hero-main-img{width:83%;height:90%;border-radius:30px 30px 8px 30px}.hero-side-img{width:39%;height:43%;border-width:5px;border-radius:22px}.floating-card{right:0;bottom:18px;min-width:210px;padding:12px}.fc-icon{width:38px;height:38px}.quick-info{margin-top:0;padding:0 0 8px}.quick-card{padding:20px}.section{padding:78px 0}.section-copy h2,.section-head h2{font-size:2.45rem}.split-grid{gap:42px}.about-visual{height:470px}.img-frame.large{width:82%;height:86%;border-radius:26px}.mini-photo{width:45%;height:35%;border-width:5px}.experience-card{left:5%;padding:14px 16px}.care-grid{grid-template-columns:1fr}.care-card{min-height:250px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 190px 190px}.g1{grid-column:1/3;grid-row:1}.g2{grid-column:1/3}.g3,.g4{grid-row:3}.amenities{grid-template-columns:1fr;gap:18px}.reviews{padding:80px 0}.review-cards{grid-template-columns:1fr}.review-card:last-child{grid-column:1}.booking-grid{gap:36px}.booking-copy h2{font-size:2.55rem}.booking-form{padding:22px}.form-title{align-items:flex-start;gap:8px;flex-direction:column}.form-row{grid-template-columns:1fr}.contact-map{height:350px}.contact-panel{padding:55px 24px}.contact-panel h2{font-size:2.5rem}.contact-actions{flex-direction:column}.contact-actions .btn{width:100%}.footer{padding-top:50px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;gap:5px}.whatsapp-float{right:12px;bottom:12px;padding:12px}.whatsapp-float span{display:none}
}
