:root{
  --ivory:#f7f2e9;
  --ivory-2:#fffdf8;
  --ink:#0e0d0b;
  --ink-2:#16130f;
  --gold:#b98a32;
  --gold-light:#d7b86c;
  --gold-dark:#92681c;
  --line:rgba(185,138,50,.35);
  --line-light:rgba(185,138,50,.18);
  --muted:#5c574e;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
  --shadow:0 18px 45px rgba(41,30,15,.13);
  --shadow-dark:0 15px 35px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:var(--sans);
  background:var(--ivory);
  font-size:15px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.skip-link{
  position:fixed;
  z-index:9999;
  top:10px;
  left:10px;
  padding:10px 16px;
  border:2px solid var(--gold);
  border-radius:4px;
  color:#fff;
  background:#0e0d0b;
  font-size:12px;
  font-weight:700;
  transform:translateY(-160%);
  transition:transform .2s ease;
}
.skip-link:focus{transform:translateY(0)}
:where(a,button,summary,[tabindex]):focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
}
.container{
  width:min(1180px,calc(100% - 48px));
  margin-inline:auto;
}
.section-marble{
  background:
    radial-gradient(circle at 16% 10%,rgba(255,255,255,.95),transparent 25%),
    radial-gradient(circle at 85% 65%,rgba(239,224,198,.35),transparent 30%),
    linear-gradient(115deg,transparent 0 44%,rgba(174,135,73,.09) 44.15%,transparent 44.5% 69%,rgba(174,135,73,.08) 69.15%,transparent 69.5%),
    #f7f2e9;
}
.section-black{
  color:#fff;
  background:
    radial-gradient(circle at 20% 20%,rgba(185,138,50,.08),transparent 30%),
    linear-gradient(125deg,transparent 0 45%,rgba(185,138,50,.12) 45.2%,transparent 45.5% 73%,rgba(185,138,50,.08) 73.2%,transparent 73.5%),
    #11100e;
}
.eyebrow{
  margin:0 0 12px;
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.28em;
  font-weight:600;
  color:var(--gold);
  text-transform:uppercase;
}
h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:600;
  line-height:1.08;
  margin:0;
  letter-spacing:-.015em;
  text-wrap:balance;
}
h2{font-size:clamp(36px,3.8vw,48px)}
p{
  font-family:var(--sans);
  font-size:14.5px;
  line-height:1.65;
  color:var(--muted);
  text-wrap:pretty;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 26px;
  border:1px solid transparent;
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:.25s ease;
  cursor:pointer;
  border-radius:4px;
}
.btn-dark{
  color:#d9b761;
  background:#0e0e0d;
  border-color:#0e0e0d;
}
.btn-dark:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(0,0,0,.25);
  background:#1a1916;
  border-color:#b98a32;
}
.btn-light{
  color:#12110f;
  background:rgba(255,255,255,.45);
  border-color:var(--gold);
}
.btn-light:hover{
  background:#fff;
  box-shadow:0 8px 20px rgba(185,138,50,.15);
}
.btn-gold-outline{
  color:#e1c27a;
  border-color:#b98a32;
  background:rgba(0,0,0,.25);
  font-family:var(--serif);
  font-size:18px;
  letter-spacing:.05em;
  text-transform:none;
}
.btn-gold-outline:hover{
  background:var(--gold);
  color:#0e0d0b;
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(185,138,50,.3);
}

