/* Dra. Natasha Vogel — LP */
:root{
  --bg:#e6ded6;--card:#ebe6e0;--border:#cfc7be;--text:#3a3a3c;--muted:#58585b;
  --primary:#8a4228;--dark:#472615;--accent:#0097b2;--terracota:#bf694c;--cobre:#b87333;
  --olive:#4b5320;--sage:#c5c6b6;--sand:#d2b48c;--cream:#f5f2ef;--light:#e9e0d2;
  --radius:12px;--shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Poppins,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:Poppins,sans-serif}
img{max-width:100%;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--dark)}
svg.ic{flex-shrink:0}
section[id],footer[id]{scroll-margin-top:96px}
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 32px}
.section{padding:40px 0}
.section-title{font-size:24px;font-weight:600;color:var(--primary);line-height:1.25;text-align:center;margin-bottom:56px}
.section-title.olive{color:var(--olive)}
.relative{position:relative;overflow:hidden}
.z{position:relative;z-index:10}
.center{text-align:center}
.mt-cta{margin-top:56px}

/* Botão */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:9999px;background:var(--accent);color:#fff;font:600 14px/1.4 Poppins,sans-serif;border:0;cursor:pointer;box-shadow:var(--shadow);transition:opacity .2s}
.btn:hover{opacity:.9;color:#fff}
.btn-lg{padding:16px 40px;font-size:16px}

/* Elementos decorativos */
.spin-deco{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;display:none}
.spin-deco img{width:256px;opacity:.3;animation:spin 20s linear infinite}
.spin-deco.left{left:-128px}.spin-deco.right{right:-128px}
@keyframes spin{to{transform:rotate(360deg)}}

/* Header */
.header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(230,222,214,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(207,199,190,.5)}
.header-bar{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 40px}
.header-logo{display:flex;align-items:center;flex-shrink:0}
.header-logo img{height:32px;width:auto;max-width:none}
.nav{display:none;align-items:center;gap:24px}
.nav a{font-size:14px;font-weight:500;color:rgba(58,58,60,.7);transition:color .2s}
.nav a:hover{color:var(--primary)}
.socials{display:flex;align-items:center;gap:12px}
.nav .socials{margin-left:16px;padding-left:16px;border-left:1px solid rgba(207,199,190,.5)}
.menu-btn{background:none;border:0;padding:4px;cursor:pointer;display:flex;color:var(--text)}
.menu-btn .ic-close{display:none}
.header.open .menu-btn .ic-open{display:none}
.header.open .menu-btn .ic-close{display:block}
.mobile-nav{display:none;background:var(--bg);border-top:1px solid rgba(207,199,190,.5);padding-bottom:16px}
.header.open .mobile-nav{display:block}
.mobile-nav a{display:block;padding:12px 24px;font-size:14px;color:rgba(58,58,60,.7)}
.mobile-nav .socials{gap:16px;padding:12px 24px 0}
.mobile-nav .socials a{padding:0}

/* Hero */
.hero{position:relative;min-height:80vh;display:flex;align-items:center;padding-top:24px;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:right}
.hero-inner{position:relative;z-index:10;padding-top:20px;padding-bottom:20px}
.hero-content{max-width:672px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-crm{font-size:12px;letter-spacing:.1em;color:var(--muted);margin-bottom:12px;text-transform:uppercase}
.hero h1{font-size:24px;line-height:1.25;color:var(--primary);font-weight:600;margin-bottom:12px}
.hero h1 span{display:block;font-size:16px;color:rgba(58,58,60,.9);font-weight:400;line-height:1.375;margin-top:4px}
.hero-text{font-size:14px;color:rgba(58,58,60,.8);line-height:1.6;margin-bottom:16px;max-width:576px}
.hero-tags{display:none;margin-top:40px;flex-wrap:wrap;gap:16px;font-size:14px;color:rgba(58,58,60,.7)}
.hero-tags span{border:1px solid rgba(58,58,60,.3);border-radius:9999px;padding:6px 16px}

/* Sobre */
.about-grid{display:grid;gap:48px;align-items:center;margin-bottom:80px}
.about-photo{border-radius:16px;width:100%;max-width:448px;margin:0 auto}
.about h2{font-size:24px;color:var(--primary);font-weight:600;margin-bottom:24px;line-height:1.25}
.about-text{display:flex;flex-direction:column;gap:16px;color:rgba(58,58,60,.7);line-height:1.625;font-size:14px}
.cards-4{display:grid;gap:24px}
.card-terra{background:var(--terracota);border-radius:var(--radius);padding:24px;height:100%;transition:box-shadow .2s}
.card-terra:hover{box-shadow:var(--shadow)}
.card-terra .ic{color:#fff;margin-bottom:16px}
.card-terra h3{font-size:18px;color:#fff;font-weight:600;margin-bottom:8px}
.card-terra p{font-size:14px;color:rgba(255,255,255,.8);line-height:1.625}

/* Parallax */
.parallax{position:relative;height:35vh;min-height:280px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-position:center;background-size:cover;background-attachment:fixed}
.parallax::before{content:"";position:absolute;inset:0;background:rgba(71,38,21,.7)}
.parallax-inner{position:relative;z-index:10;text-align:center;padding:0 24px}
.parallax p{font-size:20px;color:var(--cream);line-height:1.625;max-width:768px;margin:0 auto}
.parallax .btn{margin-top:24px}
.parallax-1{background-image:url(../img/parallax1.jpg)}
.parallax-2{background-image:url(../img/parallax2.jpg)}
.parallax-3{background-image:url(../img/parallax3.jpg)}

/* Sintomas */
.symptoms{background:var(--sand)}
.symptoms .section-title{margin-bottom:24px;padding:0 16px}
.symptoms-intro{color:rgba(58,58,60,.7);text-align:center;max-width:1200px;margin:0 auto 56px;line-height:1.625;padding:0 16px}
.symptoms-grid{display:grid;gap:20px}
.symptom{display:flex;align-items:flex-start;gap:16px}
.symptom-ic{width:56px;height:56px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--terracota)}
.symptom-ic img{width:32px;height:32px;object-fit:contain}
.symptom span{font-size:14px;color:rgba(58,58,60,.8);line-height:1.375;padding-top:12px}

/* Carrossel */
.services{padding:16px 0 40px}
.carousel{max-width:1024px;margin:0 auto;position:relative}
.carousel-viewport{overflow:hidden}
.carousel-track{display:flex;margin-left:-16px;transition:transform .5s ease}
.carousel-item{flex:0 0 100%;min-width:0;padding-left:16px}
.service-card{background:var(--card);border-radius:var(--radius);border:1px solid rgba(207,199,190,.4);height:100%;display:flex;flex-direction:column;overflow:hidden}
.service-card img{width:100%;height:192px;object-fit:cover;background:rgba(138,66,40,.1)}
.service-body{padding:24px;display:flex;flex-direction:column;flex:1}
.service-body h3{font-size:18px;color:var(--primary);font-weight:600;margin-bottom:12px}
.service-body p{font-size:14px;color:rgba(58,58,60,.7);line-height:1.625;flex:1}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text)}
.carousel-btn:hover{background:var(--card)}
.carousel-btn.prev{left:-16px}.carousel-btn.next{right:-16px}

/* Consulta */
.consult{background:var(--sage)}
.consult-grid{display:grid;gap:40px;align-items:start}
.consult h2{font-size:24px;color:var(--olive);font-weight:600;margin-bottom:24px;line-height:1.25}
.consult-text{color:rgba(58,58,60,.7);line-height:1.625;margin-bottom:16px}
.consult-text:last-of-type{margin-bottom:32px}
.consult-box{background:var(--cobre);border-radius:16px;padding:32px}
.consult-box h3{font-size:18px;color:rgba(245,242,239,.9);font-weight:600;margin-bottom:24px}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.checklist li{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:rgba(245,242,239,.9)}
.checklist .ic{color:var(--light);margin-top:2px}

/* Diferenciais */
.difs{padding:16px 0 40px}
.difs-grid{display:grid;gap:24px;max-width:1024px;margin:0 auto}
.card{background:var(--card);border-radius:var(--radius);padding:24px;height:100%;border:1px solid rgba(207,199,190,.4);transition:box-shadow .2s}
.card:hover{box-shadow:var(--shadow)}
.card .ic{color:var(--primary);margin-bottom:16px}
.card h3{font-size:18px;color:var(--primary);font-weight:600;margin-bottom:8px}
.card p{font-size:14px;color:rgba(58,58,60,.6);line-height:1.625}

/* Atendimento */
.care .section-title{margin-bottom:16px}
.care-intro{color:rgba(58,58,60,.7);text-align:center;max-width:768px;margin:0 auto 56px;line-height:1.625}
.card-olive{background:var(--olive);border-radius:var(--radius);padding:24px;height:100%;color:#fff}
.card-olive .ic{margin-bottom:16px}
.card-olive h3{font-size:18px;font-weight:600;margin-bottom:12px}
.card-olive p{font-size:14px;color:rgba(255,255,255,.8);line-height:1.625}
.card-olive.big{padding:32px;margin-bottom:24px;height:auto}
.card-olive-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.card-olive-head .ic{margin:0}
.card-olive-head h3{font-size:20px;margin:0}
.card-olive.big > p{margin-bottom:24px}
.locations{display:grid;gap:24px;font-size:14px}
.location p{color:rgba(255,255,255,.7);font-size:14px}
.location strong{display:block;font-weight:600;color:rgba(255,255,255,.9)}
.location iframe{width:100%;height:180px;border:0;border-radius:8px;margin-top:12px;display:block}
.location a{display:inline-block;margin-top:8px;color:rgba(255,255,255,.9);text-decoration:underline;font-size:12px}
.location a:hover{color:#fff}
.care-cards{display:grid;gap:24px;margin-bottom:56px}

/* FAQ */
.faq{padding-top:8px}
.faq .section-title{margin-bottom:24px}
.faq-deco{position:absolute;right:0;top:50%;transform:translateY(-50%);width:256px;opacity:.3;pointer-events:none;display:none}
.faq-grid{display:grid;gap:40px;align-items:center}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--card);border:1px solid rgba(207,199,190,.4);border-radius:var(--radius);padding:0 24px}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;cursor:pointer;font-size:16px;font-weight:500;color:rgba(58,58,60,.9)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .ic{transition:transform .2s}
.faq-item[open] summary .ic{transform:rotate(180deg)}
.faq-item p{padding-bottom:20px;font-size:14px;color:rgba(58,58,60,.7);line-height:1.625}
.faq-photo{display:none;align-self:end}
.faq-photo img{border-radius:16px;max-width:384px;width:100%;object-fit:cover}

/* CTA final */
.cta{position:relative;background:url(../img/fundo.jpg) center/cover}
.cta::before{content:"";position:absolute;inset:0;background:rgba(71,38,21,.75)}
.cta .container{position:relative;z-index:10;text-align:center}
.cta h2{font-size:24px;color:var(--cream);font-weight:600;margin:0 auto 24px;line-height:1.25;max-width:768px}
.cta p{color:rgba(245,242,239,.8);line-height:1.625;margin:0 auto 16px;max-width:768px}
.cta p:last-of-type{margin-bottom:40px}

/* Contato */
.contact .container{max-width:768px}
.contact .section-title{margin-bottom:40px}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;gap:20px}
.contact-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500;color:rgba(58,58,60,.7)}
.contact-form input,.contact-form textarea{width:100%;border-radius:8px;border:1px solid var(--border);background:var(--card);padding:12px 16px;font:16px Poppins,sans-serif;color:var(--text);outline:none}
.contact-form textarea{resize:none}
.contact-form input:focus,.contact-form textarea:focus{box-shadow:0 0 0 2px rgba(0,151,178,.5)}

