:root {
  --cream:#F5EFE6; --cream-dark:#E8DDD0; --cream-deep:#D4C4B0;
  --brown:#6B4F3A; --brown-l:#8C6B52; --brown-d:#3D2B1F;
  --gold:#C9A84C; --gold-l:#E8D08A; --gold-d:#A6841F;
  --black:#1A1410; --white:#FEFCF9;
  --text:#2A2018; --muted:#5E5046; --muted-strong:#4A3E34;
  --divider:#D2C4B4;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --r:6px;
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--white); color:var(--text); font-size:16px; line-height:1.7; overflow-x:hidden; }

#sp { position:fixed; top:0; left:0; height:2px; width:0%; background:linear-gradient(to right,var(--brown),var(--gold)); z-index:9999; }

#preloader { position:fixed; inset:0; background:var(--brown-d); z-index:9000; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1rem; transition:opacity .7s,visibility .7s; }
#preloader.done { opacity:0; visibility:hidden; pointer-events:none; }
.pre-name { font-family:var(--serif); font-size:clamp(1.6rem,7vw,3rem); font-weight:400; color:var(--white); letter-spacing:.2em; text-transform:uppercase; opacity:0; animation:preIn .9s cubic-bezier(.22,.68,0,1.2) .4s forwards; text-align:center; }
.pre-name em { font-style:italic; color:var(--gold-l); }
.pre-crp { font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,.45); opacity:0; animation:preIn .7s ease .85s forwards; }
.pre-bar { width:100px; height:2px; background:rgba(255,255,255,.12); overflow:hidden; border-radius:4px; margin-top:.25rem; }
.pre-fill { height:100%; background:var(--gold); width:0%; animation:preBar 1.6s ease .3s forwards; border-radius:4px; }
@keyframes preIn { from{opacity:0;transform:translateY(12px);filter:blur(4px)} to{opacity:1;transform:none;filter:none} }
@keyframes preBar { from{width:0%} to{width:100%} }