/* Header & Navegação */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(250,247,240,.96);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(185,138,50,.18);
}
.header-inner{
  height:78px;
  display:flex;
  align-items:center;
  gap:32px;
}
.brand{
  width:205px;
  flex:0 0 auto;
}
.brand img{
  width:100%;
  height:62px;
  object-fit:contain;
  object-position:left center;
}
.desktop-nav{
  display:flex;
  align-items:center;
  height:100%;
  gap:34px;
  margin-left:auto;
}
.desktop-nav>a,
.nav-dropdown-trigger{
  font-size:12.5px;
  font-weight:500;
  position:relative;
  letter-spacing:.03em;
  transition:color .25s ease;
}
.desktop-nav>a:after,
.nav-dropdown-trigger:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:2px;
  background:var(--gold);
  transition:.25s ease;
}
.desktop-nav>a:hover,
.nav-dropdown-trigger:hover{
  color:var(--gold-dark);
}
.desktop-nav>a:hover:after,
.nav-dropdown-trigger:hover:after,
.nav-dropdown:focus-within .nav-dropdown-trigger:after{
  right:0;
}
.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
  align-self:stretch;
  height:100%;
}
.nav-dropdown-trigger{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.nav-chevron{
  display:inline-block;
  width:7px;
  height:7px;
  margin-top:-4px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  transition:transform .22s ease;
}
.nav-dropdown-menu{
  position:absolute;
  z-index:80;
  top:calc(100% - 2px);
  left:50%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  width:520px;
  padding:16px;
  border:1px solid rgba(185,138,50,.3);
  border-radius:12px;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  color:var(--ink);
  background:#faf7f0;
  box-shadow:0 24px 55px rgba(34,25,13,.2);
  transform:translate(-50%,-8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.nav-dropdown-menu::before{
  content:"";
  position:absolute;
  right:0;
  bottom:100%;
  left:0;
  height:10px;
}
.nav-dropdown-menu a{
  display:flex;
  align-items:center;
  min-height:43px;
  padding:10px 12px;
  border:1px solid rgba(185,138,50,.14);
  border-radius:7px;
  font-family:var(--serif);
  font-size:16px;
  font-weight:600;
  line-height:1.15;
  background:rgba(255,255,255,.55);
  transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible{
  color:var(--gold-dark);
  border-color:rgba(185,138,50,.48);
  background:#fffaf0;
  transform:translateX(2px);
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.nav-dropdown:hover .nav-chevron,
.nav-dropdown:focus-within .nav-chevron{
  transform:translateY(3px) rotate(225deg);
}
.header-cta{
  margin-left:12px;
}
.menu-toggle,.mobile-nav{
  display:none;
}

/* Hero Section */
.hero{padding:0}
.hero-grid{
  min-height:570px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);
  overflow:hidden;
}
.hero-copy{
  padding:60px 40px 40px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-copy h1{
  font-size:clamp(46px,4.8vw,76px);
  letter-spacing:-.025em;
  line-height:1.04;
}
.hero-copy h1 span{color:var(--gold)}
.hero-slogan{
  max-width:540px;
  margin:18px 0 0;
  color:#1c1915;
  font-family:var(--font-serif);
  font-size:clamp(23px,2vw,30px);
  font-weight:600;
  line-height:1.25;
}
.hero-slogan span{color:var(--gold-dark)}
.hero-text{
  max-width:520px;
  margin:18px 0 28px;
  color:#302d29;
  font-size:15px;
  line-height:1.65;
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.hero-media{
  background-image:linear-gradient(90deg,var(--ivory) 0%,rgba(247,242,233,.72) 8%,transparent 27%),url('assets/dra-elizabeth-mello-clinica-odontologica-florianopolis.jpeg');
  background-size:cover;
  background-position:center,55% center;
  min-height:570px;
}
.hero-media-mobile{display:none}

/* Seção: Sobre Nós (Desktop Perfeitamente Alinhado e Bounded) */
.about-us{
  padding:80px 0;
  overflow:hidden;
}
.about-us-grid{
  display:grid;
  grid-template-columns:minmax(0, 420px) minmax(0, 1fr);
  gap:56px;
  align-items:center;
}
.doctor-photo-wrap{
  overflow:hidden;
  border-radius:12px;
  box-shadow:var(--shadow);
  border:1px solid rgba(185,138,50,.35);
  background:#f4eee2;
}
.doctor-photo-wrap img{
  width:100%;
  height:auto;
  max-height:540px;
  object-fit:cover;
  object-position:center top;
  display:block;
  transition:transform .4s ease;
}
.doctor-photo-wrap:hover img{
  transform:scale(1.02);
}
.about-us-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.about-us-copy h2{
  font-size:clamp(38px,3.8vw,52px);
  margin:4px 0 10px;
  color:var(--ink);
}
.doctor-role{
  font-size:14.5px;
  font-weight:600;
  color:var(--gold);
  margin-bottom:18px;
  letter-spacing:.02em;
}
.about-us-copy .doctor-credentials{
  display:flex;
  align-items:center;
  gap:12px;
  width:fit-content;
  margin:-2px 0 18px;
  padding:10px 14px;
  border:1px solid rgba(185,138,50,.35);
  border-radius:8px;
  background:rgba(255,255,255,.45);
  line-height:1.35;
}
.doctor-credentials strong{
  flex:none;
  color:var(--gold);
  font-size:13.5px;
  letter-spacing:.04em;
}
.doctor-credentials span{
  color:var(--muted);
  font-size:12px;
}
.about-us-copy p{
  color:var(--muted);
  margin-bottom:14px;
  font-size:14.5px;
  line-height:1.7;
}
.about-us-copy p strong{
  color:var(--ink);
  font-weight:600;
}
.doctor-profile-link{
  align-self:flex-start;
  margin-top:4px;
}
.doctor-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.stat-item strong{
  display:block;
  color:var(--gold);
  font-family:var(--serif);
  font-size:34px;
  line-height:1;
  margin-bottom:6px;
  font-weight:700;
}
.stat-item span{
  display:block;
  font-size:11.5px;
  color:#6a645b;
  line-height:1.45;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:500;
}

/* Seção: Tratamentos */
.treatments{
  padding:75px 0 65px;
}
.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:34px;
}
.section-heading h2{
  font-size:clamp(36px,4vw,50px);
}
.section-heading>p{
  max-width:380px;
  color:#c9c0b0;
  font-size:13.5px;
  line-height:1.55;
  margin:0;
}
.dark-heading .eyebrow{color:#d6ad55}
.treatment-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.treatment-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(185,138,50,.35);
  border-radius:12px;
  background:#0e0d0b;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
  transition:all .35s ease;
  text-decoration:none;
}
.treatment-card:hover{
  transform:translateY(-6px);
  border-color:var(--gold);
  box-shadow:0 20px 45px rgba(185,138,50,.28);
}
.card-image-wrap{
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#000;
}
.card-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.card-image-wrap picture{
  display:block;
  width:100%;
  height:100%;
}
.card-image-wrap--contain{
  background:#e9ded1;
}
.card-image-wrap--contain img{
  object-fit:contain;
}
.treatment-card:hover .card-image-wrap img{
  transform:scale(1.06);
}
.treatment-card:hover .card-image-wrap--contain img{
  transform:none;
}
.badge-featured{
  position:absolute;
  top:12px;
  left:12px;
  z-index:3;
  padding:5px 12px;
  background:var(--gold);
  color:#0e0d0b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  border-radius:4px;
  text-transform:uppercase;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
}
.card-body{
  display:flex;
  flex-direction:column;
  flex-grow:1;
  padding:22px 24px;
  background:linear-gradient(180deg, #141310 0%, #0e0d0b 100%);
}
.card-body h3{
  font-family:var(--serif);
  font-size:24px;
  color:#f7f2e9;
  margin:0 0 8px;
  letter-spacing:-.01em;
  transition:color .25s ease;
}
.treatment-card:hover .card-body h3{
  color:var(--gold-light);
}
.card-body p{
  font-size:13px;
  color:#bcae9b;
  margin:0 0 18px;
  line-height:1.55;
  flex-grow:1;
}
.cta-link{
  font-size:11.5px;
  font-weight:600;
  color:var(--gold-light);
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:color .25s ease;
}
.treatment-card:hover .cta-link{
  color:#fff;
}

/* Banner de Benefícios de Luxo */
.luxury-benefits{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:48px;
}
.luxury-benefits article{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  min-width:0;
  min-height:220px;
  padding:26px 24px 24px;
  overflow:hidden;
  border:1px solid rgba(185,138,50,.34);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0%,rgba(185,138,50,.12),transparent 38%),
    linear-gradient(145deg,rgba(23,21,17,.98),rgba(8,8,7,.99));
  box-shadow:0 14px 34px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.03);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.luxury-benefits article::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,#8c611c,#d7b259,transparent 86%);
}
.luxury-benefits article:hover{
  transform:translateY(-5px);
  border-color:rgba(215,178,89,.6);
  box-shadow:0 20px 44px rgba(0,0,0,.34),0 0 0 1px rgba(185,138,50,.08);
}
.benefit-number{
  position:absolute;
  top:19px;
  right:20px;
  color:rgba(215,178,89,.34);
  font-family:var(--serif);
  font-size:18px;
  line-height:1;
  letter-spacing:.08em;
}
.luxury-icon-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:58px;
  height:58px;
  border-radius:16px;
  background:linear-gradient(145deg,rgba(185,138,50,.24),rgba(75,51,14,.18));
  border:1px solid rgba(215,178,89,.48);
  color:var(--gold-light);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 20px rgba(0,0,0,.25);
}
.luxury-icon-wrap svg{
  width:30px;
  height:30px;
  stroke:currentColor;
}
.benefit-content{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.luxury-benefits strong{
  display:block;
  color:#f7f2e9;
  font-family:var(--serif);
  font-size:clamp(20px,1.65vw,24px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.01em;
}
.luxury-benefits small{
  display:block;
  color:#c6baa8;
  font-size:12.5px;
  line-height:1.55;
  font-weight:400;
}
.center-cta{
  text-align:center;
  margin-top:38px;
}
.center-cta .btn{
  min-width:280px;
  padding:15px 36px;
  font-size:15px;
}

/* Seção: A Clínica */
.about{
  padding:75px 0;
}
.about-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);
  gap:52px;
  align-items:center;
}
.clinic-carousel{
  display:flex;
  flex-direction:column;
  gap:14px;
  width:100%;
  min-width:0;
}
.clinic-main{
  width:100%;
  aspect-ratio:1.25/1;
  overflow:hidden;
  border-radius:10px;
  box-shadow:var(--shadow);
  border:1px solid rgba(185,138,50,.35);
  background:#0e0d0b;
}
.clinic-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  transition:opacity .2s ease,object-position .3s ease;
}
.clinic-thumbs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.clinic-thumbs button{
  width:100%;
  min-width:0;
  aspect-ratio:1.3/1;
  padding:0;
  border:2px solid transparent;
  border-radius:6px;
  overflow:hidden;
  cursor:pointer;
  background:none;
  opacity:.65;
  transition:all .25s ease;
}
.clinic-thumbs button:hover,.clinic-thumbs button.is-active{
  opacity:1;
  border-color:var(--gold);
  transform:scale(1.03);
}
.clinic-thumbs img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.clinic-thumbs .clinic-thumb-portrait{
  object-position:center 30%;
}
.about-copy h2{
  max-width:720px;
  margin-bottom:18px;
}
.about-copy>p:not(.eyebrow){
  max-width:680px;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.7;
}
.about-values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:34px;
  gap:16px;
}
.about-values article{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  min-height:220px;
  padding:22px 20px;
  overflow:hidden;
  border:1px solid rgba(185,138,50,.3);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(247,242,233,.62));
  box-shadow:0 10px 28px rgba(80,53,15,.07);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.about-values article::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--gold-dark),#e0bd68,transparent 82%);
}
.about-values article:hover{
  transform:translateY(-4px);
  border-color:rgba(185,138,50,.5);
  box-shadow:0 16px 36px rgba(80,53,15,.11);
}
.value-icon-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:58px;
  height:58px;
  margin-bottom:18px;
  border:1px solid rgba(185,138,50,.48);
  border-radius:16px;
  color:#8d641f;
  background:linear-gradient(145deg,#fffaf0,#ead3a0);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(131,88,20,.14);
}
.value-icon-wrap svg{
  width:32px;
  height:32px;
  stroke:currentColor;
}
.value-content{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.about-values h3{
  margin:0;
  font-size:clamp(19px,1.7vw,23px);
  line-height:1.08;
}
.about-values p{
  margin:0;
  font-size:12.5px;
  line-height:1.6;
  color:#6a645b;
}

/* Seção: Depoimentos */
.testimonials{
  padding:70px 0 60px;
}
.center-heading{
  text-align:center;
  margin-bottom:34px;
}
.center-heading h2{
  font-size:clamp(34px,3.8vw,48px);
}
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.testimonial-grid blockquote{
  margin:0;
  padding:30px 28px;
  border:1px solid rgba(185,138,50,.28);
  border-radius:10px;
  background:rgba(255,255,255,.55);
  box-shadow:0 8px 30px rgba(80,53,15,.04);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.stars{
  color:var(--gold);
  letter-spacing:.25em;
  font-size:14px;
  margin-bottom:12px;
}
.testimonial-grid p{
  font-size:13.5px;
  color:#454038;
  line-height:1.65;
  margin:0 0 16px;
  font-style:italic;
}
.testimonial-grid cite{
  font-style:normal;
  font-weight:600;
  font-size:12px;
  color:var(--gold-dark);
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* Dúvidas frequentes da página inicial */
.home-faq{
  padding:54px 0 64px;
}
.home-faq-grid{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.home-faq-heading h2{
  margin:6px 0 14px;
  font-size:clamp(36px,4vw,52px);
  line-height:1.02;
}
.home-faq-heading>p:last-child{
  max-width:450px;
  margin:0;
  color:#5d564d;
  font-size:13.5px;
  line-height:1.7;
}
.home-faq-list{
  border-top:1px solid rgba(185,138,50,.3);
}
.home-faq-list details{
  border-bottom:1px solid rgba(185,138,50,.3);
}
.home-faq-list summary{
  position:relative;
  padding:20px 46px 20px 0;
  cursor:pointer;
  list-style:none;
  color:#17140f;
  font-family:var(--serif);
  font-size:clamp(21px,2vw,27px);
  font-weight:600;
  line-height:1.15;
}
.home-faq-list summary::-webkit-details-marker{display:none}
.home-faq-list summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:2px;
  transform:translateY(-50%);
  color:var(--gold);
  font-family:var(--sans);
  font-size:25px;
  font-weight:400;
}
.home-faq-list details[open] summary::after{content:"−"}
.home-faq-list details p{
  max-width:720px;
  margin:0;
  padding:0 46px 20px 0;
  color:#514b42;
  font-size:13.5px;
  line-height:1.7;
}
.home-faq-list details a{
  color:var(--gold-dark);
  font-weight:600;
}

/* Seção: Localização e Contato */
.contact{
  padding:50px 0 75px;
}
.contact-card{
  display:grid;
  grid-template-columns:42% 58%;
  border:1px solid rgba(185,138,50,.35);
  border-radius:12px;
  overflow:hidden;
  background:rgba(255,255,255,.45);
  box-shadow:var(--shadow);
}
.map-wrap{
  min-height:330px;
  height:100%;
}
.map-wrap iframe{
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.7) contrast(.95);
}
.contact-info{
  padding:34px 38px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:30px;
}
.contact-info p{
  font-size:12.5px;
  color:#4d473f;
  margin:0 0 14px;
  line-height:1.55;
}
.contact-info strong{
  color:#221f1b;
  font-weight:600;
}
.contact-info a:not(.btn){
  color:var(--ink);
  transition:color .25s ease;
  font-weight:500;
}
.contact-info a:not(.btn):hover{
  color:var(--gold);
}
.contact-info .contact-btn{
  margin-top:12px;
  width:100%;
  color:#d9b761 !important;
  background:#0e0e0d;
  border:1px solid #b98a32;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
  transition:all .3s ease;
}
.contact-info .contact-btn svg{
  fill:#d9b761;
  transition:fill .3s ease;
}
.contact-info .contact-btn:hover{
  background:var(--gold);
  color:#0e0d0b !important;
  border-color:var(--gold);
  box-shadow:0 12px 25px rgba(185,138,50,.35);
  transform:translateY(-2px);
}
.contact-info .contact-btn:hover svg{
  fill:#0e0d0b;
}

/* Rodapé */
.site-footer{
  background:#11100e;
  color:#eee5d3;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr .7fr .9fr 1fr;
  gap:35px;
  padding:50px 0;
}
.footer-brand img{
  width:205px;
  height:auto;
  max-height:80px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:14px;
  filter:brightness(0) invert(1);
}
.footer-brand p,.site-footer p,.site-footer a{
  display:block;
  font-size:12px;
  color:#c8c0b2;
  line-height:1.7;
}
.site-footer h3{
  font-family:var(--sans);
  font-size:11.5px;
  color:#cda34b;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:0 0 14px;
  font-weight:600;
}
.site-footer a{
  margin-bottom:6px;
  transition:color .25s ease;
}
.site-footer a:hover{
  color:#e1c17a;
}
.footer-bottom{
  border-top:1px solid rgba(185,138,50,.3);
  background:#b98a32;
  color:#17120a;
}
.footer-bottom .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
  font-size:11px;
  font-weight:500;
}
.developer-credit a{
  color:#17120a;
  text-decoration:underline;
  font-weight:600;
  transition:color .2s ease, opacity .2s ease;
}
.developer-credit a:hover{
  color:#fff;
  opacity:0.9;
}

/* Botão WhatsApp Flutuante com Ícone SVG e Efeito de Pulso */
.whatsapp-float{
  position:fixed;
  right:24px;
  bottom:24px;
  width:56px;
  height:56px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#11100e;
  color:#d7b86c;
  border:1.5px solid #b98a32;
  box-shadow:0 12px 28px rgba(0,0,0,.45);
  z-index:90;
  transition:all .3s ease;
}
.whatsapp-float:hover{
  transform:scale(1.08) translateY(-3px);
  background:#b98a32;
  color:#11100e;
  box-shadow:0 15px 35px rgba(185,138,50,.45);
}
.whatsapp-float svg{
  width:28px;
  height:28px;
  fill:currentColor;
}

/* ==========================================================================
   RESPONSIVIDADE PREMIUM (TABLET & MOBILE)
   ========================================================================== */

@media (max-width:1050px){
  .desktop-nav{gap:20px}
  .header-cta{padding-inline:18px}
  .brand{width:175px}
  .hero-grid{grid-template-columns:1fr 1fr}
  .about-us-grid{gap:36px}
  .about-grid{gap:36px}
  .luxury-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
}

@media (max-width:900px){
  .container{
    width:min(100% - 32px, 680px);
  }

  /* Header & Menu Mobile */
  .site-header{
    position:sticky;
  }
  .header-inner{
    height:68px;
  }
  .brand{
    width:155px;
  }
  .desktop-nav,.header-cta{
    display:none;
  }
  .menu-toggle{
    display:grid;
    margin-left:auto;
    width:42px;
    height:42px;
    border:1px solid rgba(185,138,50,.3);
    border-radius:6px;
    background:rgba(255,255,255,.5);
    padding:9px;
    align-content:center;
    gap:5px;
    cursor:pointer;
    transition:all .25s ease;
  }
  .menu-toggle span{
    display:block;
    height:2px;
    background:var(--ink);
    width:100%;
    border-radius:2px;
    transition:.25s ease;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(1),
  .menu-toggle.active span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(2),
  .menu-toggle.active span:nth-child(2){
    opacity:0;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(3),
  .menu-toggle.active span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .mobile-nav{
    display:none;
    padding:18px 24px 26px;
    background:rgba(250,247,240,.98);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-top:1px solid rgba(185,138,50,.2);
    border-bottom:1px solid rgba(185,138,50,.2);
    box-shadow:0 15px 30px rgba(0,0,0,.08);
  }
  .mobile-nav.open{
    display:grid;
    gap:14px;
    max-height:calc(100vh - 68px);
    overflow-y:auto;
    overscroll-behavior:contain;
    animation:fadeInDown .25s ease forwards;
  }
  .mobile-nav a:not(.btn){
    font-size:14px;
    font-weight:500;
    letter-spacing:.04em;
    color:var(--ink);
    padding:8px 0;
    border-bottom:1px solid rgba(185,138,50,.12);
    transition:color .2s ease;
  }
  .mobile-nav a:not(.btn):hover{
    color:var(--gold);
  }
  .mobile-services{
    display:grid;
  }
  .mobile-submenu-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:8px 0;
    border:0;
    border-bottom:1px solid rgba(185,138,50,.12);
    color:var(--ink);
    background:transparent;
    font-family:var(--sans);
    font-size:14px;
    font-weight:500;
    letter-spacing:.04em;
    text-align:left;
    cursor:pointer;
  }
  .mobile-submenu-toggle .nav-chevron{
    margin:0 4px 4px 0;
    color:var(--gold-dark);
  }
  .mobile-submenu-toggle[aria-expanded="true"] .nav-chevron{
    margin-bottom:-3px;
    transform:rotate(225deg);
  }
  .mobile-submenu{
    display:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:10px 0 4px;
  }
  .mobile-submenu.open{
    display:grid;
    animation:fadeInDown .2s ease forwards;
  }
  .mobile-nav .mobile-submenu a:not(.btn){
    display:flex;
    align-items:center;
    min-height:43px;
    padding:9px 11px;
    border:1px solid rgba(185,138,50,.2);
    border-radius:7px;
    font-family:var(--serif);
    font-size:14px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:0;
    background:rgba(255,255,255,.55);
  }
  .mobile-nav .mobile-cta{
    margin-top:10px;
    width:100%;
    text-align:center;
    border-bottom:0;
    color:#d9b761 !important;
    background:#0e0e0d;
    border:1px solid #b98a32;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 20px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:0 8px 20px rgba(0,0,0,.2);
    transition:all .3s ease;
  }
  .mobile-nav .mobile-cta svg{
    fill:#d9b761;
    transition:fill .3s ease;
  }
  .mobile-nav .mobile-cta:hover{
    background:var(--gold);
    color:#0e0d0b !important;
    border-color:var(--gold);
    box-shadow:0 12px 25px rgba(185,138,50,.35);
  }
  .mobile-nav .mobile-cta:hover svg{
    fill:#0e0d0b;
  }

  /* Hero Mobile */
  .hero-grid{
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .hero-copy{
    padding:28px 0 20px;
    text-align:center;
    align-items:center;
  }
  .hero-copy .eyebrow{
    order:3;
    font-size:11.5px;
    letter-spacing:.25em;
    margin-bottom:10px;
  }
  .hero-copy h1{
    order:1;
    font-size:clamp(34px,8vw,46px);
    line-height:1.15;
    letter-spacing:-.015em;
    margin-bottom:14px;
  }
  .hero-copy h1 span{
    display:inline;
  }
  .hero-slogan{
    order:4;
    max-width:360px;
    margin:0 0 12px;
    font-size:22px;
    line-height:1.3;
  }
  .hero-media-desktop{
    display:none;
  }
  .hero-media-mobile{
    order:2;
    display:block;
    width:100%;
    height:300px;
    min-height:300px;
    background-image:url('assets/dra-elizabeth-mello-clinica-odontologica-florianopolis.jpeg');
    background-size:cover;
    background-position:55% center;
    margin:0 0 20px;
    border-radius:12px;
    border:1px solid rgba(185,138,50,.3);
    box-shadow:var(--shadow);
  }
  .hero-text{
    order:5;
    font-size:14.5px;
    margin:0 0 22px;
    line-height:1.6;
    color:#4a453d;
    max-width:100%;
  }
  .hero-actions{
    order:6;
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
  }
  .hero-actions .btn{
    width:100%;
    padding:14px 20px;
    font-size:13px;
  }

  /* Sobre Nós Mobile */
  .about-us{
    padding:48px 0;
  }
  .about-us-grid{
    display:flex;
    flex-direction:column;
    gap:26px;
  }
  .about-us-copy h2{
    font-size:clamp(32px,7.5vw,42px);
    margin:4px 0 8px;
  }
  .doctor-role{
    font-size:13.5px;
    margin-bottom:16px;
  }
  .about-us-copy .doctor-credentials{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    width:100%;
    margin-bottom:16px;
  }
  .doctor-photo-wrap{
    width:100%;
    max-width:440px;
    margin-inline:auto;
  }
  .doctor-photo-wrap img{
    max-height:400px;
  }
  .about-us-copy p{
    font-size:14px;
    line-height:1.65;
    margin-bottom:12px;
  }
  .doctor-stats{
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:20px;
    padding-top:18px;
  }
  .stat-item strong{
    font-size:28px;
  }
  .stat-item span{
    font-size:10.5px;
  }

  /* Tratamentos Mobile */
  .treatments{
    padding:50px 0 45px;
  }
  .section-heading{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    margin-bottom:26px;
  }
  .section-heading h2{
    font-size:clamp(32px,7.5vw,42px);
  }
  .section-heading>p{
    max-width:100%;
    font-size:13px;
  }
  .treatment-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .card-image-wrap{
    height:auto;
    aspect-ratio:4 / 3;
  }
  .card-body{
    padding:20px;
  }
  .card-body h3{
    font-size:22px;
  }
  .card-body p{
    font-size:13px;
    margin-bottom:14px;
  }

  /* Benefícios de Luxo Mobile */
  .luxury-benefits{
    grid-template-columns:1fr;
    gap:12px;
    margin-top:30px;
  }
  .luxury-benefits article{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    align-items:center;
    gap:16px;
    min-height:0;
    padding:20px 52px 20px 18px;
    border-radius:14px;
  }
  .luxury-icon-wrap{
    width:58px;
    height:58px;
  }
  .luxury-icon-wrap svg{
    width:28px;
    height:28px;
  }
  .luxury-benefits strong{
    font-size:20px;
  }
  .luxury-benefits small{
    font-size:12.8px;
    line-height:1.5;
  }
  .benefit-number{
    top:16px;
    right:16px;
    font-size:16px;
  }
  .center-cta{
    margin-top:26px;
  }
  .center-cta .btn{
    width:100%;
    font-size:14px;
    padding:14px 20px;
  }

  /* A Clínica Mobile */
  .about{
    padding:48px 0;
  }
  .about-grid{
    display:flex;
    flex-direction:column;
    gap:28px;
  }
  .about-copy h2{
    font-size:clamp(30px,7vw,40px);
    margin-bottom:14px;
  }
  .about-copy>p:not(.eyebrow){
    font-size:14px;
    line-height:1.65;
  }
  .clinic-main img{
    height:100%;
  }
  .clinic-main{
    aspect-ratio:16/10;
  }
  .about-values{
    grid-template-columns:1fr;
    gap:12px;
    margin-top:24px;
  }
  .about-values article{
    display:grid;
    grid-template-columns:60px minmax(0,1fr);
    align-items:center;
    gap:16px;
    min-height:0;
    padding:18px;
    text-align:left;
  }
  .about-values .value-icon-wrap{
    width:58px;
    height:58px;
    margin-bottom:0;
  }
  .about-values h3{
    font-size:20px;
    line-height:1.12;
  }
  .about-values p{
    font-size:12.8px;
    line-height:1.55;
  }

  /* Depoimentos Mobile */
  .testimonials{
    padding:48px 0 42px;
  }
  .center-heading{
    margin-bottom:24px;
  }
  .center-heading h2{
    font-size:clamp(30px,7vw,40px);
  }
  .testimonial-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .testimonial-grid blockquote{
    padding:22px 20px;
  }
  .testimonial-grid p{
    font-size:13.5px;
  }

  .home-faq{
    padding:42px 0 48px;
  }
  .home-faq-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
  .home-faq-heading h2{
    font-size:clamp(30px,8vw,40px);
  }
  .home-faq-list summary{
    padding:17px 38px 17px 0;
    font-size:22px;
  }
  .home-faq-list details p{
    padding:0 36px 17px 0;
    font-size:13px;
  }

  /* Contato Mobile */
  .contact{
    padding:40px 0 55px;
  }
  .contact-card{
    grid-template-columns:1fr;
  }
  .map-wrap{
    min-height:260px;
    height:260px;
  }
  .contact-info{
    grid-template-columns:1fr;
    padding:24px 20px;
    gap:22px;
  }
  .contact-info p{
    font-size:13px;
  }

  /* Rodapé Mobile */
  .footer-grid{
    grid-template-columns:1fr;
    gap:20px;
    padding:26px 0 18px;
  }
  .footer-brand img{
    width:150px;
    margin-bottom:10px;
  }
  .footer-brand p,.site-footer p,.site-footer a{
    font-size:12px;
    line-height:1.55;
  }
  .site-footer h3{
    font-size:11px;
    margin:0 0 8px;
  }
  .footer-bottom{
    padding:4px 0;
  }
  .footer-bottom .container{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    gap:4px 10px;
    text-align:center;
    font-size:10px;
    line-height:1.4;
    padding:6px 0;
  }

  /* WhatsApp Float Mobile */
  .whatsapp-float{
    width:50px;
    height:50px;
    right:16px;
    bottom:16px;
  }
  .whatsapp-float svg{
    width:24px;
    height:24px;
  }
}

@media (max-width:520px){
  .mobile-submenu{
    grid-template-columns:1fr;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

@keyframes fadeInDown{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}
