:root{--nude-bg:#f5effa;--nude-soft:#fbf7fe;--rose:#dac7ee;--rose-deep:#6a2c91;--rose-dark:#5b2a86;--ink:#3a3a3a;--ink-soft:#6b6260;--white:#fff;--shadow:0 8px 30px rgba(106,44,145,.16);--radius:16px;--maxw:1080px;--serif:"Playfair Display",Georgia,serif;--sans:"Inter",system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--nude-bg);line-height:1.65;-webkit-font-smoothing:antialiased}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}h1,h2,h3{font-family:var(--serif);line-height:1.2;color:var(--ink);font-weight:600}img{max-width:100%;height:auto;display:block}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-weight:600;font-size:1rem;text-decoration:none;border:none;border-radius:999px;padding:.85rem 1.6rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:focus-visible{outline:3px solid var(--rose-dark);outline-offset:3px}.btn-primary{background:var(--rose-deep);color:var(--white);box-shadow:var(--shadow)}.btn-primary:hover{background:var(--rose-dark);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--rose-dark);border:2px solid var(--rose)}.btn-ghost:hover{background:var(--rose);color:var(--ink)}.btn-sm{padding:.55rem 1.1rem;font-size:.92rem}.btn-lg{padding:1.05rem 2.2rem;font-size:1.1rem}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(245,239,250,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rose)}.header-inner{justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}.brand,.header-inner{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;background:var(--rose-deep);color:var(--white);font-weight:700;font-size:1.05rem;border-radius:50%}.brand-mark,.brand-text{font-family:var(--serif)}.brand-text{display:flex;flex-direction:column;font-weight:600;line-height:1.15}.brand-text small{font-family:var(--sans);font-weight:400;font-size:.72rem;color:var(--ink-soft)}.main-nav{display:none;gap:22px}.main-nav a{text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem;padding:4px 0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.main-nav a:hover{color:var(--rose-dark);border-color:var(--rose-deep)}.main-nav a:focus-visible{outline:2px solid var(--rose-dark);outline-offset:3px}.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:9px;cursor:pointer;background:transparent;border:1px solid var(--rose-deep);border-radius:10px}.nav-toggle span{display:block;height:2px;background:var(--rose-dark);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-toggle:focus-visible{outline:2px solid var(--rose-dark);outline-offset:2px}.header-actions{display:flex;align-items:center;gap:10px}.header-cta{display:none}.lang-switch{display:flex;border:1px solid var(--rose-deep);border-radius:999px;overflow:hidden}.lang-btn{background:transparent;border:none;cursor:pointer;font-family:var(--sans);font-weight:600;font-size:.85rem;color:var(--rose-dark);padding:.4rem .7rem;transition:background .15s ease,color .15s ease}.lang-btn.is-active{background:var(--rose-deep);color:var(--white)}.lang-btn:focus-visible{outline:2px solid var(--rose-dark);outline-offset:1px}.hero{background:linear-gradient(160deg,var(--nude-soft) 0,var(--rose) 100%);padding:64px 0 72px}.hero-inner{max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600;color:var(--rose-dark);margin-bottom:14px}.hero h1{font-size:clamp(1.9rem,6vw,3rem);margin-bottom:18px}.hero-sub{font-size:1.12rem;color:var(--ink-soft);margin-bottom:28px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.hero-note{font-size:.9rem;color:var(--rose-dark)}.section{padding:64px 0}.section-alt{background:var(--nude-soft)}.section-title{font-size:clamp(1.5rem,4.5vw,2.1rem);text-align:center;margin-bottom:10px}.section-lead{text-align:center;color:var(--ink-soft);max-width:620px;margin:0 auto 36px}.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.cards .card{flex:1 1 100%}.card{background:var(--white);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow);border:1px solid rgba(106,44,145,.15);transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(106,44,145,.22)}.card-icon{font-size:2rem;display:block;margin-bottom:12px}.card h3{font-size:1.2rem;margin-bottom:8px}.card p{color:var(--ink-soft);font-size:.98rem}.steps{list-style:none;display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px;counter-reset:step}.step{text-align:center;padding:8px}.step-num{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;background:var(--rose-deep);color:var(--white);font-family:var(--serif);font-weight:700;font-size:1.3rem;border-radius:50%}.step h3{font-size:1.15rem;margin-bottom:6px}.step p{color:var(--ink-soft)}.about{display:grid;grid-template-columns:1fr;grid-gap:28px;gap:28px;align-items:center}.about-photo img{margin:0 auto;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--rose);width:240px;height:auto}.about-text .section-title{text-align:left}.about-text p{color:var(--ink-soft);margin-bottom:14px}.faq{max-width:720px;margin:0 auto;display:grid;grid-gap:12px;gap:12px}.faq details{background:var(--white);border-radius:12px;padding:4px 18px;border:1px solid rgba(106,44,145,.2);box-shadow:var(--shadow)}.faq summary{cursor:pointer;font-weight:600;padding:14px 0;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--rose-deep);font-size:1.4rem;font-weight:400}.faq details[open] summary:after{content:"–"}.faq details p{color:var(--ink-soft);padding:0 0 16px}.contact{background:linear-gradient(160deg,var(--rose) 0,var(--nude-soft) 100%)}.contact-inner{text-align:center}.contact .btn-lg{margin:8px 0 28px}.contact-list{list-style:none;display:grid;grid-gap:8px;gap:8px;justify-content:center;color:var(--ink)}.contact-list strong{color:var(--rose-dark)}.contact-offices{list-style:none;display:grid;grid-gap:4px;gap:4px;margin:6px 0 2px;padding:0}.contact-offices li{color:var(--ink-soft);font-size:.96rem}.areas{display:grid;grid-template-columns:1fr;grid-gap:18px;gap:18px}.area-card{background:var(--white);border-radius:var(--radius);padding:26px 22px;text-align:center;box-shadow:var(--shadow);border:1px solid rgba(106,44,145,.15)}.area-icon{font-size:1.8rem;display:block;margin-bottom:8px}.area-card h3{font-size:1.1rem;margin-bottom:6px}.area-card p{color:var(--ink-soft);font-size:.95rem}.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:60;display:grid;place-items:center;width:58px;height:58px;background:#25d366;color:var(--white);border-radius:50%;box-shadow:0 6px 22px rgba(0,0,0,.25);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 10px 28px rgba(0,0,0,.32)}.whatsapp-float:focus-visible{outline:3px solid var(--rose-dark);outline-offset:3px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}.site-footer{background:var(--ink);color:#ede7f5;padding:40px 0;text-align:center}.footer-brand{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--white)}.footer-tag{color:var(--rose);font-size:.92rem;margin:4px 0 12px}.footer-meta{font-size:.85rem;opacity:.85}.footer-copy{font-size:.8rem;opacity:.6;margin-top:10px}.footer-links{margin-top:12px}.footer-links a{color:var(--rose);text-decoration:underline;font-size:.85rem}.footer-links a:hover{color:var(--white)}.main-nav.is-open{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;background:var(--nude-soft);border-bottom:1px solid var(--rose);box-shadow:var(--shadow);padding:8px 20px 16px}.main-nav.is-open a{padding:12px 0;border-bottom:1px solid rgba(106,44,145,.18)}@media (min-width:640px){.cards .card{flex-grow:0;flex-shrink:1;flex-basis:calc(50% - 10px);max-width:calc(50% - 10px)}.areas,.steps{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px){.cards .card{flex-grow:0;flex-shrink:1;flex-basis:calc(33.333% - 14px);max-width:calc(33.333% - 14px)}.about{grid-template-columns:280px 1fr;gap:48px}.about-photo img{width:280px}.section{padding:84px 0}.main-nav{display:flex;position:static;background:none;box-shadow:none;padding:0;border:none}.nav-toggle{display:none}.header-cta{display:inline-flex}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.legal{max-width:760px;margin:0 auto}.legal h1.section-title{text-align:left}.legal h2{font-size:1.25rem;margin:28px 0 8px}.legal li,.legal p{color:var(--ink-soft)}.legal ul{padding-left:20px;margin:8px 0}.back-link{display:inline-block;margin-bottom:18px;color:var(--rose-dark);text-decoration:none;font-weight:600}.back-link:hover{text-decoration:underline}.booking{max-width:620px;margin:0 auto}.fee-note{background:var(--nude-soft);border:1px solid var(--rose);border-radius:12px;padding:12px 16px;margin:0 auto 8px;color:var(--ink-soft);font-size:.92rem;max-width:620px}.booking-form{display:grid;grid-gap:16px;gap:16px;margin-top:24px}.field{display:grid;grid-gap:6px;gap:6px;text-align:left}.field label{font-weight:600;font-size:.92rem;color:var(--ink)}.field input,.field select,.field textarea{font-family:var(--sans);font-size:1rem;color:var(--ink);background:var(--white);border:1px solid var(--rose);border-radius:12px;padding:.75rem .9rem;width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--rose-deep);outline-offset:1px;border-color:var(--rose-deep)}.field textarea{min-height:96px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:560px){.field-row{grid-template-columns:1fr 1fr}}.form-error{color:#9a2b2b;background:#fbeaea;border-radius:10px;padding:10px 14px;font-size:.92rem}.form-note{font-size:.82rem;color:var(--ink-soft)}.booking-success{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--rose);padding:28px 24px;text-align:center;margin-top:20px}.booking-success h2{margin-bottom:10px}.booking-success p{color:var(--ink-soft);margin-bottom:18px}.lang-switch .lang-btn{text-decoration:none;display:inline-flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px;align-items:center}.hero-photo{order:-1;order:0}.hero-photo img{width:100%;max-width:420px;margin:0 auto;display:block;border-radius:20px;box-shadow:var(--shadow);object-fit:cover}@media (min-width:880px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:48px}.hero-inner{max-width:none}.hero-photo img{max-width:100%}}.card-photo{padding:0;overflow:hidden;display:flex;flex-direction:column}.card-img{position:relative;line-height:0}.card-img img{width:100%;height:180px;object-fit:cover;display:block}.card-img-plain{height:180px;background:linear-gradient(135deg,var(--rose) 0,var(--nude-soft) 100%);display:grid;place-items:center}.card-img-emoji{font-size:3.6rem;line-height:1;opacity:.55}.card-photo .card-icon{position:absolute;left:14px;bottom:-22px;margin:0;width:48px;height:48px;display:grid;place-items:center;background:var(--white);border-radius:50%;font-size:1.4rem;box-shadow:var(--shadow)}.card-body{padding:32px 22px 26px}.card-body h3{font-size:1.15rem;margin-bottom:8px}.card-body p{color:var(--ink-soft);font-size:.96rem}.about-photo img{width:100%;max-width:320px;object-fit:cover}