nav { position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(254,252,249,.98); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid var(--divider); padding:0 1.25rem; display:flex; align-items:center; justify-content:space-between; height:64px; transform:translateY(0); transition:transform .35s ease,box-shadow .3s; }
nav.hide { transform:translateY(-100%); }
nav.scrolled { box-shadow:0 1px 24px rgba(61,43,31,.09); }
.nav-logo { font-family:var(--serif); font-size:1.05rem; font-weight:500; color:var(--brown-d); letter-spacing:.12em; text-transform:uppercase; text-decoration:none; }
.nav-logo em { font-style:italic; color:var(--brown); font-weight:400; }
.nav-links { display:none; }
.nav-toggle { display:flex; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
.nav-toggle span { width:22px; height:2px; background:var(--brown-d); display:block; transition:all .3s; border-radius:2px; }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav-mobile { display:none; position:fixed; top:64px; left:0; right:0; background:rgba(254,252,249,.99); backdrop-filter:blur(20px); border-bottom:1px solid var(--divider); flex-direction:column; padding:1.5rem; gap:0; z-index:99; border-radius:0 0 12px 12px; box-shadow:0 12px 24px rgba(61,43,31,.08); }
.nav-mobile.open { display:flex; }
.nav-mobile a { text-decoration:none; font-size:.85rem; color:var(--muted-strong); font-weight:500; letter-spacing:.08em; text-transform:uppercase; padding:.95rem 0; border-bottom:1px solid var(--divider); transition:color .2s; }
.nav-mobile a:last-child { border-bottom:none; margin-top:.75rem; }
.nav-mobile a:hover { color:var(--brown); }
.nav-mobile .m-cta { background:var(--brown); color:var(--cream)!important; text-align:center; border-radius:var(--r); padding:.9rem 1rem; border-bottom:none!important; }

#hero { padding-top:64px; display:flex; flex-direction:column; background:var(--cream); }
.hero-right { order:0; display:flex; align-items:center; justify-content:center; position:relative; padding:2.5rem 1.25rem 0; }
.hero-tag-v { display:none; }
.hero-frame { position:relative; padding:.75rem; }
.hero-frame::before { content:''; position:absolute; inset:0; border:1px solid rgba(107,79,58,.25); border-radius:14px; }
.hero-frame::after { display:none; }
.hero-photo { width:100%; max-width:240px; height:300px; border-radius:10px; overflow:hidden; background:var(--cream-deep); display:block; }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.hero-corner { display:none; }
.hero-left { order:1; display:flex; flex-direction:column; justify-content:center; padding:2rem 1.25rem 3rem; }
.hero-eyebrow { font-size:.64rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-d); margin-bottom:1.5rem; font-weight:600; display:flex; align-items:center; gap:.9rem; }
.hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--gold-d); }
.hero-title { font-family:var(--sans); font-size:clamp(1.7rem,6.5vw,2.4rem); font-weight:800; line-height:1.14; color:var(--brown-d); margin-bottom:1.5rem; letter-spacing:-.02em; }
.hero-title em { font-style:italic; color:var(--brown); display:block; font-weight:800; }
.hero-sub { font-size:.94rem; color:var(--muted-strong); max-width:100%; margin-bottom:2.25rem; line-height:1.9; font-weight:400; }
.btn-wpp { display:inline-flex; align-items:center; gap:.7rem; background:#1FA855; color:white; text-decoration:none; padding:1rem 1.75rem; font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; border-radius:var(--r); transition:background .2s,transform .2s; width:fit-content; }
.btn-wpp:hover { background:#178A45; transform:translateX(3px); }
.btn-wpp svg { width:17px; height:17px; flex-shrink:0; }
.hero-note { font-size:.72rem; color:var(--muted); margin-top:.7rem; }
.hero-stats { display:flex; flex-wrap:wrap; margin-top:2.5rem; padding-top:2rem; border-top:1px solid var(--divider); gap:1.25rem 0; }
.hero-stat { display:flex; flex-direction:column; gap:.15rem; padding-right:1.5rem; }
.hero-stat strong { font-family:var(--serif); font-size:1.9rem; font-weight:500; color:var(--brown-d); line-height:1; }
.hero-stat span { font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); font-weight:500; }
.h-sep { width:1px; background:var(--divider); margin-right:1.5rem; align-self:stretch; }

section { padding:4.5rem 0; }
.container { max-width:1100px; margin:0 auto; padding:0 1.25rem; }
.label { font-size:.63rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-d); font-weight:600; display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; }
.label::before { content:''; width:20px; height:1px; background:var(--gold-d); }
.sec-title { font-family:var(--serif); font-size:clamp(2rem,7vw,3.2rem); font-weight:400; line-height:1.1; color:var(--brown-d); margin-bottom:1rem; }
.sec-title em { font-style:italic; color:var(--brown); }