/* Footer */
.footer{background:var(--dark);color:var(--cream);padding:64px 0}
.footer-grid{display:grid;gap:40px;margin-bottom:48px}
.footer-logo{height:64px;width:auto;margin-bottom:24px}
.footer p{font-size:14px;opacity:.7;line-height:1.625}
.footer p + p{margin-top:4px}
.footer a{color:inherit;text-decoration:underline}
.footer h4{font-weight:600;margin-bottom:12px}
.footer .socials{margin-top:16px}
.footer .socials a{opacity:.7;text-decoration:none;display:flex;transition:opacity .2s}
.footer .socials a:hover{opacity:1}
.footer-bottom{border-top:1px solid rgba(245,242,239,.2);padding-top:32px;text-align:center;display:flex;flex-direction:column;gap:8px}
.footer-bottom p{font-size:12px;opacity:.6;margin:0}

/* Política */
.legal{padding:112px 0 64px}
.legal .container{max-width:960px}
.legal h1{font-size:30px;font-weight:600;color:var(--primary);margin-bottom:32px}
.legal h2{font-size:24px;font-weight:600;color:var(--primary);margin:40px 0 16px}
.legal h3{font-size:20px;font-weight:600;margin:24px 0 12px}
.legal p{color:rgba(58,58,60,.8);line-height:1.625;margin-bottom:16px}
.legal a{text-decoration:underline}

