:root{
  --sof-white:#fff;
  --sof-pink:#d98aa4;
  --sof-pink-soft:#fff1f5;
  --sof-rose:#b95b7a;
  --sof-gray:#60646c;
  --sof-gray-soft:#f4f3f4;
  --sof-dark:#303036;
  --sof-border:rgba(185,91,122,.18);
  --sof-shadow:0 24px 70px rgba(60,50,58,.12);
}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--sof-dark);background:linear-gradient(180deg,#fff 0%,#fff8fb 58%,#fff 100%);}
a{color:var(--sof-rose);text-decoration:none}a:hover{color:var(--sof-pink)}
.sof-topbar{background:var(--sof-dark);color:#fff;font-size:.9rem;padding:.45rem 0}.sof-topbar a{color:#fff}
.sof-navbar{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--sof-border)}
.sof-brand{font-family:Georgia,serif;font-size:1.6rem;color:var(--sof-rose)!important;letter-spacing:.02em}.sof-brand small{display:block;font-family:Inter,sans-serif;color:var(--sof-gray);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.nav-link{color:var(--sof-dark);font-weight:600}.nav-link:hover{color:var(--sof-rose)}
.sof-hero{position:relative;overflow:hidden;padding:6rem 0 4rem;background:radial-gradient(circle at 15% 10%,#ffe1eb 0,transparent 28%),radial-gradient(circle at 80% 20%,#f3f3f3 0,transparent 26%)}
.sof-flower-bg:before,.sof-flower-bg:after{content:'✿';position:absolute;color:rgba(217,138,164,.18);font-size:9rem;line-height:1;z-index:0}.sof-flower-bg:before{left:3%;top:8%;transform:rotate(-18deg)}.sof-flower-bg:after{right:6%;bottom:4%;content:'🦋';font-size:6rem;color:rgba(185,91,122,.16);transform:rotate(14deg)}
.sof-kicker{display:inline-flex;gap:.4rem;align-items:center;padding:.5rem 1rem;border-radius:999px;background:#fff;border:1px solid var(--sof-border);color:var(--sof-rose);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}
.sof-title{font-family:Georgia,serif;font-size:clamp(2.3rem,6vw,5.4rem);line-height:.98;color:var(--sof-dark);margin:1.2rem 0}.sof-title span{color:var(--sof-rose)}
.sof-lead{font-size:1.18rem;color:var(--sof-gray);max-width:680px}.sof-btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;background:var(--sof-rose);color:#fff!important;padding:.85rem 1.35rem;font-weight:800;box-shadow:0 10px 28px rgba(185,91,122,.24)}.sof-btn:hover{background:var(--sof-pink)}
.sof-btn-light{background:#fff;color:var(--sof-rose)!important;border:1px solid var(--sof-border);box-shadow:none}.sof-card{background:#fff;border:1px solid var(--sof-border);border-radius:28px;padding:2rem;box-shadow:var(--sof-shadow);height:100%;position:relative;overflow:hidden}.sof-card:after{content:'🦋';position:absolute;right:1.2rem;top:1rem;opacity:.09;font-size:2.6rem}.sof-card h3,.sof-section-title{font-family:Georgia,serif;color:var(--sof-dark)}
.sof-section{padding:5rem 0}.sof-section-title{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:1rem}.sof-muted{color:var(--sof-gray)}
.sof-slider{border-radius:34px;overflow:hidden;box-shadow:var(--sof-shadow);background:#fff}.sof-slide{min-height:420px;display:flex;align-items:end;padding:3rem;background-size:cover;background-position:center;position:relative}.sof-slide:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(48,48,54,.68))}.sof-slide-content{position:relative;color:#fff;max-width:600px}.sof-slide-content h2{font-family:Georgia,serif;font-size:clamp(2rem,5vw,4rem)}
.sof-slide-empty{background:linear-gradient(135deg,#fff1f5,#f4f3f4)}.sof-slide-empty:before{background:transparent}.sof-slide-empty .sof-slide-content{color:var(--sof-dark)}
.sof-page-header{padding:4rem 0;background:linear-gradient(135deg,#fff1f5,#fff);border-bottom:1px solid var(--sof-border);position:relative;overflow:hidden}.sof-page-header:after{content:'✿';position:absolute;right:7%;top:8%;font-size:8rem;color:rgba(217,138,164,.14)}
.sof-content{font-size:1.06rem;line-height:1.8}.sof-content h1,.sof-content h2,.sof-content h3,.sof-content h4,.sof-content h5{font-family:Georgia,serif;color:var(--sof-rose);margin-top:1.4rem}.sof-content img{max-width:100%;height:auto;border-radius:24px;box-shadow:var(--sof-shadow)}.sof-content-col{background:#fff;border:1px solid var(--sof-border);border-radius:24px;padding:1.4rem}.sof-form-placeholder{padding:1rem;border:1px dashed var(--sof-pink);border-radius:18px;background:var(--sof-pink-soft)}
.sof-footer{background:var(--sof-dark);color:#fff;padding:4rem 0 2rem;margin-top:4rem}.sof-footer a{color:#ffd9e5}.sof-footer .sof-brand{color:#fff!important}.sof-footer hr{border-color:rgba(255,255,255,.14)}
.wp-block-gallery,.gallery{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.gallery img{border:0!important;border-radius:20px;box-shadow:var(--sof-shadow)}
@media(max-width:991px){.sof-hero{padding:4rem 0 3rem}.sof-slide{min-height:330px;padding:2rem}}
/* Correções v2.1: menu limpo, banco legado e responsividade */
.sof-nav-container{display:flex;align-items:center;gap:1rem;max-width:1180px;overflow:visible}.sof-brand{white-space:normal;line-height:1.1;max-width:420px}.sof-brand img{max-height:72px;width:auto}.sof-menu-clean{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:flex-end}.sof-menu-clean .nav-item{width:auto;max-width:none}.sof-menu-clean .nav-link{font-size:.92rem;padding:.65rem .55rem;white-space:nowrap;line-height:1.15}.navbar-collapse{min-width:0}.sof-topbar .container{max-width:1180px}.sof-content table{width:100%;max-width:100%;display:block;overflow-x:auto}.sof-content iframe,.sof-content object,.sof-content embed{max-width:100%}.sof-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.sof-gallery-grid figure{margin:0;background:#fff;border:1px solid var(--sof-border);border-radius:22px;overflow:hidden;box-shadow:var(--sof-shadow)}.sof-gallery-grid img{width:100%;height:220px;object-fit:cover;display:block}.sof-intro-card ul{padding-left:1.2rem}.sof-content .sof-legacy-block{margin-bottom:1rem}@media(max-width:1199px){.sof-brand{font-size:1.35rem;max-width:330px}.sof-menu-clean .nav-link{font-size:.84rem;padding:.5rem .38rem}}@media(max-width:991px){.sof-menu-clean{align-items:flex-start;justify-content:flex-start;padding-top:1rem}.sof-menu-clean .nav-link{font-size:1rem;padding:.55rem 0}.sof-brand{max-width:75%}}
