/*
Theme Name: Dr. Thulio Guimarães
Theme URI: https://example.com/
Author: Agência Intense
Description: Tema institucional personalizado para Dr. Thulio Guimarães, com foco em procedimentos faciais, resultados, unidades, FAQ e conversão via WhatsApp.
Version: 1.0.0
Text Domain: dr-thulio-guimaraes
*/

:root{
  --black:#0a0a0a;
  --dark:#151515;
  --cream:#f3f0ea;
  --cream-2:#e9e4dc;
  --white:#ffffff;
  --gold:#b49363;
  --gold-2:#d3bc96;
  --text:#171717;
  --muted:#77736e;
  --line:#dcd6cd;
  --radius:24px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.section{padding:110px 0}
.kicker{font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.title{font-size:clamp(44px,6vw,86px);line-height:.94;letter-spacing:-.065em;font-weight:900;margin:15px 0 25px}
.section-title{font-size:clamp(38px,5vw,68px);line-height:.96;letter-spacing:-.055em;font-weight:900;margin:14px 0 22px}
.subtitle{font-size:18px;line-height:1.65;color:var(--muted);max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:999px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;transition:.25s}
.btn:hover{transform:translateY(-2px)}
.btn-black{background:#000;color:#fff}
.btn-gold{background:var(--gold);color:#fff}
.btn-outline{border-color:#c7beb1;color:#252525;background:transparent}
.btn-white{background:#fff;color:#111}
.topbar{background:#0a0a0a;color:#eee;padding:10px 15px;text-align:center;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
header{position:sticky;top:0;z-index:50;background:#000;backdrop-filter:blur(16px);border-bottom:1px solid #1f1f1f}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;flex-direction:column}
.brand strong{font-size:24px;font-weight:900;letter-spacing:-.045em}
.brand span{font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:#8d7552;font-weight:900;margin-top:5px}
.menu{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:800}
.menu a{color:#f2f2f2}
.menu a:hover{color:var(--gold-2)}
.mobile{display:none;background:#000;color:#fff;border:0;border-radius:12px;width:44px;height:44px;font-size:19px}

/* HERO */
.hero{background:#0d0d0d;color:#fff;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-210px;top:-150px;width:650px;height:650px;border-radius:50%;border:1px solid rgba(180,147,99,.28)}
.hero-grid{min-height:760px;display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center;padding:70px 0;position:relative;z-index:2}
.hero .kicker{color:var(--gold-2)}
.hero .title{max-width:740px}
.hero .title em{font-style:normal;color:var(--gold-2)}
.hero .subtitle{color:#b8b3ad;max-width:680px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-points{display:flex;gap:22px;flex-wrap:wrap;margin-top:38px}
.hero-point{font-size:12px;color:#d0cbc4;display:flex;gap:8px;align-items:center}
.hero-point:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
.hero-media{position:relative;height:620px}
.hero-photo{height:100%;border-radius:28px 28px 4px 28px;overflow:hidden;background:linear-gradient(135deg,#2b2b2b,#111);border:1px solid #2d2d2d}
.hero-photo.placeholder{display:grid;place-items:center;text-align:center;padding:35px;color:#8c8c8c;font-weight:800;background:linear-gradient(145deg,#1a1a1a,#252525)}
.hero-badge{position:absolute;left:-34px;bottom:28px;background:var(--gold);color:#fff;border-radius:20px;padding:22px 24px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.hero-badge strong{display:block;font-size:36px;letter-spacing:-.055em}
.hero-badge span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* NUMBERS */
.numbers{background:#fff;border-bottom:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:38px 26px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat strong{display:block;font-size:40px;letter-spacing:-.055em}
.stat span{font-size:12px;color:var(--muted);font-weight:800}

/* ABOUT */
.about{background:#fff}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.about-image{height:630px;border-radius:28px;overflow:hidden;background:#e5e0da}
.about-image.placeholder{display:grid;place-items:center;text-align:center;padding:30px;color:#8c837a;font-weight:800}
.quote{margin-top:28px;border-left:3px solid var(--gold);padding-left:22px;font-size:21px;font-weight:800;line-height:1.45}

/* FACILITY */
.facility{background:var(--cream)}
.facility-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:stretch}
.facility-card{background:#171717;color:#fff;border-radius:28px;padding:48px}
.facility-card .subtitle{color:#aaa}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px;margin-top:28px}
.check{display:flex;gap:9px;font-size:13px;line-height:1.5;color:#d8d2cc}
.check:before{content:"✓";color:var(--gold-2);font-weight:900}
.facility-image{min-height:520px;border-radius:28px;overflow:hidden;background:#ded8d0}
.facility-image.placeholder{display:grid;place-items:center;text-align:center;padding:30px;color:#857d74;font-weight:800}

/* TREATMENTS */
.treatments{background:#fff}
.treatment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:45px}
.treatment{border:1px solid var(--line);border-radius:22px;padding:30px;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}
.treatment:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(44,32,20,.08)}
.treatment .num{font-size:12px;font-weight:900;color:var(--gold)}
.treatment h3{font-size:30px;letter-spacing:-.045em;margin:20px 0 10px}
.treatment p{color:var(--muted);line-height:1.65;margin:0}
.link{margin-top:22px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}

/* DIFFERENTIAL */
.differential{background:#101010;color:#fff}
.diff-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.diff-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.diff-card{padding:26px;border:1px solid #303030;border-radius:20px;background:#181818}
.diff-card strong{display:block;font-size:20px;margin:14px 0 9px}
.diff-card p{color:#9e9e9e;line-height:1.6;font-size:14px;margin:0}

/* PROCESS */
.process{background:var(--cream)}
.process-list{margin-top:50px;border-top:1px solid #cfc7bc}
.step{display:grid;grid-template-columns:110px 1fr 1.1fr;gap:28px;padding:28px 0;border-bottom:1px solid #cfc7bc;align-items:start}
.step-num{font-size:15px;color:var(--gold);font-weight:900}
.step h3{font-size:27px;letter-spacing:-.04em;margin:0}
.step p{color:var(--muted);line-height:1.65;margin:0}

/* RESULTS */
.results{background:#fff}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}
.result-card{height:420px;border-radius:22px;overflow:hidden;background:#e9e5df;position:relative}
.result-card.placeholder{display:grid;place-items:center;text-align:center;color:#8d867e;font-weight:800;padding:25px}
.result-card span{position:absolute;left:18px;bottom:18px;background:rgba(0,0,0,.75);color:#fff;padding:8px 11px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.disclaimer{font-size:11px;line-height:1.6;color:#8d8984;margin-top:18px;max-width:900px}

/* TESTIMONIALS */
.testimonials{background:#efeae3}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.testimonial{background:#fff;border-radius:22px;padding:28px}
.stars{color:var(--gold);font-size:16px;letter-spacing:2px}
.testimonial p{font-size:16px;line-height:1.65;color:#5d5955}
.testimonial strong{font-size:13px}

/* INFO */
.info{background:#fff}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.info-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}
.info-image{height:235px;background:#e4dfd8;display:grid;place-items:center;color:#968d84;font-weight:800;text-align:center;padding:20px}
.info-body{padding:24px}
.info-body small{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.info-body h3{font-size:25px;letter-spacing:-.04em;margin:10px 0}
.info-body p{color:var(--muted);line-height:1.6;font-size:14px}

/* FAQ */
.faq{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px}
.faq-item{border-bottom:1px solid #ccc4b9}
.faq-q{width:100%;background:none;border:0;padding:22px 0;text-align:left;display:flex;justify-content:space-between;gap:15px;font-weight:900;font-size:17px;cursor:pointer}
.faq-a{max-height:0;overflow:hidden;color:var(--muted);line-height:1.7;transition:.3s}
.faq-item.active .faq-a{max-height:260px;padding-bottom:22px}

/* CONTACT */
.contact{background:#0c0c0c;color:#fff}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:65px;align-items:start}
.contact .subtitle{color:#aaa}
.form-card{background:#fff;color:#111;border-radius:26px;padding:34px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
input,select,textarea{width:100%;border:1px solid #d6d0c8;background:#f8f6f3;border-radius:12px;padding:15px}
textarea{min-height:120px;resize:vertical}
.form-note{font-size:10px;color:#8b8782;line-height:1.55;margin-top:12px}

/* FOOTER */
footer{background:#000;color:#fff;padding:65px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:50px}
footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.13em;margin:0 0 18px}
footer p,footer a{color:#898989;font-size:13px;line-height:1.75}
.footer-bottom{border-top:1px solid #232323;margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#626262;font-size:11px}

@media(max-width:980px){
  .menu{display:none;position:absolute;top:82px;left:20px;right:20px;background:#fff;padding:22px;border-radius:16px;box-shadow:0 15px 40px rgba(0,0,0,.12);flex-direction:column;align-items:flex-start}
  .menu.open{display:flex}.mobile{display:block}.nav>.btn{display:none}
  .hero-grid,.about-grid,.facility-grid,.diff-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}
  .hero-grid{min-height:auto}.hero-media{height:540px}.hero-badge{left:18px}
  .stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}
  .gallery,.testimonial-grid,.info-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .container{width:min(var(--max),calc(100% - 26px))}
  .section{padding:75px 0}.nav{height:72px}.brand strong{font-size:20px}
  .hero-grid{padding:55px 0;gap:40px}.hero-media{height:450px}
  .hero-badge{left:12px;bottom:12px;padding:16px}.hero-badge strong{font-size:28px}
  .stats,.treatment-grid,.diff-list,.gallery,.testimonial-grid,.info-grid,.fields{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--line)}
  .about-image{height:480px}.checks{grid-template-columns:1fr}
  .step{grid-template-columns:55px 1fr}.step p{grid-column:2}
  .result-card{height:390px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
}

.brand-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.brand-logo img{
  width:150px;
  height:62px;
  object-fit:contain;
  object-position:left center;
  border-radius:0;
}
.footer-logo img{
  width:190px;
  height:auto;
  max-height:110px;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:650px){
  .brand-logo img{width:122px;height:52px}
  .footer-logo img{width:160px}
}


.brand-logo,
.footer-logo{
  background:#000 !important;
}
.brand-logo img,
.footer-logo img{
  background:#000 !important;
  display:block;
}


.result-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:650px){
  .gallery{grid-template-columns:1fr}
}


@media(max-width:650px){
  #unidades .info-grid{grid-template-columns:1fr !important}
}