#depoimentos { background:var(--cream); padding:4.5rem 0; overflow:hidden; }
.dep-top { display:flex; flex-direction:column; align-items:flex-start; margin-bottom:2.5rem; gap:1.25rem; }
.dep-rating { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; }
.dep-num { font-family:var(--serif); font-size:3.2rem; font-weight:500; color:var(--brown-d); line-height:1; }
.dep-stars { display:flex; gap:3px; }
.dep-stars svg { width:12px; height:12px; fill:var(--gold-d); }
.dep-meta { font-size:.62rem; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; margin-top:.3rem; font-weight:500; }
.dep-vl { width:1px; height:46px; background:var(--divider); }
.dep-tot span { font-size:.62rem; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; display:block; margin-bottom:.2rem; font-weight:500; }
.dep-tot strong { font-family:var(--serif); font-size:1.5rem; font-weight:500; color:var(--brown-d); }
.dep-carousel { position:relative; }
.dep-viewport { overflow:hidden; border-radius:var(--r); border:1px solid var(--divider); background:var(--divider); cursor:grab; user-select:none; -webkit-user-select:none; }
.dep-viewport:active { cursor:grabbing; }
.dep-track { display:flex; will-change:transform; transition:transform .45s cubic-bezier(.4,0,.2,1); }
.dep-card { flex:0 0 100%; min-width:0; background:var(--white); padding:1.75rem; display:flex; flex-direction:column; gap:1rem; box-sizing:border-box; border-right:1px solid var(--divider); }
.dep-card:last-child { border-right:none; }
.dep-c-stars { display:flex; gap:3px; }
.dep-c-stars svg { width:12px; height:12px; fill:var(--gold-d); }
.dep-c-text { font-family:var(--sans); font-size:.92rem; color:var(--muted-strong); line-height:1.75; font-weight:500; font-style:normal; flex:1; position:relative; padding-left:1.1rem; }
.dep-c-text::before { content:'\201C'; position:absolute; left:-.1rem; top:-.15em; color:var(--gold-d); font-size:2rem; line-height:1; font-family:var(--serif); font-weight:600; }
.dep-footer { display:flex; align-items:center; gap:.7rem; padding-top:1rem; border-top:1px solid var(--divider); }
.dep-av { width:34px; height:34px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:.8rem; font-weight:600; }
.a1{background:var(--brown);color:var(--cream);} .a2{background:var(--brown-l);color:var(--cream);} .a3{background:var(--gold-d);color:var(--white);}
.dep-n { flex:1; }
.dep-n strong { display:block; font-size:.8rem; font-weight:700; color:var(--brown-d); }
.dep-n span { font-size:.68rem; color:var(--muted); font-weight:400; }
.dep-badge { font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-d); border:1px solid var(--gold-d); padding:.2rem .5rem; border-radius:20px; flex-shrink:0; font-weight:600; }
.dep-nav { display:flex; gap:.5rem; margin-top:1.25rem; justify-content:flex-end; align-items:center; }
.dep-dots { display:flex; gap:.4rem; flex:1; align-items:center; }
.dep-dot { width:7px; height:7px; border-radius:50%; background:var(--cream-deep); transition:background .3s,transform .3s; cursor:pointer; }
.dep-dot.active { background:var(--brown); transform:scale(1.3); }
.dep-arrow { width:38px; height:38px; border:1px solid var(--divider); background:var(--white); border-radius:var(--r); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s,background .2s; }
.dep-arrow:hover { border-color:var(--brown); background:var(--brown); }
.dep-arrow:hover svg { stroke:var(--white); }
.dep-arrow svg { width:15px; height:15px; stroke:var(--muted-strong); stroke-width:2; fill:none; }
.dep-cta { text-align:center; margin-top:2.5rem; padding-top:2.5rem; border-top:1px solid var(--divider); display:flex; flex-direction:column; align-items:center; gap:1rem; }
.btn-outline { display:inline-flex; align-items:center; background:transparent; color:var(--brown); border:1.5px solid var(--gold-d); text-decoration:none; padding:.85rem 1.75rem; font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; border-radius:var(--r); transition:border-color .2s,color .2s,background .2s; }
.btn-outline:hover { background:var(--gold-d); color:var(--white); }
.btn-brown { display:inline-flex; align-items:center; background:var(--brown); color:var(--cream); text-decoration:none; padding:.95rem 2rem; font-size:.76rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; border-radius:var(--r); transition:background .2s; }
.btn-brown:hover { background:var(--brown-d); }

