@layer reset,base,components,responsive;
@layer responsive {
  /* La navegación permanece visible y se compacta al descender. */
  .header.header {
    left:50%;
    margin-left:0;
    transform:translateX(-50%);
    transition:width .3s ease, padding .3s ease, box-shadow .3s ease;
  }
  .header.header.is-collapsed {
    width:min(760px,92vw);
    display:grid;
    grid-template-columns:64px minmax(0,1fr) 64px;
    padding:7px 12px;
    gap:0;
    box-shadow:0 8px 32px #39264724;
  }
  .header.is-collapsed .brand span,
  .header.is-collapsed .cart-label { display:none; }
  .header.is-collapsed .brand { justify-self:center; }
  .header.is-collapsed .desktop-nav {
    display:flex;
    justify-self:center;
    justify-content:center;
    gap:clamp(14px,2.2vw,28px);
    white-space:nowrap;
  }
  .header.is-collapsed .cart-trigger {
    justify-self:center;
    justify-content:center;
    width:54px;
    margin-left:0;
    padding:10px 7px;
    gap:4px;
  }
  .header.is-collapsed .brand img { width:40px; height:40px; }
  .values-strip {
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:clamp(12px,2vw,34px);
    padding:22px max(6vw,32px);
    overflow:hidden;
  }
  .values-strip span { min-width:0; text-align:center; line-height:1.4; }
  .floating-cart { display:none; }
  @media (max-width:760px) {
    .header.header.is-collapsed { width:94%; display:flex; padding:9px 12px; gap:8px; }
    .header.is-collapsed .desktop-nav { display:none; }
    .header.is-collapsed .brand span { display:block; }
    .header.is-collapsed .mobile-toggle { display:block; }
    .header.is-collapsed .cart-trigger { width:auto; margin-left:auto; }
    .values-strip { grid-template-columns:1fr 1fr; gap:12px 18px; padding:18px 6%; }
    .values-strip i { display:none; }
    .floating-cart { display:flex; }
  }
}
@layer reset{*{box-sizing:border-box}body,h1,h2,h3,p,figure,blockquote{margin:0}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{color:inherit}button:disabled{cursor:default;opacity:.35}[hidden]{display:none!important}}
@layer base{:root{--ink:#34243d;--purple:#513261;--muted:#746c76;--paper:#faf8f5;--line:#ddd5de;--radius:24px;--offset:120px;color-scheme:light}html{scroll-behavior:smooth;scroll-padding-top:var(--offset)}body{font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6}body.modal-open{overflow:hidden}section[id]{scroll-margin-top:20px}button{border:0}h1,h2,h3,.brand,.footer-brand{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1,h2{line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(64px,6.5vw,104px)}h2{font-size:clamp(42px,4.1vw,64px)}h3{font-size:25px;line-height:1.25}em{font-weight:400;color:#82618d}p{color:var(--muted)}:focus-visible{outline:3px solid #9a68b2;outline-offset:5px}.section-wrap{padding-left:max(6vw,calc((100vw - 1360px)/2));padding-right:max(6vw,calc((100vw - 1360px)/2))}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.17em;display:block;margin-bottom:22px}.text-link{background:transparent;padding:8px 0;border-bottom:1px solid #bcaec1;font-size:14px;display:inline-flex;gap:18px;align-items:center}.button{padding:17px 25px;display:inline-flex;align-items:center;justify-content:center;gap:26px;border-radius:50px;font-size:14px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--purple);color:white}.primary:hover{background:#392045}.secondary{background:#eee7f0}.cream{background:#f3eee8;color:#402b48}.global-background{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 25% 30%,#eee5f0 0,transparent 52%),radial-gradient(ellipse at 98% 90%,#e5dbe8,transparent 45%),#faf8f5;pointer-events:none}.skip{position:fixed;top:0;left:15px;transform:translateY(-150%);z-index:100;background:white;padding:12px}.skip:focus{transform:translateY(0)}}
@layer components{.header{position:fixed;z-index:30;top:22px;left:4%;width:92%;max-width:1450px;padding:12px 20px 12px 14px;border:1px solid #ffffffb5;border-radius:60px;background:#fffdfbf2;box-shadow:0 5px 32px #3926470a;display:flex;align-items:center;justify-content:space-between;gap:20px;transition:transform .3s}.brand{display:flex;gap:10px;align-items:center;white-space:nowrap;font-size:23px;line-height:1.25}.brand img{border-radius:50%;width:48px;height:48px;object-fit:cover}.brand small,.footer-brand small{display:block;font-family:Arial,sans-serif;letter-spacing:.2em;font-size:9px;margin-top:4px}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:14px}.nav-link{padding:8px 0;background:transparent;display:flex;gap:8px}.desktop-nav a:hover,.nav-link:hover{color:#93629e}.cart-trigger{display:flex;align-items:center;gap:10px;background:#eee6f0;border-radius:30px;padding:12px 15px;font-size:13px}.cart-trigger svg{width:19px;height:19px}.count{display:inline-grid;place-items:center;border-radius:50%;min-width:23px;height:23px;background:var(--purple);color:#fff;font-size:11px}.mobile-toggle{display:none;background:transparent;font-size:24px;min-width:44px;min-height:44px}.mega-menu{position:absolute;top:calc(100% + 10px);left:0;width:100%;padding:24px;background:#fffdfb;border:1px solid var(--line);border-radius:26px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:14px;box-shadow:0 15px 35px #34243d15}.mega-menu>a{display:flex;flex-direction:column;gap:12px;background:#f0e9f2;padding:24px;border-radius:18px}.mega-menu>a:nth-of-type(2){background:#f2ede5}.mega-menu>a:nth-of-type(3){background:#e9eee8}.mega-menu>a:hover{box-shadow:inset 0 0 0 1px #9678a4}.mega-menu span,.mega-menu small{font-size:12px}.mega-menu strong{font:24px Georgia,serif}.mega-intro h2{font-size:30px;margin-bottom:18px}.mega-intro a{font-size:13px}.mega-intro .eyebrow{font-size:10px}.mobile-links{display:none}.hero{position:relative;min-height:850px;min-height: min(900px,100svh);padding-top:150px;padding-bottom:85px;display:grid;grid-template-columns:1.08fr 1fr;gap:5vw;align-items:center}.location{font-size:11px;letter-spacing:.17em;display:flex;align-items:center;gap:10px;margin-bottom:30px}.location span{width:6px;height:6px;border-radius:50%;background:#887297}.hero-copy>p{max-width:405px;margin-top:28px;font-size:16px;line-height:1.9}.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:32px}.hero-actions .text-link{font-size:13px}.hero-note{display:flex;align-items:center;gap:15px;margin-top:44px}.little-flower{font-size:45px;color:#9877a2;font-weight:300;line-height:1}.hero-note p{font-size:12px;line-height:1.6}.hero-note strong{font-weight:400;color:var(--ink)}.hero-visual{position:relative;height:580px;max-height:68svh}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 58%;border-radius:180px 180px 24px 24px}.photo-label{position:absolute;left:-35px;bottom:44px;border:1px solid #fff9;background:#fffaf5ed;backdrop-filter:blur(12px);border-radius:18px;display:flex;gap:18px;align-items:center;padding:19px 27px;box-shadow:0 10px 30px #2e183916;font-family:Georgia,serif;font-size:22px;line-height:1.3;transform:rotate(-4deg)}.photo-star{font-size:40px;color:#9c81a5}.photo-label em{font-size:20px}.vertical-caption{position:absolute;right:-28px;top:44%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.24em}.scroll-cue{position:absolute;bottom:27px;left:6vw;font-size:9px;letter-spacing:.2em;display:flex;gap:35px;align-items:center}.scroll-cue span{font-size:20px}.values-strip{padding:25px 6vw;background:#eee6f0;border-top:1px solid #e1d5e5;border-bottom:1px solid #e1d5e5;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.values-strip i{color:#9b7ba6;font-size:24px}.treatments{padding-top:100px;padding-bottom:90px;background:#fcfaf7}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px}.section-heading>p{font-size:14px;line-height:1.9;margin-bottom:6px}.filters{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap}.filters button{padding:11px 21px;border:1px solid var(--line);border-radius:30px;background:transparent;font-size:13px;transition:background .2s}.filters button.active{background:var(--purple);border-color:var(--purple);color:white}.filters button:hover:not(.active){background:#eee6f0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.service-card{border:1px solid #e7e0e8;border-radius:20px;overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 14px 24px #432a5010}.service-image{height:295px;position:relative;overflow:hidden}.service-image img{height:100%;width:100%;object-fit:cover;object-position:50% 47%;transition:transform .6s}.service-card:hover img{transform:scale(1.025)}.service-image.relaxation img{object-position:50% 55%}.image-pill{position:absolute;left:18px;top:18px;border-radius:20px;background:#fffc;padding:5px 13px;font-size:9px;letter-spacing:.12em}.service-body{padding:25px}.service-number{font-size:9px;letter-spacing:.13em;color:#886b91}.service-body h3{font-size:25px;margin:12px 0}.service-body>p{font-size:14px;line-height:1.8;min-height:76px}.service-bottom{margin-top:24px;padding-top:19px;border-top:1px solid #e9e2e9;display:flex;align-items:center;justify-content:space-between;gap:12px}.service-bottom>span{font-size:11px;color:#746677}.add-button{border-radius:50%;background:#f0e8f3;font-size:26px;width:44px;height:44px;flex-shrink:0;transition:background .2s,transform .2s}.add-button:hover{background:var(--purple);color:white;transform:rotate(90deg)}.add-button.selected{background:var(--purple);color:white;transform:none}.treatment-note{font-size:12px;margin-top:20px}.quote-guide{display:flex;gap:22px;align-items:center;margin-top:45px;padding:25px 30px;border:1px solid #ded2e3;border-radius:18px;background:#f4eef5}.guide-icon{font-size:30px}.quote-guide h3{font-size:21px}.quote-guide p{font-size:12px;margin-top:5px}.quote-guide p span{margin:0 9px}.quote-guide .text-link{margin-left:auto;flex-shrink:0}.philosophy{padding-top:95px;padding-bottom:95px;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;background:#eee6eeed}.space-photo{position:relative;height:600px}.space-photo img{height:100%;width:100%;object-fit:cover;object-position:center 35%;border-radius:160px 160px 15px 15px}.space-tag{position:absolute;bottom:20px;left:20px;right:20px;background:#fffef4ed;border-radius:30px;text-align:center;font-size:10px;padding:13px;letter-spacing:.15em}.philosophy-copy>p{font-size:15px;margin:28px 0;max-width:365px}.philosophy blockquote{font-family:Georgia,serif;font-size:21px;line-height:1.6;border-left:1px solid #af95b9;padding-left:22px}.signature{font:italic 22px Georgia,serif;display:block;margin:25px 0;color:#785684}.philosophy .text-link{margin-top:10px}.gallery-section{padding-top:100px;padding-bottom:80px;background:#fcfaf7}.gallery-controls{display:flex;gap:10px}.gallery-controls button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:22px}.gallery{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#bca6c3 transparent;padding-bottom:20px}.gallery figure{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;scroll-snap-stop:always}.gallery img{width:100%;height:350px;object-fit:cover;border-radius:16px}.gallery figcaption{display:flex;gap:15px;margin-top:15px;font-size:13px}.gallery figcaption span{color:#937e9b;font-size:11px}.gallery-footer{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:15px}.gallery-footer p{font-size:12px}.contact{position:relative;overflow:hidden;text-align:center;padding-top:80px;padding-bottom:55px;background:#432d50;color:#f8f1e9}.contact:after{content:'✳';position:absolute;right:-70px;top:-110px;font-size:550px;line-height:1;color:#ffffff04;pointer-events:none}.contact em{color:#ceb7d5}.contact p{color:#dbd0df;margin:24px 0}.contact .eyebrow{color:#cbb5d4}.contact-details{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin-top:45px;padding-top:25px;border-top:1px solid #ffffff20;font-size:12px;color:#e3d7e7}footer{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-top:40px;padding-bottom:40px;background:#fcfaf7}.footer-brand{font-size:25px}footer>div{display:flex;flex-direction:column;gap:6px;font-size:12px}footer p{font-size:11px;text-align:right}.floating-cart{position:fixed;right:25px;bottom:25px;z-index:20;padding:13px 18px;border-radius:30px;background:#fff;box-shadow:0 4px 30px #35223d25;border:1px solid #e0d5e5;font-size:13px;display:flex;align-items:center;gap:12px}.floating-cart .count{background:#654274}dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100%);height:100%;max-height:100dvh;max-width:100%;border:0;padding:30px;background:#fcfaf7;color:var(--ink);box-shadow:-15px 0 70px #30143825;overflow-y:auto}dialog::backdrop{background:#27172c80;backdrop-filter:blur(4px)}.cart-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.cart-header h2{font-size:38px}.cart-header .eyebrow{font-size:9px;margin-bottom:10px}.icon-button{height:44px;width:44px;border-radius:50%;background:#eee6f0;font-size:28px}.cart-intro{font-size:14px;margin:22px 0}.cart-item{padding:20px 0;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);align-items:center}.cart-item h3{font-size:20px}.cart-item p{font-size:12px;margin-top:5px}.cart-item button{background:transparent;text-decoration:underline;font-size:12px;padding:10px}.empty-cart{text-align:center;padding:45px 15px;background:#f0e9f2;border-radius:20px}.empty-cart>span{font-size:40px}.empty-cart h3{margin:10px 0}.empty-cart p{font-size:14px}.cart-summary{font-size:14px;padding:20px 0;font-weight:600}#cart-actions label{display:block;font-size:13px;margin-bottom:10px}#cart-actions label span{color:var(--muted)}textarea{width:100%;resize:vertical;border:1px solid #ccbfd0;border-radius:12px;background:white;padding:13px;font-size:14px;color:var(--ink)}.privacy-note,.cart-disclaimer{font-size:11px;margin:10px 0 20px}#whatsapp-status{font-size:13px;margin-bottom:15px}#cart-actions .button{width:100%;margin-bottom:10px}.cart-disclaimer{text-align:center}#keep-browsing{margin-top:15px}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:#392346;color:white;padding:13px 22px;border-radius:30px;box-shadow:0 5px 25px #37234033;font-size:13px;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:85vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{position:fixed;bottom:0;left:0;right:0;padding:20px;background:white;z-index:60}.noscript a{text-decoration:underline}}
@layer responsive{@media(min-width:1600px){.header{left:50%;margin-left:-725px}.hero{min-height:900px}.hero-visual{height:630px}}@media(max-width:1100px){.desktop-nav{gap:15px;font-size:12px}.brand{font-size:20px}.cart-label{display:none}.hero{gap:4vw}.hero-actions{gap:12px}.hero-visual{height:550px}.service-body{padding:20px}.service-body h3{font-size:22px}.service-image{height:250px}.quote-guide{flex-wrap:wrap}.quote-guide .text-link{margin-left:50px}.philosophy{gap:6vw}}@media(max-width:760px){:root{--offset:104px}.section-wrap{padding-left:6%;padding-right:6%}.header{top:12px;left:3%;width:94%;padding:9px 12px;gap:8px}.brand{font-size:19px;gap:8px}.brand small{font-size:7px}.brand img{width:39px;height:39px}.desktop-nav{display:none}.mobile-toggle{display:block}.cart-trigger{margin-left:auto;padding:10px;gap:6px}.mega-menu{grid-template-columns:1fr 1fr;max-height:calc(100dvh - 110px);overflow-y:auto;padding:18px;gap:10px}.mega-intro{grid-column:1/-1}.mega-menu>a{padding:16px;gap:8px}.mega-menu strong{font-size:21px}.mega-menu>a:last-of-type{grid-column:1/-1}.mobile-links{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:16px;font-size:13px;padding:10px 0}.hero{padding-top:130px;padding-bottom:65px;display:flex;flex-direction:column;align-items:stretch;min-height:auto;gap:40px}.location{font-size:9px;margin-bottom:22px;letter-spacing:.12em}h1{font-size:clamp(59px,12vw,84px)}.hero-copy>p{margin-top:22px;max-width:440px;font-size:15px}.hero-actions{margin-top:24px;gap:15px}.hero-note{display:none}.hero-visual{height:470px;max-height:none;margin-left:20px;margin-right:10px}.hero-photo{border-radius:160px 160px 20px 20px}.photo-label{left:-18px;bottom:30px;padding:16px 23px;font-size:20px}.vertical-caption{right:-24px}.scroll-cue{bottom:18px}.values-strip{justify-content:center;flex-wrap:wrap;gap:10px 17px;padding:20px 6%;font-size:11px}.values-strip i{font-size:18px}.values-strip i:last-of-type{display:none}.treatments,.gallery-section{padding-top:65px;padding-bottom:55px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:20px}.eyebrow{font-size:10px;margin-bottom:18px}.filters{gap:7px}.filters button{font-size:12px;padding:10px 15px}.service-grid{grid-template-columns:1fr;gap:24px}.service-image{height:310px}.service-body h3{font-size:27px}.service-body>p{min-height:0}.service-number{font-size:10px}.service-bottom>span{font-size:12px}.quote-guide{padding:22px;gap:15px}.guide-icon{display:none}.quote-guide .text-link{margin:0}.quote-guide p{line-height:2}.philosophy{grid-template-columns:1fr;gap:40px;padding-top:55px;padding-bottom:60px}.space-photo{height:460px;margin:0 15px}.philosophy blockquote{font-size:20px}.gallery-controls{margin-top:22px;justify-content:flex-end}.gallery figure{flex-basis:82%}.gallery img{height:360px}.gallery-footer{align-items:start;flex-direction:column}.contact{padding-top:65px;padding-bottom:40px}.contact p{font-size:14px}.contact-details{gap:12px;font-size:11px;margin-top:35px}.contact:after{font-size:370px;right:-160px;top:0}footer{flex-direction:column;align-items:start;gap:25px;padding-bottom:100px}footer p{text-align:left}.floating-cart{right:15px;bottom:calc(15px + env(safe-area-inset-bottom))}.toast{bottom:90px;min-width:240px}dialog{padding:25px 22px}.gallery-footer .text-link{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.gallery{scroll-snap-type:none}}}

@layer components {
  .global-background { overflow:hidden; }
  .global-background::before,.global-background::after { content:''; position:absolute; width:75vmax; height:75vmax; border-radius:50%; pointer-events:none; will-change:transform; }
  .global-background::before { top:-35%; left:-25%; background:radial-gradient(ellipse,#cdb4da80,transparent 67%); animation:ambient-drift 16s ease-in-out infinite alternate; }
  .global-background::after { right:-32%; bottom:-40%; background:radial-gradient(ellipse,#e7c5ac70,transparent 65%); animation:ambient-drift 21s ease-in-out -8s infinite alternate-reverse; }
  .hero-copy { position:relative; z-index:1; animation:hero-arrive .9s ease-out both; }
  .hero-care { display:flex; flex-direction:column; gap:5px; margin-top:22px; padding-left:18px; border-left:1px solid #b69bc0; font-size:13px; color:#695371; }
  .hero-care>a { width:fit-content; display:flex; align-items:center; gap:18px; transition:color .25s,gap .25s; }
  .hero-care>a:hover,.hero-care>a:focus-visible { color:var(--purple); gap:26px; }
  .hero-signature { display:flex; align-items:center; gap:14px; margin-top:30px; color:#80618b; font:italic 21px Georgia,serif; }
  .hero-signature>span { width:35px; height:1px; background:#b39bbd; }
  .hero-visual { animation:hero-arrive 1.2s ease-out both; }
  .hero-visual::before { content:''; position:absolute; inset:-15px 14px 15px -14px; border:1px solid #b89fc060; border-radius:190px 190px 30px 30px; pointer-events:none; transition:transform .7s; }
  .hero-photo { position:relative; transition:transform .8s cubic-bezier(.2,.65,.3,1),box-shadow .8s; }
  .photo-label { animation:label-float 6s ease-in-out infinite; transition:box-shadow .5s; }
  .care-leaf { width:38px; height:52px; color:#92709b; flex-shrink:0; }
  .hero-actions .primary { box-shadow:0 7px 20px #51326116; transition:transform .3s,box-shadow .3s,background .3s; }
  .hero-actions .primary>span { transition:transform .3s; }
  .text-link { transition:color .3s,border-color .3s; }
  .text-link:hover { color:#95669f; border-color:#95669f; }
  .scroll-cue span { animation:scroll-breathe 2.5s ease-in-out infinite; }
  @media (hover:hover) and (pointer:fine) {
    .hero-visual:hover .hero-photo { transform:translateY(-5px) rotate(1deg); box-shadow:0 22px 48px #51326120; }
    .hero-visual:hover::before { transform:translate(-4px,3px) rotate(-2deg); }
    .hero-visual:hover .photo-label { box-shadow:0 16px 35px #51326125; }
    .hero-actions .primary:hover { box-shadow:0 12px 28px #51326130; }
    .hero-actions .primary:hover>span { transform:translate(3px,-3px); }
  }
  @keyframes ambient-drift { from { transform:translate(-3%,-2%) scale(.92); } to { transform:translate(18%,12%) scale(1.12); } }
  @keyframes hero-arrive { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
  @keyframes label-float { 0%,100% { transform:translateY(0) rotate(-4deg); } 50% { transform:translateY(-9px) rotate(-2deg); } }
  @keyframes scroll-breathe { 0%,100% { transform:translateY(0); } 50% { transform:translateY(5px); } }
}
@layer responsive {
  @media(max-width:760px) {
    .hero { gap:38px; }
    .hero-care { margin-top:19px; font-size:12px; }
    .hero-signature { margin-top:24px; font-size:20px; }
    .hero-visual { height:430px; }
    .hero-actions .button { gap:16px; }
  }
  @media(prefers-reduced-motion:reduce) {
    .global-background::before,.global-background::after { will-change:auto; }
  }
}

/* Fondo persistente: el contenido se desplaza sobre ondas de arena y luz. */
@layer components {
  body { isolation:isolate; }
  .global-background { position:fixed; inset:0; background:linear-gradient(125deg,#f5eee8,#eee5f0 52%,#f5f1e6); }
  .zen-rings { position:absolute; width:95vmax; height:95vmax; border-radius:50%; background:repeating-radial-gradient(ellipse at center,transparent 0 24px,#977d9f22 25px 26px,transparent 27px 43px); mask-image:radial-gradient(ellipse,#0008 15%,#000 45%,transparent 70%); animation:zen-tide 20s ease-in-out infinite alternate; will-change:transform; }
  .zen-rings-one { left:-62vmax; top:-32vmax; transform:rotate(-20deg); }
  .zen-rings-two { right:-50vmax; bottom:-66vmax; animation-delay:-10s; animation-direction:alternate-reverse; }
  .zen-light { position:absolute; inset:-25%; background:linear-gradient(115deg,transparent 30%,#fff9 45%,transparent 60%); animation:zen-light 18s ease-in-out infinite alternate; pointer-events:none; }
  @keyframes zen-tide { from { transform:translate3d(-2%,0,0) rotate(-12deg) scale(.94); } to { transform:translate3d(5%,4%,0) rotate(8deg) scale(1.06); } }
  @keyframes zen-light { from { transform:translateX(-12%) rotate(-8deg); opacity:.35; } to { transform:translateX(12%) rotate(8deg); opacity:.75; } }
}
@layer responsive {
  .hero { min-height:100vh; min-height:100dvh; padding-top:125px; padding-bottom:65px; }
  .hero-visual { height:calc(100dvh - 190px); max-height:760px; min-height:0; }
  @media(min-width:761px) and (max-height:800px) {
    .hero h1 { font-size:clamp(54px,9dvh,82px); }
    .hero .location { margin-bottom:18px; }
    .hero-copy>p { margin-top:18px; line-height:1.65; }
    .hero-care { margin-top:16px; }
    .hero-actions { margin-top:22px; }
    .hero-signature { margin-top:20px; }
  }
  @media(max-width:760px) {
    .hero { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(150px,1fr); gap:22px; min-height:100dvh; padding-top:105px; padding-bottom:45px; }
    .hero h1 { font-size:clamp(46px,7.5dvh,68px); }
    .hero .location { margin-bottom:12px; }
    .hero-copy>p { margin-top:14px; font-size:14px; line-height:1.6; }
    .hero-care { margin-top:12px; }
    .hero-actions { margin-top:17px; gap:8px 16px; }
    .hero-actions .button { padding:13px 20px; font-size:12px; }
    .hero-actions .text-link { font-size:12px; }
    .hero-signature { margin-top:15px; font-size:18px; }
    .hero-visual { height:clamp(150px,calc(100dvh - 535px),360px); max-height:none; margin-left:10px; }
    .hero-photo { border-radius:85px 85px 18px 18px; object-position:center 48%; }
    .hero-visual::before { border-radius:95px 95px 24px 24px; inset:-8px 8px 8px -8px; }
    .photo-label { bottom:15px; left:-10px; padding:10px 17px; gap:10px; font-size:18px; }
    .photo-label em { font-size:17px; }
    .care-leaf { height:36px; width:27px; }
    .scroll-cue { bottom:10px; }
  }
  @media(prefers-reduced-motion:reduce) { .zen-rings { will-change:auto; } }
}

@layer components {
  .zen-garden { position:absolute; inset:0; width:100%; height:100%; opacity:.62; }
  .garden-grooves { opacity:.42; }
  .garden-line { stroke-dasharray:1; stroke-dashoffset:0; animation:garden-rake 5s cubic-bezier(.25,.1,.35,1) var(--draw-delay) both; }
  .garden-reveal { opacity:1; transform-box:fill-box; transform-origin:center bottom; animation:garden-form 2.8s ease-out var(--appear-delay) both; }
  .garden-sprig { transform-box:fill-box; transform-origin:bottom center; animation:garden-breeze 7s ease-in-out 10s infinite alternate; }
  @keyframes garden-rake { from { stroke-dashoffset:1; opacity:0; } 10% { opacity:1; } to { stroke-dashoffset:0; opacity:1; } }
  @keyframes garden-form { from { opacity:0; transform:translateY(12px) scale(.94); } to { opacity:1; transform:translateY(0) scale(1); } }
  @keyframes garden-breeze { from { transform:rotate(-3deg); } to { transform:rotate(3deg); } }
}
@layer responsive {
  @media(max-width:760px) { .zen-garden { width:155%; max-width:none; left:-28%; opacity:.48; } }
}

@layer components {
  .garden-line.garden-line, .garden-reveal { animation:none; opacity:1; }
  .garden-line { transform-box:fill-box; transform-origin:center; stroke-dashoffset:0; }
  .garden-reveal { transform-origin:center bottom; }
}
@layer components {
  .global-background { background:#e5dac3; }
  .global-background::before,.global-background::after { display:none; }
  .zen-garden { opacity:1; }
  .sand-sector ellipse { stroke-dasharray:1; stroke-dashoffset:0; animation:sand-raking 30s ease-in-out var(--sector-delay) infinite; }
  @keyframes sand-raking {
    0%,8% { stroke-dashoffset:1; opacity:0; }
    12% { opacity:1; }
    43%,70% { stroke-dashoffset:0; opacity:1; }
    92%,100% { stroke-dashoffset:-1; opacity:0; }
  }
}
@layer responsive {
  @media(max-width:760px) { .zen-garden { width:100%; left:0; opacity:1; } }
}

/* Tratamientos: una composición completa por pantalla. */
@layer responsive {
  #tratamientos { scroll-margin-top:calc(0px - var(--offset)); min-height:100dvh; padding-top:112px; padding-bottom:22px; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto auto; gap:14px; }
  .treatments .section-heading { margin:0; align-items:center; gap:24px; }
  .treatments .eyebrow { margin-bottom:10px; font-size:10px; }
  .treatments h2 { font-size:clamp(34px,4.8dvh,54px); }
  .treatments .section-heading>p { font-size:13px; line-height:1.65; margin:0; }
  .treatments .filters { margin:0; gap:8px; }
  .treatments .filters button { padding:8px 17px; font-size:12px; }
  .treatments .service-grid { min-height:0; gap:22px; }
  .treatments .service-card { display:grid; grid-template-rows:minmax(110px,1fr) auto; min-height:0; }
  .treatments .service-image { height:100%; min-height:0; }
  .treatments .service-body { padding:17px 20px; display:flex; flex-direction:column; }
  .treatments .service-number { font-size:9px; }
  .treatments .service-body h3 { font-size:clamp(20px,1.7vw,26px); margin:7px 0; }
  .treatments .service-body>p { min-height:0; font-size:13px; line-height:1.55; }
  .treatments .service-bottom { margin-top:13px; padding-top:10px; }
  .treatments .add-button { width:38px; height:38px; font-size:23px; }
  .treatments .treatment-note { margin:0; font-size:11px; }
  .treatments .quote-guide { margin:0; padding:12px 20px; gap:16px; flex-wrap:nowrap; }
  .treatments .quote-guide h3 { font-size:19px; }
  .treatments .quote-guide p { margin-top:3px; font-size:11px; }
  .treatments .quote-guide .text-link { margin-left:auto; }
  @media(min-width:761px) and (min-height:700px) {
    #tratamientos { height:100dvh; }
  }
  @media(max-width:760px) {
    #tratamientos { padding-top:95px; padding-bottom:18px; gap:12px; }
    .treatments .section-heading { display:block; }
    .treatments h2 { font-size:34px; }
    .treatments .section-heading>p { margin-top:8px; font-size:12px; }
    .treatments .section-heading>p br { display:none; }
    .treatments .filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:3px; }
    .treatments .filters button { flex-shrink:0; padding:8px 12px; font-size:11px; }
    .treatments .service-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding:0 0 8px; }
    .treatments .service-card { flex:0 0 87%; scroll-snap-align:start; grid-template-rows:minmax(140px,1fr) auto; }
    .treatments .service-body { padding:15px; }
    .treatments .service-body h3 { font-size:22px; }
    .treatments .quote-guide { padding:12px; flex-wrap:wrap; gap:5px; }
    .treatments .quote-guide h3 { font-size:17px; }
    .treatments .quote-guide p { line-height:1.6; }
    .treatments .quote-guide .text-link { margin:0; }
    .treatments .treatment-note { font-size:10px; }
  }
}
