:root{--paper:#faf7f2;--plum:#4b303f;--ink:#332830;--muted:#776c70;--rose:#eaded9;--line:#dcd2cb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a86e7c;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}p{margin:0 0 1.3rem}h1,h2,h3{font-weight:400}h1,h2{font-family:Georgia,'Times New Roman',serif;line-height:1.08;letter-spacing:-.045em;margin:0 0 1.5rem}h1{font-size:clamp(48px,5.8vw,88px)}h2{font-size:clamp(36px,4vw,58px)}h3{font-family:Georgia,serif;font-size:25px;line-height:1.2;margin:10px 0}em{font-weight:400;color:#8c6070}button{font:inherit;cursor:pointer}.topbar{text-align:center;padding:9px;background:var(--plum);color:white;font-size:11px;letter-spacing:.16em}header{display:flex;align-items:center;justify-content:space-between;padding:23px 5vw;border-bottom:1px solid var(--line);gap:30px}.brand{font-family:Georgia,serif;font-size:24px;line-height:1.05;letter-spacing:-.04em;display:block}.brand>span{display:block;margin-left:26px;font-style:italic}.dot{color:#a06c7d}nav{display:flex;gap:30px;align-items:center;font-size:13px}nav a[aria-current]{border-bottom:1px solid var(--plum)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:15px 23px;background:var(--plum);color:white;font-size:13px;line-height:1.3;min-height:48px;border:1px solid var(--plum);border-radius:3px}.button:hover{background:#624252}.textlink{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:5px}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1500px;margin:auto;padding:54px 5vw 65px;gap:6vw;align-items:center}.hero-copy{padding:20px 0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:25px;color:#79616e}.lead{font-size:16px;max-width:470px;color:#6c6065}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:30px 0}.hero-note{font-size:11px;color:var(--muted)}figure{margin:0;position:relative}.hero-photo{width:100%;height:520px;border-radius:180px 180px 4px 4px;object-position:center}figcaption{position:absolute;bottom:20px;left:20px;right:20px;padding:14px;background:#faf7f2ed;text-align:center;font-family:Georgia,serif;font-style:italic;font-size:17px;border-radius:3px}.values{display:flex;justify-content:space-around;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 5vw;font-size:11px;letter-spacing:.05em}.section{max-width:1400px;margin:auto;padding:85px 5vw}.heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.heading>p{max-width:290px;color:var(--muted)}.heading h2{margin:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.card{display:block}.card img{height:245px;width:100%;border-radius:80px 80px 0 0;transition:filter .2s}.card:hover img{filter:brightness(.93)}.card>div{position:relative;padding:18px 0 10px;border-bottom:1px solid var(--line)}.number{font-size:10px;color:#9b7e88}.card h3{font-size:23px;max-width:90%}.card p{font-size:12px;color:var(--muted);margin:0;max-width:85%}.arrow{position:absolute;right:0;bottom:18px}.editorial{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;background:var(--rose);padding:75px 8vw}.editorial img{height:460px;width:100%;border-radius:4px 130px 4px 4px}.editorial p{color:#65545d;font-size:14px}.zones{background:#f2ece7;max-width:none}.zones>p{max-width:670px}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.chips span,.chips a{display:block;padding:9px 16px;border:1px solid #cfc2ba;border-radius:30px;font-size:12px}.chips a:hover{background:var(--rose)}.small{font-size:12px;color:var(--muted)}.small a{text-decoration:underline}.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:30px;margin:45px 0 0}.steps li{border-top:1px solid var(--line);padding-top:20px}.steps span{font:italic 36px Georgia;color:#aa8896}.steps h3{font-size:22px;margin:20px 0 14px}.steps p{font-size:13px;color:var(--muted)}.booking{background:var(--plum);color:var(--paper);padding:75px 8vw;display:flex;align-items:center;justify-content:space-between;gap:45px}.booking em{color:#dbb9c5}.booking .eyebrow{color:#d2bfc8}.booking p{max-width:560px;font-size:14px;color:#e1d4dc}.light{background:var(--paper);color:var(--plum);white-space:nowrap}.light:hover{background:var(--rose)}.faq{max-width:1050px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:30px;font-size:16px}summary::-webkit-details-marker{display:none}details p{font-size:14px;color:var(--muted);margin:16px 45px 0 0}details[open] summary span{transform:rotate(45deg)}.care{max-width:1200px;border-left:2px solid #aa8896;margin:25px auto;padding:20px 35px}.care p{font-size:13px;color:var(--muted);margin:0}.care a{text-decoration:underline}.care h3{font-size:24px}footer{padding:60px 5vw 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}footer p{font-size:12px;color:var(--muted);margin-top:20px}footer strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}footer>div>a:not(.brand){display:block;font-size:13px;margin:10px 0}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:10px;display:flex;justify-content:space-between;color:var(--muted)}.service-detail{padding:35px 8vw 60px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;max-width:1400px;margin:auto}.service-detail.reverse img{order:2}.service-detail img{width:100%;height:390px;border-radius:90px 4px 4px 4px}.service-detail p{font-size:14px;color:var(--muted)}.service-detail h3{font-size:21px}.service-detail h2{font-size:45px}.price{background:var(--rose);max-width:none}.price p{max-width:740px}.prose{max-width:850px;color:var(--muted);margin-bottom:40px}.menu-toggle,.mobile-cta{display:none}.skip{position:absolute;left:10px;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}@media(min-width:1500px){.hero{gap:80px}}@media(max-width:960px){header{padding:20px 5vw;position:relative}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:9px 12px;font-size:13px}header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px;background:var(--paper);z-index:9;border-bottom:1px solid var(--line);align-items:stretch}header nav.open{display:flex;flex-direction:column;gap:18px}.hero{gap:30px;padding-top:35px}.hero-photo{height:440px}.actions{gap:16px}.cards{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.booking{align-items:start;flex-direction:column}.care{margin:25px 5vw}.service-detail{gap:35px;padding:35px 5vw}.service-detail h2{font-size:36px}}@media(max-width:600px){body{padding-bottom:65px}.topbar{font-size:9px}.hero{grid-template-columns:1fr;padding:35px 6vw 30px;gap:15px}.hero-copy{padding:0}.hero h1{font-size:52px}.eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:18px}.hero .lead{font-size:14px}.hero-photo{height:330px;border-radius:140px 140px 4px 4px}.hero-note{font-size:10px}.values{font-size:10px;gap:12px;padding:18px 6vw;text-align:center;line-height:1.5}.section{padding:55px 6vw}.heading{align-items:start;flex-direction:column;gap:22px}.cards{gap:24px 14px}.card img{height:185px;border-radius:65px 65px 0 0}.card h3{font-size:20px}.card p{font-size:11px}.editorial{grid-template-columns:1fr;padding:45px 6vw;gap:30px}.editorial img{height:290px}.steps{gap:20px}.steps h3{font-size:20px}.steps p{font-size:12px}.booking{padding:50px 6vw;gap:20px}.care{padding:15px 20px}summary{font-size:14px}footer{grid-template-columns:1fr 1fr;padding:45px 6vw 25px;gap:30px}footer>div:first-child{grid-column:1/-1}.footer-bottom{gap:12px;flex-direction:column}.service-detail{grid-template-columns:1fr;padding:25px 6vw 40px;gap:25px}.service-detail.reverse img{order:0}.service-detail img{height:290px}.mobile-cta{display:flex;align-items:center;justify-content:center;position:fixed;bottom:0;left:0;right:0;min-height:60px;padding:14px;background:var(--plum);color:white;font-size:13px;border-top:1px solid #715461;z-index:8}.chips span,.chips a{font-size:11px;padding:7px 13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Editorial expansion */
.hero h1{font-size:clamp(42px,4.6vw,68px);line-height:1.13}.hero h1 em{font-size:.87em}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 55px;margin-top:40px}.info-grid h3{font-size:26px}.info-grid p{color:var(--muted);font-size:14px}.info-grid a{text-decoration:underline;text-underline-offset:3px}.information h2{max-width:870px}.cards{grid-template-columns:repeat(3,1fr)}@media(max-width:960px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.hero h1{font-size:43px}.info-grid{grid-template-columns:1fr;gap:20px}.info-grid h3{font-size:24px}}
.topbar a{color:inherit;text-decoration:underline;text-underline-offset:3px;margin-left:12px}.booking-form{align-items:start}.booking-intro{flex:1}.contact-form{flex:1;background:#fff8f3;color:var(--ink);padding:30px;border-radius:5px;max-width:600px;width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:flex;flex-direction:column;font-size:12px;gap:6px;margin-bottom:18px}.contact-form input,.contact-form select,.contact-form textarea{font:14px Arial,sans-serif;color:var(--ink);padding:12px;border:1px solid #bba8b2;background:white;min-height:46px;width:100%;border-radius:3px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #8c6070;outline-offset:2px}.contact-form .consent{flex-direction:row;align-items:start;gap:10px;line-height:1.6}.consent input{width:18px;min-height:18px;flex-shrink:0;margin-top:2px}.contact-form .form-note{font-size:11px;line-height:1.6;color:var(--muted);margin:15px 0 0}.contact-form .button{background:var(--plum);color:white;width:100%;border:0}.contact-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.contact-whatsapp{color:var(--paper);text-decoration:underline;font-size:14px}.booking .booking-note{font-size:12px;margin-top:20px}.service-detail.text-only{display:block;background:#f2ece7;margin-bottom:24px;padding:40px 8vw}.text-only>div{max-width:850px}.booking-form .booking-intro>p{max-width:460px}@media(max-width:960px){.booking-form{flex-direction:column}.contact-form{max-width:none}}@media(max-width:600px){.form-grid{grid-template-columns:1fr;gap:0}.contact-form{padding:22px}.topbar{line-height:1.9;letter-spacing:.04em}.booking h2{font-size:36px}}
.specialist-photo{width:100%;height:250px;object-fit:cover;border-radius:5px 65px 5px 5px;margin-bottom:22px}.brow-images{display:grid;grid-template-columns:1fr 1fr;gap:14px}.brow-images .specialist-photo{height:250px;border-radius:5px 45px 5px 5px}.trust{background:#f2ece7;max-width:none}.trust .info-grid{max-width:1200px}.trust .info-grid a{text-decoration:underline}.trust h2{max-width:800px}@media(max-width:600px){.specialist-photo{height:240px}.brow-images{grid-template-columns:1fr}.brow-images .specialist-photo{height:240px}}
.rating-summary{text-align:center;padding:45px 6vw;background:#f2ece7;border-top:1px solid var(--line)}.rating-summary .eyebrow{margin-bottom:15px}.rating-summary p{margin-bottom:8px}.rating-value strong{font-family:Georgia,serif;font-weight:400;font-size:64px;color:var(--plum);line-height:1.2}.rating-value span{font-family:Georgia,serif;font-size:24px;color:var(--muted);margin-left:6px}
.city-menu{position:relative;padding:0;border:0}.city-menu summary{font-size:13px;gap:8px;white-space:nowrap}.city-menu>div{position:absolute;top:35px;left:-18px;background:var(--paper);padding:16px 24px;border:1px solid var(--line);z-index:10;min-width:170px;box-shadow:0 8px 24px #4b303f12}.city-menu>div>a{display:block;padding:8px 0;font-size:13px}.city-links{padding:25px 6vw;border-top:1px solid var(--line)}.city-links>p{font:24px Georgia;margin-bottom:15px}.city-links .chips{margin:0}@media(max-width:960px){.city-menu>div{position:static;box-shadow:none;margin-top:12px;border:0;padding:5px 15px}}
.local-context-banner{padding:18px 20px;background:#f0e5e0;border-left:3px solid #8c6070;margin-bottom:24px}.local-context-banner>strong{font:24px Georgia;line-height:1.2;display:block}.local-context-banner p{font-size:12px;margin:9px 0 12px;color:var(--muted)}.local-context-banner label{font-size:12px;margin-right:12px}.local-context-banner select{font:14px Arial;padding:10px 14px;background:var(--paper);color:var(--ink);border:1px solid #a78d99;border-radius:3px;max-width:100%}.local-context-banner>a{display:block;font-size:12px;text-decoration:underline;margin-top:12px}.local-context-banner>a[hidden]{display:none}.hero-urgent{border-top:1px solid var(--line);padding-top:14px;margin:15px 0 12px}.hero-urgent strong{font-size:13px;display:block;margin-bottom:5px}.hero-urgent a{font-size:12px;text-decoration:underline;text-underline-offset:3px}.hero .local-context-banner+ .lead{font-size:14px}@media(max-width:600px){body[data-catalog] .hero h1{font-size:36px}.local-context-banner>strong{font-size:21px}.local-context-banner{padding:14px 16px;margin-bottom:18px}}
.service-local-links{padding:22px 5vw 8px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.service-local-links p{margin:0}.service-local-links a{text-decoration:underline;text-underline-offset:3px}.service-local-links a:hover{color:var(--plum)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.contact-grid>div{padding:25px 0;border-top:1px solid var(--line)}.contact-grid p{font-size:14px;color:var(--muted)}.contact-grid a{overflow-wrap:anywhere}.contact-channels h2{margin-bottom:35px}@media(max-width:600px){.contact-grid{grid-template-columns:1fr;gap:10px}}
.contact-atmosphere{padding:0 6vw;max-width:1120px;margin:auto}.contact-atmosphere img{width:100%;height:280px;border-radius:4px 90px 4px 4px;object-fit:cover}@media(max-width:600px){.contact-atmosphere img{height:220px}}
.price-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:4px;margin:30px 0 18px}.price-table{width:100%;border-collapse:collapse;text-align:left;background:#fffaf6}.price-table caption{text-align:left;padding:16px 22px;font-size:12px;background:var(--rose)}.price-table th,.price-table td{padding:20px 22px;border-bottom:1px solid var(--line);font-size:14px}.price-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.price-table tbody th{font-weight:400}.price-table td:last-child{white-space:nowrap;color:var(--plum)}.price-table a{text-decoration:underline;text-underline-offset:3px}.quote-services{background:#f2ece7;max-width:none}.quote-list{list-style:none;padding:0;margin:30px 0;max-width:1050px}.quote-list li{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.quote-list a{text-decoration:underline;text-underline-offset:3px}.quote-list span{font-size:12px;white-space:nowrap;color:var(--muted)}@media(max-width:600px){.price-table th,.price-table td{padding:15px 10px;font-size:12px}.price-table caption{padding:12px 10px}.quote-list li{font-size:13px;gap:15px}}