#sobre { background:var(--white); }
.sobre-grid { display:flex; flex-direction:column; gap:2rem; }
.sobre-photo-col { position:relative; padding-top:1.25rem; max-width:340px; margin:0 auto; width:100%; }
.sobre-tag { position:absolute; top:0; left:0; background:var(--brown-d); color:var(--gold-l); font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; padding:.4rem .85rem; border-radius:0 0 var(--r) var(--r); z-index:3; font-weight:600; }
.sobre-photo { aspect-ratio:4/5; background:var(--cream); border:1px solid var(--divider); border-radius:12px; overflow:hidden; position:relative; }
.sobre-photo img { width:100%; height:100%; object-fit:cover; object-position:center 12%; display:block; }
.sobre-intro { position:relative; font-family:var(--serif); font-size:1.45rem; font-style:italic; font-weight:500; color:var(--brown-d); line-height:1.5; margin-bottom:2rem; padding:2rem 0 2rem 2rem; border-top:1px solid var(--divider); border-bottom:1px solid var(--divider); }
.sobre-intro::before { content:'\201C'; position:absolute; left:-.35rem; top:.6rem; font-family:var(--serif); font-size:3.5rem; line-height:1; color:var(--gold-d); font-style:normal; opacity:.55; }
.sobre-text p { color:var(--muted-strong); font-size:.94rem; margin-bottom:1.1rem; font-weight:400; line-height:1.85; }
.sobre-cred { display:grid; grid-template-columns:1fr; gap:1px; background:var(--divider); border:1px solid var(--divider); margin:1.5rem 0; border-radius:var(--r); overflow:hidden; }
.cred-item { background:var(--cream); padding:1.1rem 1.2rem; display:flex; flex-direction:column; gap:.2rem; }
.cred-item span { font-size:.6rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gold-d); font-weight:600; }
.cred-item strong { font-size:.86rem; color:var(--brown-d); font-weight:500; }
.sobre-stats { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--divider); }
.stat-item { display:flex; flex-direction:column; gap:.15rem; }
.stat-sep { display:none; }
.stat-item strong { font-family:var(--serif); font-size:2rem; font-weight:500; color:var(--brown-d); line-height:1; }
.stat-item span { font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-weight:500; }
.sobre-badges { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--divider); }
.badge { background:transparent; color:var(--brown); border:1px solid var(--cream-deep); border-radius:20px; padding:.32rem .9rem; font-size:.66rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.badge.gold { border-color:var(--gold-d); color:var(--gold-d); }


.sobre-goal { position:relative; margin:2rem 0; padding:1.75rem 1.8rem; background:var(--brown-d); border-radius:var(--r); overflow:hidden; }
.sobre-goal::before { content:''; position:absolute; top:0; left:0; bottom:0; width:3px; background:var(--gold); }
.sobre-goal::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 90% 10%, rgba(201,168,76,.12), transparent 60%); pointer-events:none; }
.sobre-goal span { position:relative; display:flex; align-items:center; gap:.5rem; font-size:.62rem; text-transform:uppercase; letter-spacing:.18em; color:var(--gold-l); font-weight:600; margin-bottom:.7rem; }
.sobre-goal span::before { content:'\2605'; font-size:.8rem; }
.sobre-goal strong { position:relative; display:block; font-family:var(--serif); font-size:1.3rem; font-weight:500; color:var(--white); line-height:1.4; font-style:italic; }

#ciclo { background:var(--brown-d); }
#ciclo .label { color:var(--gold-l); } #ciclo .label::before { background:var(--gold-l); }
#ciclo .sec-title { color:var(--white); } #ciclo .sec-title em { color:var(--gold-l); }
.ciclo-intro { display:flex; flex-direction:column; gap:1.5rem; margin-bottom:3rem; }
.ciclo-intro-r p { font-size:.92rem; color:rgba(255,255,255,.62); font-weight:400; line-height:1.85; padding-top:1rem; border-top:1px solid rgba(255,255,255,.12); }
.ciclo-track { position:relative; display:flex; flex-direction:column; }
.ciclo-line { position:absolute; left:19px; top:20px; bottom:20px; width:1px; background:rgba(255,255,255,.12); }
.ciclo-fill { position:absolute; left:19px; top:20px; width:1px; background:linear-gradient(to bottom,var(--gold-l),rgba(201,168,76,.4)); height:0%; transition:height .6s ease; }
.ciclo-step { display:flex; gap:1.5rem; align-items:flex-start; padding:1.5rem 0; position:relative; opacity:.4; transition:opacity .5s; }
.ciclo-step.active { opacity:1; }
.ciclo-dot { width:40px; height:40px; flex-shrink:0; border:1px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; position:relative; z-index:2; background:var(--brown-d); transition:border-color .4s,background .4s; font-family:var(--serif); font-size:.85rem; font-weight:500; color:rgba(255,255,255,.4); border-radius:var(--r); }
.ciclo-step.active .ciclo-dot { border-color:var(--gold-l); background:var(--gold); color:var(--brown-d); }
.ciclo-step.active .ciclo-dot::after { content:''; position:absolute; inset:-6px; border:1px solid rgba(232,208,138,.35); border-radius:calc(var(--r) + 4px); animation:ripple 1.4s ease infinite; }
@keyframes ripple { 0%{opacity:.7;transform:scale(.95)} 100%{opacity:0;transform:scale(1.4)} }
.ciclo-content h4 { font-family:var(--serif); font-size:1.3rem; font-weight:500; color:var(--white); margin-bottom:.4rem; }
.ciclo-content p { font-size:.88rem; color:rgba(255,255,255,.58); font-weight:400; line-height:1.8; }