/* Animação de entrada */
.fade{opacity:0;transform:translateY(30px);transition:opacity .7s ease-out,transform .7s ease-out}
.fade.from-left{transform:translateX(30px)}
.fade.from-right{transform:translateX(-30px)}
.fade.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}.spin-deco img{animation:none}}

/* Tablet ≥768 */
@media (min-width:768px){
  .section{padding:56px 0}
  .section-title,.about h2,.consult h2,.cta h2{font-size:30px}
  .header-bar{height:80px}
  .header-logo img{height:40px}
  .hero{min-height:100vh;padding-top:80px}
  .hero-inner{padding-top:80px;padding-bottom:80px}
  .hero-content{align-items:flex-start;text-align:left}
  .hero-crm,.hero h1{margin-bottom:24px}
  .hero h1{font-size:36px}
  .hero h1 span{font-size:24px;margin-top:8px}
  .hero-text{font-size:16px;margin-bottom:32px}
  .hero-tags{display:flex}
  .spin-deco,.faq-deco{display:block}
  .about-text{font-size:16px}
  .cards-4{grid-template-columns:repeat(2,1fr)}
  .parallax{height:45vh}
  .parallax p{font-size:30px}
  .parallax .btn{margin-top:32px}
  .symptoms-grid,.difs-grid,.care-cards{grid-template-columns:repeat(2,1fr)}
  .carousel-item{flex-basis:50%}
  .carousel-btn.prev{left:-24px}.carousel-btn.next{right:-24px}
  .locations,.form-row{grid-template-columns:repeat(3,1fr)}
  .consult-box{padding:40px}
  .services,.difs{padding:32px 0 56px}
}
/* Desktop ≥1024 */
@media (min-width:1024px){
  .section{padding:64px 0}
  .section-title,.about h2,.consult h2,.cta h2{font-size:36px}
  .nav{display:flex}
  .menu-btn,.mobile-nav,.header.open .mobile-nav{display:none}
  .hero h1{font-size:48px}
  .hero h1 span{font-size:30px}
  .hero-text{font-size:18px}
  .about-grid{grid-template-columns:1fr 1fr;column-gap:80px}
  .cards-4{grid-template-columns:repeat(4,1fr)}
  .parallax p{font-size:36px}
  .symptoms-grid,.difs-grid{grid-template-columns:repeat(3,1fr)}
  .carousel-item{flex-basis:33.3333%}
  .consult-grid{grid-template-columns:1fr 1fr;column-gap:64px}
  .faq-grid{grid-template-columns:1fr auto}
  .faq-photo{display:block}
  .footer-grid{grid-template-columns:repeat(4,1fr)}
  .services,.difs{padding:32px 0 64px}
}
/* iOS não suporta background-attachment:fixed */
@supports (-webkit-touch-callout:none){.parallax{background-attachment:scroll}}
