@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');
:root{--bg:#0a0a0a;--panel:#1c1c1c;--yellow:#ffd000;--orange:#ff8700;--muted:#a9a9b3;--line:#343434;--white:#f8f8f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--white);font:16px 'DM Sans',Arial,sans-serif;line-height:1.65}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--yellow)}.container{width:min(1100px,calc(100% - 42px));margin:auto}.topbar{height:83px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:38px;padding:0 max(26px,calc((100% - 1160px)/2));background:#080808f7;border-bottom:1px solid #323232;backdrop-filter:blur(14px)}.brand{display:flex;flex-direction:column;flex-shrink:0;line-height:1.25}.brand strong{font:700 24px 'Playfair Display',Georgia,serif;color:var(--yellow)}.brand span{font-size:10px;color:var(--orange);letter-spacing:3px;font-weight:800;margin-top:5px}.topbar nav{display:flex;align-items:center;gap:28px;flex:1}.topbar nav a,.client-nav{font-size:14px}.client-nav{border:1px solid #6a5509;border-radius:25px;padding:8px 12px;background:#17130b;color:var(--yellow)}.hotline{border:1px solid var(--line);border-radius:40px;padding:9px 17px;display:flex;align-items:center;gap:10px;white-space:nowrap;background:#131313}.hotline small{display:block;color:#a1a1a1;font-size:9px;line-height:1.2}.hotline b{font-size:13px}.call-icon{background:var(--orange);color:#050505;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:21px}.mobile-menu{display:none}.hero{padding:52px 0 0;background:radial-gradient(ellipse at 40% 0%,#24180b 0%,#0a0a0a 60%)}.hero-inner{text-align:center;padding:5px 0 48px}.eyebrow{color:#d8a725;font-size:11px;letter-spacing:3px;font-weight:800}.hero h1{font:700 clamp(38px,5.1vw,65px)/1.14 'Playfair Display',Georgia,serif;color:var(--yellow);letter-spacing:-1.7px;margin:17px auto 24px;max-width:950px}.hero-desc{max-width:665px;margin:0 auto;color:#c5c6d1;font-size:19px;line-height:1.6}.hero-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:39px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:40px;padding:13px 34px;font-size:14px;font-weight:800;border:2px solid transparent;min-height:53px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--orange);color:#090909;box-shadow:0 7px 22px #ff870042}.primary:hover{color:#000;box-shadow:0 9px 30px #ff87005a}.outline{border-color:var(--yellow);color:var(--yellow);background:transparent}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;border:1px solid var(--line);background:#151515;border-radius:20px;padding:30px 15px;transform:translateY(25px)}.feature-strip article{text-align:center}.feature-strip span{font-size:32px;color:var(--orange)}.feature-strip h3{margin:4px 0 1px;font-size:18px}.feature-strip p{color:var(--muted);margin:0;font-size:14px}.section{padding:95px 0 100px}.section-dark{background:#121212}.section-head{text-align:center;margin:0 auto 48px}.section-head h2,.owners h2,.about-grid h2{font:700 clamp(30px,3.4vw,43px) 'Playfair Display',Georgia,serif;color:var(--yellow);margin:0 0 14px}.section-head i,.underline{display:block;background:var(--orange);height:4px;width:65px;border-radius:4px;margin:0 auto 16px}.section-head p{color:var(--muted);margin:0}.plan-card{max-width:380px;margin:auto;background:#202020;border:1px solid #444;border-top:4px solid var(--orange);border-radius:17px;padding:34px 29px 28px;position:relative;box-shadow:0 14px 35px #0007}.plan-badge{position:absolute;top:-17px;left:50%;transform:translateX(-50%);background:var(--orange);border-radius:25px;padding:5px 17px;font-size:10px;color:#090909;font-weight:800;white-space:nowrap}.plan-card h3{text-align:center;font-size:21px;margin:10px 0 17px}.price{text-align:center;display:flex;justify-content:center;align-items:baseline;gap:4px;color:var(--yellow)}.price strong{font-size:55px;line-height:1.2}.price span{font-size:12px;color:var(--muted)}.plan-card>p{text-align:center;font-size:13px;color:var(--muted);margin:14px 0 22px}.plan-card ul{list-style:none;padding:0;margin:0 0 23px}.plan-card li{font-size:12px;border-bottom:1px solid #343434;padding:11px 0 11px 22px;position:relative}.plan-card li:before{content:'✓';position:absolute;left:0;color:var(--orange);font-weight:800}.plan-card .btn{width:100%}.fine-print{text-align:center;color:#888;font-size:12px;margin:18px auto 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.service{background:#202020;border:1px solid #373737;border-radius:17px;padding:31px 27px;text-align:center;min-height:235px}.service>span{border:1px solid var(--orange);border-radius:50%;width:55px;height:55px;display:grid;place-items:center;color:var(--orange);font-size:28px;margin:0 auto 12px}.service h3{font-size:19px;margin:0 0 10px}.service p{color:var(--muted);font-size:14px;margin:0}.partner-panel{margin:70px auto 0;max-width:920px;display:grid;grid-template-columns:1fr 1fr;border:1px solid #383838;border-radius:18px;overflow:hidden;background:#1e1e1e}.partner-art{min-height:330px;background:linear-gradient(145deg,#070707,#161006 65%,#e7b600);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.partner-icon{font-size:110px;color:var(--yellow);line-height:1.1}.partner-art p{font-weight:800;font-size:26px;color:var(--yellow);line-height:1.2}.partner-art small{color:#ddd}.partner-copy{padding:42px 37px;align-self:center}.partner-copy h3{font:700 28px 'Playfair Display',Georgia,serif;color:var(--yellow)}.partner-copy p{color:var(--muted);font-size:14px}.partner-copy blockquote{border-left:3px solid var(--orange);padding-left:15px;font-style:italic;margin:25px 0 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-grid .underline{margin:0 0 24px}.about-grid p{color:#b9b9c4;margin:0 0 20px}.about-visual{min-height:345px;background:linear-gradient(130deg,#222,#050505);border:1px solid #363636;border-radius:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.visual-mark{font:800 86px/.9 'Playfair Display',Georgia,serif;color:var(--yellow)}.visual-mark span{font:800 32px 'DM Sans',sans-serif}.about-visual p{margin:20px 0 0;color:#c6c6c6}.owners{background:#1b1b1b;border:1px solid #343434;border-radius:20px;margin-top:70px;text-align:center;padding:40px 20px 45px}.owners h2{font-size:32px}.owners>p{color:var(--muted);font-size:14px;margin:0 0 25px}.owners img{display:block;height:450px;width:auto;max-width:100%;object-fit:contain;border-radius:12px;margin:auto;box-shadow:0 14px 32px #0006}.owner-names{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:22px}.owner-names div{display:flex;flex-direction:column;gap:2px}.owner-names b{color:var(--orange);font-size:14px}.owner-names span{color:var(--muted);font-size:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact-list{display:grid;gap:17px}.contact-list article{display:flex;gap:25px;align-items:center;border:1px solid #353535;border-left:4px solid var(--orange);background:#1c1c1c;border-radius:14px;padding:19px 20px}.contact-list article>span{font-size:25px;color:var(--orange)}.contact-list h3{font-size:15px;margin:0 0 3px}.contact-list p,.contact-list a{font-size:14px;color:var(--muted);margin:0}.map-wrap{background:#202020;border:1px solid #383838;border-radius:15px;padding:9px;min-height:415px;display:flex;flex-direction:column}.map-wrap iframe{border:0;width:100%;flex:1;min-height:350px;border-radius:10px}.map-wrap>a{font-size:12px;color:var(--yellow);text-align:center;padding:8px}footer{text-align:center;border-top:1px solid #353535;padding:36px 20px 45px}footer h3{color:var(--yellow);font:700 20px 'Playfair Display',Georgia,serif}footer p,footer small{color:var(--muted)}footer .credit{font-size:11px;color:#777}.whatsapp{position:fixed;bottom:25px;right:25px;z-index:35;background:#1bd76b;color:white!important;border-radius:50%;width:55px;height:55px;display:grid;place-items:center;font-size:30px;box-shadow:0 5px 22px #00cc5b66}.client-float{position:fixed;bottom:25px;left:25px;z-index:35;border:1px solid #8b700c;border-radius:30px;background:#17130a;color:var(--yellow);font-weight:800;padding:13px 18px;box-shadow:0 6px 25px #000a}.client-float:hover{background:#29210b}.modal[hidden],#loginView[hidden],#dashboardView[hidden]{display:none!important}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}.modal-backdrop{position:absolute;inset:0;background:#000c;backdrop-filter:blur(8px)}.modal-panel{position:relative;background:#191919;border:1px solid #66501d;border-radius:20px;padding:30px;width:min(650px,100%);max-height:min(90vh,800px);overflow-y:auto;box-shadow:0 30px 90px #000e;animation:pop .25s ease}@keyframes pop{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}.close{position:absolute;right:18px;top:15px;background:#303030;border:1px solid #444;border-radius:10px;color:white;font-size:27px;width:40px;height:40px}.modal-brand{font:700 23px 'Playfair Display',Georgia,serif;color:var(--yellow)}.modal-brand span{display:block;font:700 10px 'DM Sans',sans-serif;letter-spacing:2px;color:var(--orange)}.modal-panel h2{font:700 25px 'Playfair Display',Georgia,serif;margin:23px 0 15px}.demo-note{padding:11px;border:1px solid #765e23;background:#2c2415;border-radius:9px;color:#ffe09a;font-size:12px;margin-bottom:18px}.modal-panel label{display:block;font-size:13px;color:#ddd;margin:12px 0 5px}.modal-panel input{width:100%;background:#292929;border:1px solid #555;border-radius:9px;color:#fff;padding:12px 13px;outline:none}.modal-panel input:focus{border-color:var(--orange)}.wide{width:100%;margin-top:16px}.error{color:#ff8b8b;font-size:13px;min-height:20px}.demo-hint{font-size:12px;color:var(--muted)}.account-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.account-head h3{margin:0;font-size:23px}.account-head p{margin:0;color:var(--muted)}.muted{color:var(--muted);font-size:12px}.secondary-btn{background:#303030;border:1px solid #555;border-radius:9px;padding:8px 13px;color:white}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.stats>div{background:#292929;border:1px solid #393939;border-radius:10px;padding:13px}.stats small{display:block;color:var(--muted);font-size:11px}.stats strong{font-size:20px;color:var(--yellow)}.parcel-title{display:flex;justify-content:space-between;align-items:center}.parcel-title h3{margin:0}.parcel-title span{font-size:12px;color:var(--muted)}.parcel-list{display:grid;gap:9px;margin:14px 0;max-height:350px;overflow-y:auto}.parcel{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;background:#242424;border:1px solid #3c3c3c;border-radius:10px}.parcel b{display:block;font-size:14px}.parcel small{display:block;color:var(--muted);font-size:11px}.parcel-right{display:flex;align-items:center;gap:12px}.parcel-right strong{white-space:nowrap}.pay-btn{background:var(--orange);border:0;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:800}.paid{color:#78df9a;font-size:12px}.reset-btn{font-size:12px}.toast{position:fixed;z-index:200;left:50%;bottom:20px;transform:translate(-50%,25px);background:#303020;border:1px solid var(--yellow);border-radius:10px;padding:13px 18px;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100% - 40px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}body.modal-open{overflow:hidden}
@media(max-width:1050px){.topbar{gap:18px;padding:0 22px}.topbar nav{gap:13px}.hotline{padding:7px 10px}.brand strong{font-size:20px}}@media(max-width:790px){.topbar{height:70px;justify-content:space-between}.mobile-menu{display:block;order:3;border:1px solid #444;background:#1c1c1c;color:#fff;border-radius:8px;padding:5px 12px;font-size:23px}.topbar nav{display:none;position:absolute;top:70px;left:0;right:0;background:#151515;padding:20px;flex-direction:column;align-items:stretch;gap:14px;border-bottom:1px solid #444}.topbar nav.open{display:flex}.hotline{margin-left:auto}.hero{padding-top:38px}.desktop-only{display:none}.hero h1{font-size:clamp(34px,7vw,52px)}.hero-desc{font-size:16px}.feature-strip{grid-template-columns:repeat(2,1fr);gap:25px}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.partner-panel{grid-template-columns:1fr}.partner-art{min-height:250px}.section{padding:75px 0}.owners img{height:410px}}@media(max-width:520px){.container{width:min(100% - 28px,1100px)}.brand strong{font-size:18px}.brand span{font-size:8px;letter-spacing:2px}.hotline{display:none}.hero h1{font-size:37px}.hero-actions{gap:12px}.hero-actions .btn{width:100%}.feature-strip{padding:22px 10px}.feature-strip h3{font-size:15px}.feature-strip p{font-size:12px}.service-grid{grid-template-columns:1fr}.partner-copy{padding:28px}.owners{padding:30px 10px}.owners img{height:360px}.owner-names{gap:10px}.contact-list article{padding:15px 12px;gap:13px}.contact-list p,.contact-list a{font-size:12px}.client-float{bottom:18px;left:12px;padding:12px}.whatsapp{bottom:18px;right:12px}.modal-panel{padding:22px 16px}.stats strong{font-size:15px}.stats small{font-size:10px}.parcel{padding:10px}.parcel-right{gap:5px}.parcel-right strong{font-size:12px}.pay-btn{padding:8px}}

/* Pró-Família: visual inspirado na Pax Vila Nova, com identidade original */
.brand img{width:190px;max-height:58px;object-fit:contain;object-position:left center;display:block}
.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:stretch}
.plans-grid .plan-card{width:100%;max-width:none;margin:0;display:flex;flex-direction:column}
.plans-grid .plan-card .btn{margin-top:auto}
.plans-grid .plan-card h3{min-height:54px}
.plans-grid .price strong{font-size:46px}
.profamilia-visual{background:#052817;padding:24px}
.profamilia-visual img{display:block;width:min(100%,520px);height:auto}
@media(max-width:1050px){.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand img{width:155px}}
@media(max-width:620px){.plans-grid{grid-template-columns:1fr}.brand img{width:158px}}

/* Pró-Família v1.2 — realce da área do cliente e rodapé */
.client-nav,.client-float{
  background:linear-gradient(135deg,#ff9e22 0%,#ff7900 55%,#f15b00 100%);
  color:#17100b!important;border:1px solid #ffc36c;
  font-weight:800;letter-spacing:.015em;
  box-shadow:0 6px 22px rgba(255,116,0,.3),inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.client-nav{padding:10px 17px;white-space:nowrap}
.client-float{padding:14px 22px;font-size:14px;box-shadow:0 9px 30px rgba(255,111,0,.48)}
.client-nav:hover,.client-float:hover{background:linear-gradient(135deg,#ffb446,#ff8600);color:#111!important;transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,116,0,.5)}
.client-nav:focus-visible,.client-float:focus-visible{outline:3px solid #ffe19a;outline-offset:3px}
footer{padding:48px 20px 52px;background:linear-gradient(180deg,#141414,#090909);border-top:2px solid #e5a500}
footer h3{font-size:clamp(23px,2.5vw,28px);margin:0 0 12px}
footer p{font-size:15px;margin:8px 0;line-height:1.7}
footer small{display:block;font-size:13px;line-height:1.7}
footer .credit{font-size:13px;color:#aaa;margin-top:15px}
@media(max-width:520px){.client-float{left:12px;bottom:18px;padding:12px 16px;font-size:13px}.client-nav{width:100%;text-align:center}footer{padding:38px 18px 46px}footer p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.client-nav,.client-float{transition:none}}

/* v1.4: destaque institucional e hierarquia visual refinada */
.hero .hero-brand{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(26px,3.7vw,46px);
  font-weight:800;letter-spacing:.025em;line-height:1.16;
  color:#ffd400;text-transform:none;
  text-shadow:0 4px 24px rgba(255,192,0,.12);
}
.hero .hero-heading{
  font-size:clamp(30px,4vw,50px);
  line-height:1.2;letter-spacing:-.7px;
  max-width:850px;
  margin:14px auto 23px;
}
.hotline{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.hotline:hover{transform:translateY(-2px);border-color:#ff9000;box-shadow:0 7px 22px rgba(255,136,0,.18)}
.hotline b{white-space:nowrap}
@media(max-width:620px){
 .hero .hero-brand{font-size:clamp(25px,8vw,36px)}
 .hero .hero-heading{font-size:clamp(28px,7.3vw,37px);letter-spacing:-.4px}
}