#especialidades { background:var(--white); }
.esp-intro { display:flex; flex-direction:column; gap:1.25rem; margin-bottom:2.5rem; }
.esp-intro p { font-size:.92rem; color:var(--muted-strong); font-weight:400; line-height:1.85; padding-top:1rem; border-top:1px solid var(--divider); }
.esp-grid { display:grid; grid-template-columns:1fr; gap:1px; background:var(--divider); border:1px solid var(--divider); border-radius:var(--r); overflow:hidden; }
.esp-card { background:var(--white); padding:2rem 1.75rem; transition:background .25s; position:relative; overflow:hidden; }
.esp-card:hover { background:var(--cream); }
.esp-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--gold-d); transition:width .35s; }
.esp-card:hover::after { width:100%; }
.esp-num { font-family:var(--serif); font-size:2.4rem; font-weight:500; color:var(--cream-deep); line-height:1; margin-bottom:1rem; }
.esp-line { width:20px; height:1px; background:var(--gold-d); margin-bottom:.9rem; }
.esp-card h3 { font-family:var(--serif); font-size:1.3rem; font-weight:500; margin-bottom:.6rem; color:var(--brown-d); }
.esp-card p { font-size:.88rem; color:var(--muted-strong); line-height:1.8; font-weight:400; }

#como-funciona { background:var(--cream); }
.cf-intro { display:flex; flex-direction:column; gap:1.25rem; margin-bottom:2.5rem; }
.cf-intro p { font-size:.92rem; color:var(--muted-strong); font-weight:400; line-height:1.85; padding-top:1rem; border-top:1px solid var(--divider); }
.cf-grid { display:grid; grid-template-columns:1fr; gap:1px; background:var(--divider); border:1px solid var(--divider); border-radius:var(--r); overflow:hidden; }
.cf-card { background:var(--white); padding:2.25rem; transition:background .2s; }
.cf-card:hover { background:var(--cream); }
.cf-icon { width:36px; height:36px; border:1px solid var(--gold-d); border-radius:var(--r); display:flex; align-items:center; justify-content:center; margin-bottom:1.4rem; color:var(--gold-d); }
.cf-icon svg { width:16px; height:16px; }
.cf-title { font-family:var(--serif); font-size:1.55rem; font-weight:500; color:var(--brown-d); margin-bottom:1.2rem; padding-bottom:1.2rem; border-bottom:1px solid var(--divider); }
.cf-card ul { list-style:none; }
.cf-card ul li { padding:.6rem 0; font-size:.88rem; color:var(--muted-strong); border-bottom:1px solid rgba(0,0,0,.05); display:flex; align-items:center; gap:.75rem; font-weight:400; }
.cf-card ul li:last-child { border-bottom:none; }
.cf-card ul li::before { content:''; width:12px; height:1px; background:var(--gold-d); flex-shrink:0; }
.planos-note { margin-top:1.75rem; padding:1.5rem 1.75rem; border:1px solid var(--gold-d); background:rgba(201,168,76,.08); font-size:.88rem; color:var(--muted-strong); font-weight:400; line-height:1.85; display:flex; gap:1rem; align-items:flex-start; border-radius:var(--r); }
.planos-note svg { width:17px; height:17px; flex-shrink:0; color:var(--gold-d); margin-top:2px; }
.planos-note strong { color:var(--brown-d); font-weight:600; }

