:root{--ink:#302733;--plum:#542747;--plum-dark:#351b32;--berry:#ac4779;--rose:#f7e9ef;--rose-deep:#efd6e1;--paper:#fffdfb;--white:#fff;--muted:#655d67;--line:#e8dce2;--shadow:0 25px 70px rgba(62,26,52,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 "Aptos","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
a{color:inherit}
::selection{background:#e6bbcf;color:var(--plum-dark)}
.shell{width:min(1230px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:absolute;top:-60px;left:14px;z-index:100;background:var(--plum);color:white;padding:10px 16px}
.skip-link:focus{top:8px}
:focus-visible{outline:3px solid var(--berry);outline-offset:4px}
.topbar{background:var(--plum);color:#f7eaf0}
.topbar-inner{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.71rem;letter-spacing:.055em;font-weight:650}
.topbar a{text-decoration:none}
.topbar a:hover{text-decoration:underline}
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,233,239,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-inner{min-height:83px;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;flex:none;text-decoration:none}
.brand-part{position:relative;display:block;flex:none;overflow:hidden}
.brand-part img{position:absolute;display:block;max-width:none;height:auto}
.brand-part-symbol{width:48px;height:42px}
.brand-part-symbol img{width:79px;left:-17px;top:-4px}
.brand-part-wordmark{width:116px;height:26px}
.brand-part-wordmark img{width:127px;left:-5px;top:-76px}
.main-nav{display:flex;align-items:center;gap:clamp(12px,1.65vw,25px);margin-left:auto}
.main-nav a{text-decoration:none;font-size:.78rem;font-weight:700;white-space:nowrap;transition:color .2s}
.main-nav a:hover{color:var(--berry)}
.header-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:21px;background:var(--berry);color:#fff;text-decoration:none;font-size:.77rem;font-weight:800;white-space:nowrap;padding:12px 17px;border-radius:100px;transition:background .2s,transform .2s}
.header-cta:hover{background:var(--plum);transform:translateY(-2px)}
.menu-toggle{display:none}
.eyebrow{margin:0 0 19px;color:var(--berry);font-size:.75rem;line-height:1.3;letter-spacing:.15em;text-transform:uppercase;font-weight:800}
.eyebrow-dot{display:inline-block;width:7px;height:7px;background:var(--berry);border-radius:50%;vertical-align:2px;margin-right:7px}
h1,h2,h3,p{overflow-wrap:break-word}
h1,h2{line-height:1.07;letter-spacing:-.055em}
h1{font-size:clamp(3.4rem,5.5vw,6rem);font-weight:650;margin:0;max-width:660px}
h2{font-size:clamp(2.65rem,4.2vw,4.65rem);font-weight:650;margin:0}
h1 em,h2 em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;color:var(--berry);letter-spacing:-.055em}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:0 24px;border-radius:100px;text-decoration:none;font-size:.87rem;font-weight:800;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(62,26,52,.15)}
.button-primary{background:var(--berry);color:#fff}
.button-primary:hover{background:var(--plum)}
.button-secondary{background:var(--plum);color:#fff}
.button-secondary:hover{background:var(--berry)}
.button-light{background:#fff;color:var(--plum)}
.button-light:hover{background:#f7e9ef}
.button-outline{border:1px solid rgba(255,255,255,.68);color:#fff}
.button-outline:hover{background:rgba(255,255,255,.12)}
.button-text{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid currentColor;padding-bottom:5px;text-decoration:none;font-size:.91rem;font-weight:750}
.button-text:hover{color:var(--berry)}
.hero{background:var(--paper);overflow:hidden}
.hero-layout{display:grid;grid-template-columns:1.12fr .8fr;gap:clamp(44px,6vw,100px);align-items:center;padding-block:74px 45px}
.hero-copy{padding-bottom:25px}
.hero-lead{font-size:1.16rem;line-height:1.74;color:var(--muted);max-width:560px;margin:28px 0 34px}
.hero-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap}
.hero-proof{display:flex;gap:17px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:63px;padding-top:19px}
.hero-proof span{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:700;color:#5c5060}
.hero-proof span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--berry)}
.hero-figure{margin:0;position:relative}
.image-frame{padding:15px;background:var(--rose);border-radius:215px 215px 14px 14px;box-shadow:var(--shadow)}
.hero-figure img{display:block;width:100%;height:auto;border-radius:200px 200px 5px 5px}
.hero-figure figcaption{color:var(--muted);font-size:.78rem;text-align:center;margin-top:13px}
.curve{height:105px;line-height:0;overflow:hidden}
.curve svg{display:block;width:100%;height:100%}
.curve-to-rose{background:var(--paper);color:var(--rose)}
.curve-to-rose path,.curve-to-plum path,.curve-to-dark path{fill:currentColor}
.curve-to-plum{background:var(--paper);color:var(--plum)}
.curve-to-dark{background:var(--paper);color:var(--plum-dark)}
.section{padding-block:103px}
.section-heading{margin-bottom:44px}
.center-heading{text-align:center;max-width:790px;margin-inline:auto}
.section-heading p:not(.eyebrow){max-width:630px;margin:21px auto 0;color:var(--muted);font-size:1.07rem}
.section-services{background:var(--rose);padding-top:73px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{background:#fff;border:1px solid #eed6e1;border-radius:14px;padding:28px 24px 32px;min-height:305px;transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(76,36,61,.09)}
.section-services .service-grid{counter-reset:service}
.section-services .service-card::before{counter-increment:service;content:counter(service);display:block;width:auto;height:auto;background:none;color:var(--berry);font-size:1.05rem;font-weight:800;line-height:1;margin-bottom:23px}
.home-benefits-grid .service-card::before{content:"";display:block;width:35px;height:3px;background:var(--berry);border-radius:100px;margin-bottom:23px}
.service-card h3{font-size:1.28rem;line-height:1.25;letter-spacing:-.035em;margin:0 0 11px}
.service-card p{font-size:.91rem;line-height:1.56;color:var(--muted);margin:0}
.services-bottom{border-top:1px solid #e7cbd9;margin-top:34px;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.services-bottom p{font-size:1.08rem;line-height:1.4;max-width:600px;margin:0}
.services-bottom a{white-space:nowrap;text-decoration:none;font-size:.88rem;font-weight:800;border-bottom:1px solid;padding-bottom:5px}
.services-bottom-copy{max-width:640px}
.services-bottom .services-detail-link{display:inline-flex;align-items:center;gap:9px;margin-top:13px;color:var(--plum);font-size:.91rem;white-space:normal}
.services-bottom .services-detail-link:hover{color:var(--berry)}
.section-method{background:var(--paper)}
.method-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(55px,9vw,140px)}
.method-heading{position:sticky;top:125px;align-self:start}
.method-heading h2{max-width:460px}
.method-heading p:not(.eyebrow){max-width:450px;color:var(--muted);font-size:1.06rem;margin:25px 0 32px}
.method-list{border-top:1px solid var(--line);counter-reset:method}
.method-list article{display:grid;grid-template-columns:30px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:26px 0 28px}
.method-list article::before{counter-increment:method;content:counter(method);color:var(--berry);font-size:1.05rem;font-weight:800;line-height:1.5}
.method-list h3{font-size:1.32rem;letter-spacing:-.035em;line-height:1.25;margin:0 0 8px}
.method-list p{font-size:.94rem;color:var(--muted);margin:0;line-height:1.6;max-width:500px}
.section-team{background:var(--plum);color:white;padding-top:75px}
.team-grid{display:grid;grid-template-columns:.92fr 1fr;gap:clamp(55px,8vw,118px);align-items:center}
.team-image{margin:0;position:relative}
.team-image img{display:block;width:100%;height:auto;border-radius:160px 12px 12px 12px;border:12px solid rgba(255,255,255,.15)}
.section-team .eyebrow,.section-contact .eyebrow{color:#efb7d0}
.section-team h2 em,.section-contact h2 em{color:#f2bcd2}
.team-copy .team-lead{font-size:1.14rem;color:#fff;line-height:1.7;margin:27px 0 16px}
.team-copy p:not(.eyebrow,.team-lead,.team-signature){color:#eadce5;margin:0 0 18px}
.team-signature{color:#f3c5d8;font-size:.86rem;font-weight:700;margin:27px 0}
.section-zones{background:var(--paper)}
.zones-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(55px,8vw,120px);align-items:center}
.zones-grid h2{max-width:470px}
.zones-grid p:not(.eyebrow){max-width:425px;color:var(--muted);font-size:1.04rem;margin:24px 0}
.section-pricing{background:var(--rose)}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;align-items:stretch}
.price-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #ead5df;border-radius:14px;padding:31px 29px 29px;min-height:345px}
.price-name{font-size:.92rem;font-weight:800;margin:0}
.price-value{font-size:3.65rem;line-height:1.1;letter-spacing:-.07em;font-weight:650;margin:34px 0 2px}
.price-note{font-size:.92rem;color:var(--berry);font-weight:750;margin:0 0 22px}
.price-card>p:not(.price-name,.price-value,.price-note){font-size:.92rem;color:var(--muted);margin:0 0 28px;max-width:275px}
.price-card a{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:.86rem;font-weight:800;text-decoration:none}
.price-card a:hover{text-decoration:underline;text-underline-offset:3px}
.price-featured{background:var(--plum);border-color:var(--plum);color:white;box-shadow:var(--shadow);transform:translateY(-8px)}
.price-featured .price-note{color:#f4bfd6}
.price-featured>p:not(.price-name,.price-value,.price-note){color:#eadce5}
.price-featured a{border-color:rgba(255,255,255,.25)}
.price-tag{position:absolute;top:0;right:18px;transform:translateY(-50%);background:#fff;color:var(--plum);padding:7px 10px;border-radius:100px;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;box-shadow:0 5px 15px rgba(62,26,52,.1)}
.section-faq{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,120px)}
.faq-grid>div:first-child>p:not(.eyebrow){color:var(--muted);font-size:1.04rem;max-width:400px;margin:25px 0}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;list-style:none;padding:22px 38px 22px 0;position:relative;font-size:1rem;font-weight:750;line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:20px;color:var(--berry);font-size:1.5rem;line-height:1}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{color:var(--muted);font-size:.94rem;max-width:570px;margin:0 40px 24px 0}
.section-contact{background:var(--plum-dark);color:#fff;padding-top:74px}
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(55px,9vw,135px);align-items:end}
.contact-grid h2{max-width:740px}
.contact-grid>div>p:not(.eyebrow){color:#e8dce4;font-size:1.06rem;max-width:590px;margin:26px 0 35px}
.contact-actions{display:flex;flex-wrap:wrap;gap:13px}
.contact-card{border:1px solid rgba(255,255,255,.35);border-radius:16px;padding:30px;display:flex;flex-direction:column;gap:17px}
.contact-card p{margin:0;color:#efb7d0;text-transform:uppercase;letter-spacing:.13em;font-size:.71rem;font-weight:800}
.contact-card a{text-decoration:none;overflow-wrap:anywhere}
.contact-card a:hover{text-decoration:underline}
.contact-phone{font-size:2rem;font-weight:650;letter-spacing:-.05em;white-space:nowrap}
.contact-card span{color:#ddcad6;font-size:.89rem}
.contact-side{display:grid;gap:18px}
.contact-form{border:1px solid rgba(255,255,255,.35);border-radius:16px;padding:26px;display:grid;gap:10px;background:rgba(255,255,255,.045)}
.contact-form h3{margin:0;color:#fff;font-size:1.25rem;letter-spacing:-.025em}
.contact-form-intro{margin:0 0 6px;color:#e8dce4;font-size:.9rem;line-height:1.5}
.contact-form label{margin-top:3px;color:#fff;font-size:.84rem;font-weight:700}
.contact-form input,.contact-form textarea{width:100%;min-width:0;border:1px solid rgba(255,255,255,.5);border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;font-size:.95rem;line-height:1.45}
.contact-form textarea{resize:vertical;min-height:108px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid #efb7d0;outline-offset:2px}
.contact-form-note,.contact-form-status{margin:0;color:#e8dce4;font-size:.76rem;line-height:1.45}
.contact-form-note{padding-top:3px}
.contact-form .button{justify-self:start;margin-top:4px;border:0;cursor:pointer;font:inherit;font-size:.88rem;font-weight:800}
.contact-form-status{color:#ddcad6}
.contact-form-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.contact-form-honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-form .button:disabled{opacity:.65;cursor:wait}
.contact-form-status[data-state="error"]{color:#ffd9df}
.contact-form-status[data-state="success"]{color:#f3eaf0}
.site-footer{background:#281726;color:#d9c8d3}
.whatsapp-float{position:fixed;right:calc(18px + env(safe-area-inset-right, 0px));bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:60;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 7px 22px rgba(27,94,53,.25);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.whatsapp-float svg{display:block;width:30px;height:30px}
.button > span[aria-hidden="true"],.button-text > span[aria-hidden="true"],.header-cta > span[aria-hidden="true"],.topbar a > span[aria-hidden="true"]{display:inline-grid;place-items:center;flex:none;width:1.15em;height:1.15em;line-height:1}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(27,94,53,.32)}
.whatsapp-float:focus-visible{outline:3px solid var(--plum);outline-offset:4px}
@media(max-width:550px){.whatsapp-float{right:calc(15px + env(safe-area-inset-right, 0px));bottom:calc(15px + env(safe-area-inset-bottom, 0px));width:50px;height:50px}.whatsapp-float svg{width:28px;height:28px}}
.footer-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-inner>div{display:flex;flex-direction:column;line-height:1.4}
.footer-inner strong{color:#fff}
.footer-inner small,.footer-inner p,.footer-inner a{font-size:.78rem}
.footer-inner p{margin:0}
.footer-inner a{text-decoration:none}
@media(max-width:1120px){.header-inner{gap:15px}.main-nav{gap:12px}.main-nav a{font-size:.72rem}.header-cta{font-size:.72rem;padding-inline:13px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:230px}}
@media(max-width:850px){.shell{width:min(100% - 40px,680px)}.topbar-inner{min-height:31px}.header-inner{min-height:72px}.menu-toggle{display:flex;width:42px;height:42px;margin-left:auto;border:1px solid var(--line);background:transparent;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{width:18px;height:2px;background:var(--plum)}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--rose);padding:16px 20px 22px;box-shadow:0 14px 24px rgba(62,26,52,.12);flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{font-size:1rem;padding:10px 0;border-bottom:1px solid var(--line)}.hero-layout,.method-grid,.team-grid,.zones-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.hero-layout{gap:42px;padding-block:58px 33px}.hero-copy{padding-bottom:0}.hero-figure{max-width:470px;margin-inline:auto}.hero-proof{margin-top:39px}.section{padding-block:76px}.section-services,.section-team,.section-contact{padding-top:57px}.method-heading{position:static}.team-image{max-width:540px}.zones-grid,.faq-grid,.contact-grid{gap:50px}.price-grid{grid-template-columns:1fr}.price-card{min-height:295px}.price-featured{transform:none}.contact-side{max-width:540px}.contact-card{max-width:100%}.footer-inner{padding-block:26px;flex-wrap:wrap}}
@media(max-width:550px){body{font-size:15px}.shell{width:calc(100% - 32px)}.topbar-inner{justify-content:center}.topbar-inner>span{display:none}.topbar a{font-size:.68rem}.header-cta{display:none}.hero-layout{padding-top:44px;gap:34px}.eyebrow{font-size:.67rem;letter-spacing:.11em}.hero h1{font-size:clamp(2.75rem,12vw,4.2rem)}.hero-lead{font-size:1.03rem;margin:22px 0 26px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-proof{gap:8px;margin-top:32px}.hero-proof span{width:100%;font-size:.75rem}.image-frame{padding:9px;border-radius:145px 145px 11px 11px}.hero-figure img{border-radius:140px 140px 4px 4px}.curve{height:63px}.section{padding-block:61px}.section-services,.section-team,.section-contact{padding-top:49px}.section-heading{margin-bottom:30px}.section h2{font-size:clamp(2.45rem,10.5vw,3.5rem)}.section-heading p:not(.eyebrow){font-size:.98rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:25px}.services-bottom{display:block}.services-bottom p{font-size:.98rem;margin-bottom:20px}.method-list article{padding:22px 0}.method-list h3{font-size:1.16rem}.team-image img{border-width:7px;border-top-left-radius:120px}.team-copy .team-lead{font-size:1.04rem}.price-value{font-size:3.3rem}.faq-list summary{font-size:.96rem}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions .button{width:100%}.contact-phone{font-size:1.75rem}.footer-inner{display:block}.footer-inner p{margin:17px 0}.footer-inner a{display:inline-block}}
/* Ajustes de legibilidad y presentación de las zonas */
.topbar-inner{font-size:.82rem}
.main-nav a{font-size:.87rem}
.header-cta{font-size:.87rem}
.eyebrow{font-size:.9rem;letter-spacing:.12em}
.section-team .eyebrow{font-size:1rem}
.button{font-size:.94rem}
.button-text{font-size:.98rem}
.hero-proof span{font-size:.85rem}
.hero-figure figcaption{font-size:.87rem}
.service-card p{font-size:1rem}
.services-bottom a{font-size:.95rem}
.method-list p{font-size:1rem}
.team-signature{font-size:.94rem}
.zones-grid p:not(.eyebrow){font-size:1.08rem}
.price-name,.price-note,.price-card>p:not(.price-name,.price-value,.price-note){font-size:1rem}
.price-card a{font-size:.94rem}
.price-tag{font-size:.73rem}
.faq-list summary{font-size:1.09rem}
.faq-list details p{font-size:1rem}
.contact-card p{font-size:.83rem}
.contact-card span{font-size:.96rem}
.footer-inner small,.footer-inner p,.footer-inner a{font-size:.86rem}
@media(max-width:1120px){.main-nav a{font-size:.78rem}.header-cta{font-size:.79rem}}
@media(max-width:550px){body{font-size:16px}.topbar a{font-size:.82rem}.brand-text small{font-size:.68rem}.eyebrow{font-size:.82rem}.section-team .eyebrow{font-size:.88rem}.hero-proof span{font-size:.86rem}.section-heading p:not(.eyebrow){font-size:1rem}.services-bottom p{font-size:1rem}.method-list h3{font-size:1.25rem}.team-copy .team-lead{font-size:1.08rem}.faq-list summary{font-size:1.06rem}}
/* Entradas suaves y pequeñas respuestas al pasar el cursor */
.hero-copy{animation:fade-rise .7s ease-out both}
.hero-figure{animation:fade-rise .85s .12s ease-out both}
@keyframes fade-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.motion-ready .reveal-target{opacity:0;translate:0 24px;transition:opacity .72s ease,translate .72s cubic-bezier(.22,.7,.24,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-target.is-visible{opacity:1;translate:0 0}
.service-card:nth-child(2),.method-list article:nth-child(2),.price-card:nth-child(2){--reveal-delay:80ms}
.service-card:nth-child(3),.method-list article:nth-child(3),.price-card:nth-child(3){--reveal-delay:160ms}
.service-card:nth-child(4),.method-list article:nth-child(4){--reveal-delay:240ms}
.image-frame img,.team-image img{transition:transform .6s ease}
.hero-figure:hover img,.team-image:hover img{transform:scale(1.012)}
.price-card:not(.price-featured){transition:transform .25s ease,box-shadow .25s ease}
.price-card:not(.price-featured):hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(62,26,52,.1)}
.faq-list summary{transition:color .2s ease}
.faq-list summary:hover{color:var(--berry)}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal-target{opacity:1;translate:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Enlaces de lectura y páginas específicas, sin alterar la composición principal */
.inline-link,.services-bottom .inline-link{color:var(--berry);font:inherit;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;border:0;white-space:normal;padding:0}
.inline-link:hover,.services-bottom .inline-link:hover{color:var(--plum-dark)}
.inner-hero{background:var(--rose);padding:78px 0 86px}
.inner-hero .shell{max-width:1080px}
.breadcrumbs{font-size:.82rem;margin:0 0 28px;color:var(--muted)}
.breadcrumbs a{text-underline-offset:3px}
.inner-hero h1{font-size:clamp(2.85rem,5.2vw,5.2rem);max-width:920px}
.inner-lead{font-size:1.2rem;line-height:1.55;max-width:770px;margin:28px 0 32px;color:var(--muted)}
.inner-section{padding:78px 0}
.inner-section .shell{max-width:1080px}
.inner-section h2{font-size:clamp(2.35rem,3.7vw,3.9rem);max-width:900px;margin-bottom:24px}
.inner-section .intro{font-size:1.12rem;max-width:800px;margin:0 0 34px;color:var(--muted)}
.inner-section p{max-width:760px}
.inner-section h3{font-size:1.25rem;line-height:1.3;margin:0 0 10px}
.inner-section .button{margin-top:18px}
.inner-section-rose{background:var(--rose)}
.inner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:30px}
.inner-card{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:26px}
.inner-card p{margin:0;color:var(--muted)}
.inner-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;counter-reset:inner-step}
.inner-steps article{border-top:2px solid var(--berry);padding-top:20px}
.inner-steps article::before{counter-increment:inner-step;content:counter(inner-step);display:block;color:var(--berry);font-size:1.05rem;font-weight:800;margin-bottom:12px}
.inner-contact{background:var(--plum-dark);color:#fff;padding:78px 0}
.inner-contact .shell{max-width:1080px}
.inner-contact h2{font-size:clamp(2.35rem,3.7vw,3.9rem);max-width:760px}
.inner-contact p{max-width:680px;color:#eadbe4;font-size:1.1rem}
.inner-contact .button{margin-top:18px}
.inner-related{margin-top:28px;font-size:.95rem}
.inner-related a{color:var(--berry);text-underline-offset:3px}
@media(max-width:750px){.inner-hero{padding:54px 0 62px}.inner-section,.inner-contact{padding:58px 0}.inner-grid,.inner-steps{grid-template-columns:1fr}.inner-lead{font-size:1.08rem}.inner-card{padding:23px}}
/* Las localidades son ejemplos de atención y comparten la misma jerarquía visual. */
.zone-directory{border-top:2px solid var(--plum);padding:24px 0 0}
.zone-directory-label{margin:0 0 18px!important;color:var(--plum)!important;font-size:.96rem!important;font-weight:700}
.zone-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px;list-style:none;margin:0;padding:0;counter-reset:zone}
.zone-list li{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding:11px 0;color:var(--ink);font-size:1.04rem}
.zone-list li::before{counter-increment:zone;content:counter(zone);color:var(--berry);font-size:.88rem;font-weight:800;min-width:1.25rem}
.zone-list a{display:flex;flex:1;justify-content:space-between;gap:10px;text-decoration:none;color:inherit}
.zone-list a:hover{color:var(--berry)}
.zone-list a span{color:var(--berry)}
.zone-open{max-width:none!important;margin:24px 0 0!important;padding:17px 19px;border-radius:12px;background:var(--rose);color:var(--plum)!important;font-size:.98rem!important}
@media(max-width:550px){.zone-list{grid-template-columns:1fr}.zone-directory{padding-top:18px}}

/* Ventajas de la atención en el entorno cotidiano. */
.section-home-benefits{padding-top:0}
.home-benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-benefits-grid .service-card{min-height:0;background:var(--rose)}
@media(max-width:850px){.home-benefits-grid{grid-template-columns:1fr}}

/* Ajuste de jerarquía tipográfica en la portada. */
.hero h1{font-size:clamp(3.1rem,5vw,5.25rem)}
.hero-eyebrow{font-size:1rem}
@media(max-width:550px){.hero h1{font-size:clamp(2.5rem,10.4vw,3.8rem)}.hero-eyebrow{font-size:.91rem}}

/* Rótulos y titulares con una diferencia de tamaño más equilibrada. */
.hero .eyebrow,.section-services .eyebrow,.section-method .eyebrow,.section-home-benefits .eyebrow,.section-team .eyebrow,.section-zones .eyebrow{font-size:1.12rem;letter-spacing:.075em;line-height:1.4}
.section-services h2,.section-method h2,.section-home-benefits h2,.section-team h2,.section-zones h2{font-size:clamp(2.55rem,3.8vw,4.15rem)}
@media(max-width:550px){.hero .eyebrow,.section-services .eyebrow,.section-method .eyebrow,.section-home-benefits .eyebrow,.section-team .eyebrow,.section-zones .eyebrow{font-size:1rem}.section-services h2,.section-method h2,.section-home-benefits h2,.section-team h2,.section-zones h2{font-size:clamp(2.2rem,9vw,3.2rem)}}

/* Centrado óptico del símbolo dentro del botón flotante. */
.whatsapp-float svg{transform:translate(1px,-1px)}

/* Nombre comercial visible sin el subtítulo antiguo incrustado en la imagen. */
.brand{flex-direction:column;justify-content:center;gap:0}
.brand-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;width:116px;height:68px}
.brand-subtitle{display:block;color:var(--plum);font-size:.52rem;line-height:1.1;font-weight:600;letter-spacing:.03em;white-space:nowrap}
@media(max-width:850px){.brand-mark{width:102px;height:60px}.brand-part-symbol{width:42px;height:37px}.brand-part-symbol img{width:69px;left:-15px;top:-4px}.brand-part-wordmark{width:102px;height:23px}.brand-part-wordmark img{width:112px;left:-4px;top:-67px}.brand-subtitle{font-size:.48rem}}

.footer-links{gap:6px;text-align:right}
.footer-links a:hover{text-decoration:underline}
@media(max-width:550px){.footer-links{text-align:left}}

/* Página de información sobre privacidad. */
.legal-page{background:var(--paper)}
.legal-layout{max-width:850px;padding-block:78px 105px}
.legal-page h1{font-size:clamp(3rem,5vw,5rem)}
.legal-page section{border-top:1px solid var(--line);padding-top:26px;margin-top:31px}
.legal-page h2{font-size:clamp(1.55rem,2.5vw,2rem);letter-spacing:-.035em;line-height:1.2;margin-bottom:14px}
.legal-page p{color:var(--muted);margin:0 0 16px}
.legal-page a{color:var(--plum);text-underline-offset:3px}
.legal-page .breadcrumbs,.legal-page .eyebrow{color:var(--berry)}
.legal-notice{margin:30px 0 38px!important;padding:20px 24px;border-left:4px solid var(--berry);background:var(--rose);color:var(--ink)!important}
.legal-updated{font-size:.88rem;margin-top:40px!important}
@media(max-width:550px){.legal-layout{padding-block:48px 68px}.legal-page h1{font-size:2.8rem}.legal-notice{padding:18px}}

/* La portada explica el servicio antes del mensaje emocional. */
.hero-promise{font:400 clamp(1.42rem,2.2vw,1.9rem)/1.3 Georgia,"Times New Roman",serif;color:var(--plum);letter-spacing:-.025em;max-width:620px;margin:24px 0 0}
.hero-promise+.hero-lead{margin-top:17px}
.card-link{display:inline-flex;gap:8px;align-items:center;margin-top:19px;color:var(--plum);font-size:.93rem;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.card-link:hover{color:var(--berry)}
@media(max-width:550px){.hero-promise{font-size:1.55rem}}
@media(max-width:550px){.services-bottom-copy{margin-bottom:20px}.services-bottom-copy p{margin-bottom:0}}