#faq { background:var(--white); }
.faq-inner { display:flex; flex-direction:column; gap:2.5rem; }
.faq-left p { font-size:.92rem; color:var(--muted-strong); font-weight:400; line-height:1.85; margin-top:1.2rem; }
.faq-list { display:flex; flex-direction:column; gap:1px; background:var(--divider); border:1px solid var(--divider); border-radius:var(--r); overflow:hidden; }
.faq-item { background:var(--white); }
.faq-q { width:100%; background:none; border:none; cursor:pointer; padding:1.35rem 1.5rem; display:flex; justify-content:space-between; align-items:center; text-align:left; gap:1rem; }
.faq-qt { font-family:var(--serif); font-size:1.15rem; font-weight:500; color:var(--brown-d); line-height:1.3; }
.faq-ic { width:28px; height:28px; flex-shrink:0; border:1px solid var(--divider); border-radius:var(--r); display:flex; align-items:center; justify-content:center; transition:border-color .2s,background .2s,transform .3s; }
.faq-ic svg { width:12px; height:12px; stroke:var(--muted-strong); stroke-width:2.5; fill:none; transition:stroke .2s; }
.faq-item.open .faq-ic { background:var(--brown); border-color:var(--brown); transform:rotate(45deg); }
.faq-item.open .faq-ic svg { stroke:var(--white); }
.faq-ans { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-ans-inner { padding:0 1.5rem 1.5rem; font-size:.9rem; color:var(--muted-strong); font-weight:400; line-height:1.85; }

#agendamento { background:var(--cream); }
.agenda-inner { display:flex; flex-direction:column; gap:2.5rem; }
.agenda-left p { font-size:.94rem; color:var(--muted-strong); font-weight:400; line-height:1.85; margin-bottom:2rem; max-width:100%; }
.agenda-info { background:var(--white); border:1px solid var(--divider); border-radius:var(--r); overflow:hidden; }
.agenda-row { padding:1.35rem 1.5rem; border-bottom:1px solid var(--divider); display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.agenda-row:last-child { border-bottom:none; }
.agenda-row span { font-size:.65rem; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; font-weight:600; white-space:nowrap; }
.agenda-row strong { font-size:.86rem; color:var(--brown-d); font-weight:500; text-align:right; }

footer { background:var(--black); padding:3.5rem 0; }
.footer-inner { display:flex; flex-direction:column; align-items:flex-start; gap:2rem; }
.footer-name { font-family:var(--serif); font-size:1.4rem; color:var(--cream); font-weight:400; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.25rem; }
.footer-brand p { font-size:.72rem; color:rgba(255,255,255,.4); letter-spacing:.1em; }
.footer-links { display:flex; gap:1.25rem; list-style:none; flex-wrap:wrap; }
.footer-links a { color:rgba(255,255,255,.4); text-decoration:none; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; transition:color .2s; font-weight:500; }
.footer-links a:hover { color:var(--gold-l); }
.footer-bottom { margin-top:2.5rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.08); font-size:.66rem; color:rgba(255,255,255,.25); letter-spacing:.1em; text-align:center; }

.wpp-float { position:fixed; bottom:1.5rem; right:1.5rem; width:52px; height:52px; background:#1FA855; border-radius:12px; display:flex; align-items:center; justify-content:center; text-decoration:none; z-index:200; transition:transform .2s,background .2s; box-shadow:0 4px 18px rgba(31,168,85,.4); animation:wppBlink 2.4s ease-in-out infinite; }
/* anel que expande e some — reforça a "piscada" */
.wpp-float::before { content:''; position:absolute; inset:0; border-radius:12px; background:#1FA855; z-index:-1; animation:wppRing 2.4s ease-out infinite; }
.wpp-float:hover { transform:translateY(-3px); background:#178A45; animation:none; }
.wpp-float:hover::before { animation:none; opacity:0; }
.wpp-float svg { width:24px; height:24px; }
/* piscada: brilho pulsa levemente */
@keyframes wppBlink {
  0%,100% { box-shadow:0 4px 18px rgba(31,168,85,.4); background:#1FA855; }
  45%     { box-shadow:0 4px 26px rgba(31,168,85,.75); background:#28C265; }
  55%     { box-shadow:0 4px 26px rgba(31,168,85,.75); background:#28C265; }
}
/* anel expandindo */
@keyframes wppRing {
  0%   { transform:scale(1); opacity:.55; }
  70%  { transform:scale(1.6); opacity:0; }
  100% { transform:scale(1.6); opacity:0; }
}

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.22,.68,0,1.2),transform .7s cubic-bezier(.22,.68,0,1.2); }
.reveal.vis { opacity:1; transform:none; }
[data-d="1"]{transition-delay:.08s}[data-d="2"]{transition-delay:.16s}[data-d="3"]{transition-delay:.24s}[data-d="4"]{transition-delay:.32s}
a[href^="tel"] { color:inherit; text-decoration:none; }

@media (min-width:640px) {
  .container { padding:0 2rem; }
  nav { padding:0 2rem; }
  .dep-card { flex-basis:50%; }
  .sobre-cred { grid-template-columns:1fr 1fr; }
  .esp-grid { grid-template-columns:repeat(3,1fr); }
  .cf-grid { grid-template-columns:1fr 1fr; }
  .sobre-stats,.hero-stats { flex-wrap:nowrap; }
  .stat-sep { display:block; width:1px; background:var(--divider); align-self:stretch; }
  .stat-item,.hero-stat { padding-right:1.75rem; }
  .footer-inner { flex-direction:row; justify-content:space-between; align-items:center; }
}

@media (min-width:960px) {
  section { padding:7rem 0; }
  .container { padding:0 3rem; }
  nav { padding:0 3.5rem; height:68px; }
  .nav-links { display:flex; gap:1.75rem; list-style:none; align-items:center; }
  .nav-links a { text-decoration:none; font-size:.72rem; color:var(--muted-strong); font-weight:500; letter-spacing:.1em; text-transform:uppercase; transition:color .2s; position:relative; white-space:nowrap; }
  .nav-links a::after { content:''; position:absolute; bottom:-3px; left:0; right:0; height:1px; background:var(--gold-d); transform:scaleX(0); transition:transform .25s; transform-origin:left; }
  .nav-links a:hover { color:var(--brown); }
  .nav-links a:hover::after { transform:scaleX(1); }
  .nav-cta { background:var(--brown)!important; color:var(--cream)!important; padding:.5rem 1.3rem; border-radius:var(--r)!important; }
  .nav-cta::after { display:none!important; }
  .nav-cta:hover { background:var(--brown-d)!important; }
  .nav-toggle { display:none; }
  #hero { padding-top:68px; min-height:100vh; display:grid; grid-template-columns:55fr 45fr; }
  .hero-left { order:0; padding:5rem 4.5rem 5rem 4rem; }
  .hero-right { order:1; padding:0; background:var(--brown-d); overflow:hidden; }
  .hero-right::before { content:''; position:absolute; inset:0; background: repeating-linear-gradient(45deg,transparent,transparent 60px,rgba(201,168,76,.03) 60px,rgba(201,168,76,.03) 61px), radial-gradient(ellipse at 60% 40%,rgba(201,168,76,.08) 0%,transparent 60%); }
  .hero-tag-v { display:block; position:absolute; top:2.5rem; left:2.5rem; z-index:2; font-size:.54rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.25); writing-mode:vertical-rl; transform:rotate(180deg); }
  .hero-frame { padding:1.5rem; }
  .hero-frame::before { border-color:rgba(201,168,76,.25); }
  .hero-frame::after { content:''; display:block; position:absolute; top:10px; left:10px; right:-10px; bottom:-10px; border:1px solid rgba(201,168,76,.1); border-radius:14px; z-index:-1; }
  .hero-photo { width:280px; height:370px; max-width:none; background:var(--brown-d); }
  .hero-corner { display:block; position:absolute; bottom:2.5rem; right:2.5rem; z-index:2; text-align:right; }
  .hero-corner span { display:block; font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-l); margin-bottom:.2rem; font-weight:600; }
  .hero-corner strong { display:block; font-family:var(--serif); font-size:1.25rem; font-weight:400; color:rgba(255,255,255,.6); }
  .hero-title { font-size:clamp(2.2rem,3.2vw,3rem); }
  .hero-sub { max-width:370px; }
  .dep-top { flex-direction:row; justify-content:space-between; align-items:flex-end; }
  .dep-card { flex-basis:33.333%; }
  .sobre-grid { display:grid; grid-template-columns:5fr 7fr; gap:5rem; align-items:start; }
  .sobre-photo-col { max-width:none; margin:0; }
  .sobre-photo::after { content:''; display:block; position:absolute; bottom:-12px; right:-12px; width:100%; height:100%; border:1px solid var(--divider); border-radius:12px; z-index:-1; }
  .sobre-intro { font-size:1.55rem; }
  .ciclo-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; }
  .ciclo-step { gap:2.5rem; }
  .esp-intro { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:end; }
  .cf-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; }
  .faq-inner { display:grid; grid-template-columns:1fr 2fr; gap:5rem; align-items:start; }
  .agenda-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
  .agenda-left p { max-width:400px; }
}

@media (prefers-reduced-motion:reduce) {
  .reveal { opacity:1; transform:none; transition:none; }
  #preloader { display:none; }
  .wpp-float { animation:none; }
  .wpp-float::before { animation:none; opacity:0; }
}
