/* =================================================================
   DRA. ANA SAMICO — Clínica Multidisciplinar
   Paleta: navy #1B2D5A · dourado #C9A84C · branco
   Type: Cormorant Garamond (display) + Outfit (body)
================================================================== */

/* ---------- TOKENS ---------- */
:root {
  /* Brancos e fundos claros */
  --ivory:        #FFFFFF;
  --ivory-soft:   #F8F7F5;
  --ivory-deep:   #F0EEE9;
  --cream:        #E8E4DC;

  /* Dourado — alinhado ao logo */
  --gold:         #C9A84C;
  --gold-deep:    #A88835;
  --gold-soft:    #DFC97A;
  --gold-bright:  #D4B55C;

  /* Navy — cor principal do logo */
  --brown:        #1B2D5A;
  --brown-mid:    #2A4080;
  --brown-soft:   #4A5F8A;
  --brown-faint:  #8293B8;

  --dark:         #0F1B3A;

  --line:         rgba(27,45,90,.10);
  --line-strong:  rgba(27,45,90,.20);
  --line-gold:    rgba(201,168,76,.35);

  --serif:        'Cormorant Garamond','Times New Roman',Georgia,serif;
  --sans:         'Outfit',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;

  --container:    1240px;
  --gutter:       clamp(20px,4vw,48px);

  --radius:       2px;
  --radius-lg:    6px;

  --shadow-sm:    0 1px 2px rgba(15,27,58,.05);
  --shadow-md:    0 8px 28px rgba(15,27,58,.08);
  --shadow-lg:    0 24px 60px rgba(15,27,58,.14);

  --ease:         cubic-bezier(.2,.7,.2,1);
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.65;
  color:var(--brown);
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:transparent}
ul{list-style:none}
input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit}
::selection{background:var(--gold);color:var(--ivory)}

/* ---------- LAYOUT ---------- */
.container{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}
section{position:relative}

/* ---------- TIPOGRAFIA ---------- */
.display,.display-md{
  font-family:var(--serif);
  font-weight:400;
  color:var(--brown);
  line-height:1.12;
  letter-spacing:-.01em;
}
.display{font-size:clamp(3rem,6vw,5.2rem)}
.display-md{font-size:clamp(2rem,3.5vw,3rem)}
.display em,.display-md em{font-style:italic;color:var(--gold)}

.eyebrow{
  display:flex;align-items:center;gap:12px;
  font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.2rem;
}
.eyebrow .line{flex:1;max-width:40px;height:1px;background:var(--line-gold)}
.eyebrow.center{justify-content:center}

.lede{font-size:1.1rem;color:var(--brown-soft);line-height:1.75;max-width:52ch}

/* ---------- BOTÕES ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:.85rem 2rem;
  font-size:.875rem;font-weight:500;letter-spacing:.04em;
  border-radius:var(--radius);
  transition:all .25s var(--ease);
  white-space:nowrap;
}
.btn-primary{
  background:var(--gold);color:var(--dark);
  border:1.5px solid var(--gold);
}
.btn-primary:hover{background:var(--gold-deep);border-color:var(--gold-deep);transform:translateY(-1px);box-shadow:0 8px 24px rgba(201,168,76,.28)}
.btn-primary:active{transform:translateY(0)}

.btn-outline{
  background:transparent;color:var(--brown);
  border:1.5px solid var(--brown);
}
.btn-outline:hover{background:var(--brown);color:var(--ivory);transform:translateY(-1px)}

.btn-ghost{
  background:transparent;color:var(--brown);
  border:1.5px solid var(--line-strong);
}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

.btn-link{
  background:transparent;border:0;padding-inline:0;
  color:var(--brown);font-weight:400;
  text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--line-gold);
}
.btn-link:hover{color:var(--gold);text-decoration-color:var(--gold)}
.btn-block{width:100%;justify-content:center}

.section-head{text-align:center;max-width:640px;margin-inline:auto;margin-bottom:4rem}
.section-lede{font-size:1rem;color:var(--brown-soft);line-height:1.8;margin-top:1rem}
.section-foot{margin-top:3rem;text-align:center}

/* ========================================================
   HEADER
======================================================== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .3s,box-shadow .3s;
}
.site-header.scrolled{
  border-color:var(--line);
  box-shadow:0 2px 20px rgba(15,27,58,.06);
}
.header-inner{
  display:flex;align-items:center;gap:2rem;
  height:72px;
}

/* Logo real */
.brand{display:flex;align-items:center;flex-shrink:0}
.brand-logo{height:50px;width:auto}

/* Nav */
.nav{display:flex;align-items:center;gap:1.8rem;margin-left:auto}
.nav a{
  font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:var(--brown-soft);
  position:relative;padding-block:4px;
  transition:color .2s;
}
.nav a::after{
  content:'';position:absolute;bottom:-2px;left:0;right:100%;
  height:1.5px;background:var(--gold);
  transition:right .25s var(--ease);
}
.nav a:hover{color:var(--brown)}
.nav a:hover::after{right:0}

.header-cta{margin-left:1rem;font-size:.8rem;letter-spacing:.05em;padding:.6rem 1.4rem}
.cta-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block;flex-shrink:0}

/* Hambúrguer */
.menu-toggle{
  display:none;flex-direction:column;justify-content:space-between;
  width:26px;height:18px;margin-left:auto;
}
.menu-toggle span{display:block;height:1.5px;background:var(--brown);transition:all .3s var(--ease)}
.menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media(max-width:900px){
  .nav,.header-cta{display:none}
  .nav.open{
    display:flex;flex-direction:column;align-items:flex-start;gap:0;
    position:fixed;inset:72px 0 0 0;
    background:var(--ivory);padding:2rem var(--gutter);
    border-top:1px solid var(--line);z-index:99;
  }
  .nav.open a{
    width:100%;padding:1rem 0;font-size:1.2rem;letter-spacing:.02em;
    border-bottom:1px solid var(--line);
  }
  .nav.open a::after{display:none}
  .menu-toggle{display:flex}
}

/* ========================================================
   HERO
======================================================== */
.hero{
  min-height:100svh;padding-top:72px;
  display:flex;flex-direction:column;
  background:var(--ivory-soft);
}
.hero-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 50% 70% at 70% 40%, rgba(201,168,76,.06) 0%, transparent 60%),
    radial-gradient(ellipse 30% 50% at 10% 80%, rgba(27,45,90,.04) 0%, transparent 60%);
}
.hero-grid{
  flex:1;display:grid;grid-template-columns:1fr 1fr;
  align-items:center;gap:4rem;padding-block:5rem;
  position:relative;z-index:1;
}

.hero-copy .lede{color:var(--brown-soft);margin-top:1.5rem}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.5rem}

.hero-meta{
  display:flex;gap:2.5rem;margin-top:3rem;
  padding-top:2rem;border-top:1px solid var(--line);
}
.hero-meta>div{display:flex;flex-direction:column;gap:2px}
.hero-meta strong{font-size:2rem;font-weight:700;color:var(--gold);font-family:var(--serif);line-height:1}
.hero-meta span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--brown-faint)}
.hero-trust{
  display:grid;gap:.75rem;
  margin-top:1.4rem;max-width:42rem;
}
.hero-trust li{
  padding:.9rem 1rem;
  border:1px solid rgba(27,45,90,.08);
  background:rgba(255,255,255,.6);
  color:var(--brown-soft);
  border-radius:var(--radius-md);
  backdrop-filter:blur(8px);
}

/* Retrato */
.hero-portrait{position:relative}
.portrait-frame{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:4/5;
  border:1px solid var(--line-gold);
  box-shadow:var(--shadow-lg);
}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s var(--ease)}
.portrait-frame:hover img{transform:scale(1.03)}

.portrait-frame::before{
  content:'';position:absolute;top:-1px;right:-1px;
  width:40px;height:40px;
  border-top:2px solid var(--gold);border-right:2px solid var(--gold);
  border-radius:0 var(--radius-lg) 0 0;z-index:2;
}
.portrait-frame::after{
  content:'';position:absolute;bottom:-1px;left:-1px;
  width:40px;height:40px;
  border-bottom:2px solid var(--gold);border-left:2px solid var(--gold);
  border-radius:0 0 0 var(--radius-lg);z-index:2;
}

.portrait-tag{
  position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;
  background:rgba(15,27,58,.82);backdrop-filter:blur(8px);
  color:#fff;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  padding:.65rem 1rem;border-radius:var(--radius);
  border-left:2px solid var(--gold);
}

.portrait-deco{
  position:absolute;right:-24px;bottom:-24px;
  width:120px;height:120px;border-radius:50%;
  border:1px solid var(--line-gold);pointer-events:none;
}
.portrait-deco::after{
  content:'';position:absolute;inset:12px;border-radius:50%;
  border:1px solid rgba(201,168,76,.12);
}

.hero-tagline{
  display:flex;gap:3rem;padding:1.2rem var(--gutter);
  border-top:1px solid var(--line);overflow:hidden;white-space:nowrap;
}
.hero-tagline span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown-faint);flex-shrink:0}

/* ========================================================
   JORNADAS
======================================================== */
.journeys{
  padding:5.5rem 0 4.5rem;
  background:linear-gradient(180deg, var(--ivory-soft) 0%, var(--ivory) 100%);
}
.journeys-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;
}
.journey-card{
  padding:1.6rem;
  background:var(--ivory);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.journey-card.featured{
  background:linear-gradient(180deg, rgba(201,168,76,.11) 0%, var(--ivory) 100%);
  border-color:var(--line-gold);
}
.journey-kicker{
  display:inline-flex;
  font-size:.74rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:.85rem;
}
.journey-card h3{
  font-family:var(--serif);
  font-size:1.9rem;
  font-weight:400;
  line-height:1.1;
}
.journey-card p{
  margin-top:.9rem;
  color:var(--brown-soft);
  line-height:1.8;
}
.journey-actions{
  display:flex;flex-wrap:wrap;gap:.85rem;
  margin-top:1.2rem;
}

/* ========================================================
   MANIFESTO
======================================================== */
.manifesto{
  background:var(--brown);
  padding:7rem 0;text-align:center;
}
.manifesto-quote{
  font-family:var(--serif);
  font-size:clamp(2.2rem,4.5vw,3.8rem);
  font-weight:400;line-height:1.2;
  color:#fff;position:relative;
}
.manifesto-quote em{font-style:italic;color:var(--gold);display:block}
.quote-mark{
  position:absolute;top:-.4em;left:50%;
  transform:translateX(-50%) translateX(-8rem);
  font-size:8rem;font-family:var(--serif);
  color:rgba(255,255,255,.07);line-height:1;pointer-events:none;
}
.manifesto-sub{margin-top:2rem;font-size:1rem;color:rgba(255,255,255,.55);letter-spacing:.02em}

/* ========================================================
   SOBRE
======================================================== */
.sobre{padding:7rem 0;background:var(--ivory-soft)}
.sobre-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.sobre-image{position:relative}
.sobre-image figure{
  border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;
  box-shadow:var(--shadow-lg);border:1px solid var(--line-gold);
}
.sobre-image figure img{width:100%;height:100%;object-fit:cover;object-position:top center}

.signature{
  position:absolute;bottom:-1.5rem;right:-1.5rem;
  background:var(--brown);color:#fff;
  padding:1.2rem 1.6rem;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}
.sig-name{display:block;font-family:var(--serif);font-size:1.1rem;font-weight:400;font-style:italic}
.sig-cro{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:.2rem}

.sobre-copy p{color:var(--brown-soft);margin-top:1rem;line-height:1.8}
.sobre-copy strong{color:var(--brown);font-weight:600}
.sobre-copy em{color:var(--gold)}

.credenciais{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.credenciais h3{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--brown);margin-bottom:1rem;letter-spacing:.02em}
.credenciais ul li{
  display:flex;gap:.75rem;font-size:.875rem;color:var(--brown-soft);
  padding:.4rem 0;border-bottom:1px solid var(--line);
}
.credenciais ul li span{color:var(--gold);flex-shrink:0;font-weight:600}

/* ========================================================
   TRATAMENTOS
======================================================== */
.tratamentos{padding:7rem 0;background:var(--ivory)}
.tratamentos-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1.5px;border:1.5px solid var(--line);
  border-radius:var(--radius-lg);overflow:hidden;
}
.trat-card{
  padding:2.2rem 2rem;background:var(--ivory);position:relative;
  transition:background .25s;
}
.trat-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;
  width:3px;background:transparent;transition:background .25s;
}
.trat-card:hover{background:var(--ivory-soft)}
.trat-card:hover::before{background:var(--gold)}

.trat-num{display:block;font-family:var(--serif);font-size:1rem;color:var(--gold);font-weight:400;margin-bottom:.6rem;letter-spacing:.05em}
.trat-card h3{font-family:var(--serif);font-size:1.25rem;font-weight:400;color:var(--brown);margin-bottom:.6rem;line-height:1.2}
.trat-card p{font-size:.875rem;color:var(--brown-soft);line-height:1.7}
.trat-link{
  display:inline-flex;align-items:center;gap:.4rem;
  margin-top:1rem;font-size:.8rem;font-weight:500;
  color:var(--brown);text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:var(--line-gold);
}
.trat-link:hover{color:var(--gold);text-decoration-color:var(--gold)}

.trat-card.featured{background:var(--brown);color:#fff}
.trat-card.featured::before{background:var(--gold)}
.trat-card.featured .trat-num{color:var(--gold)}
.trat-card.featured h3{color:#fff}
.trat-card.featured p{color:rgba(255,255,255,.65)}
.trat-card.featured .trat-link{color:#fff;text-decoration-color:rgba(255,255,255,.35)}
.trat-card.featured .trat-link:hover{color:var(--gold-soft);text-decoration-color:var(--gold-soft)}
.trat-card.featured:hover{background:var(--brown-mid)}

/* ========================================================
   SEO LOCAL / SERVIÇOS
======================================================== */
.seo-focus{padding:7rem 0;background:var(--ivory-soft)}
.seo-focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.seo-focus-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:1rem;
  padding:2rem;border:1px solid var(--line);border-radius:var(--radius-lg);
  background:var(--ivory);box-shadow:var(--shadow-sm);
}
.seo-focus-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1.15}
.seo-focus-card p{color:var(--brown-soft);line-height:1.8}
.seo-focus-card.featured{
  background:linear-gradient(180deg,var(--brown) 0%,var(--brown-mid) 100%);
  border-color:var(--gold-deep);box-shadow:var(--shadow-lg);
}
.seo-focus-card.featured h3{color:#fff}
.seo-focus-card.featured p{color:rgba(255,255,255,.72)}
.seo-focus-card.featured .btn-outline{
  border-color:rgba(255,255,255,.25);color:#fff;
}
.seo-focus-card.featured .btn-outline:hover{
  background:#fff;color:var(--brown);
}

.service-page{background:var(--ivory-soft)}
.service-hero{
  padding:8.5rem 0 5rem;
  background:
    radial-gradient(circle at top right, rgba(201,168,76,.12), transparent 35%),
    linear-gradient(180deg, var(--ivory) 0%, var(--ivory-soft) 100%);
}
.service-crumbs{
  display:flex;flex-wrap:wrap;gap:.5rem;
  font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brown-faint);margin-bottom:1.5rem;
}
.service-hero-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;
}
.service-copy p{color:var(--brown-soft);line-height:1.85;margin-top:1.1rem}
.service-highlights{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
  margin-top:2rem;
}
.service-highlights li{
  padding:1rem 1.1rem;background:var(--ivory);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  font-size:.92rem;color:var(--brown-soft);
}
.service-highlights strong{
  display:block;font-size:1rem;color:var(--brown);font-weight:600;
  margin-bottom:.25rem;
}
.service-hero-visual figure,
.service-photo figure{
  overflow:hidden;border-radius:var(--radius-lg);
  border:1px solid var(--line-gold);box-shadow:var(--shadow-lg);
}
.service-hero-visual img,
.service-photo img{
  width:100%;height:100%;object-fit:cover;
}
.service-photo figure{aspect-ratio:4/5}
.service-photo.wide figure{aspect-ratio:16/10}

.service-section{padding:5.5rem 0;background:var(--ivory)}
.service-section.alt{background:var(--ivory-soft)}
.service-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;
}
.service-card{
  padding:2rem;background:var(--ivory-soft);
  border:1px solid var(--line);border-radius:var(--radius-lg);
}
.service-card h2,.service-card h3{
  font-family:var(--serif);font-weight:400;line-height:1.15;
}
.service-card h2{font-size:2rem;margin-bottom:1rem}
.service-card h3{font-size:1.4rem;margin-bottom:.75rem}
.service-card p{color:var(--brown-soft);line-height:1.8}
.service-list{display:grid;gap:.9rem;margin-top:1.2rem}
.service-list li{
  padding:1rem 1rem 1rem 1.15rem;
  border-left:2px solid var(--gold);
  background:rgba(201,168,76,.06);color:var(--brown-soft);
}
.service-list strong{color:var(--brown)}
.service-split{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;
}
.service-note{
  margin-top:1.2rem;padding:1rem 1.2rem;
  background:rgba(27,45,90,.04);border:1px solid var(--line);
  border-radius:var(--radius-lg);color:var(--brown-soft);
}
.faq-list{display:grid;gap:1rem}
.faq-list details{
  background:var(--ivory);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:1rem 1.2rem;
}
.faq-list summary{
  cursor:pointer;font-weight:500;color:var(--brown);list-style:none;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list details p{
  margin-top:.9rem;color:var(--brown-soft);line-height:1.75;
}
.service-cta-strip{
  margin-top:2rem;padding:1.4rem 1.5rem;
  background:var(--brown);border-radius:var(--radius-lg);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
}
.service-cta-strip p{color:rgba(255,255,255,.72);margin:0}
.service-cta-strip strong{display:block;color:#fff;font-size:1.1rem}
.internal-links{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem;
}
.internal-links a{
  padding:1.1rem 1.2rem;border:1px solid var(--line);
  border-radius:var(--radius-lg);background:var(--ivory-soft);
  font-weight:500;color:var(--brown);
}
.internal-links a span{
  display:block;font-size:.88rem;font-weight:300;color:var(--brown-soft);margin-top:.25rem;
}
.service-footer-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}

/* ========================================================
   DIFERENCIAIS
======================================================== */
.diferenciais{padding:7rem 0;background:var(--ivory-deep)}
.dif-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem;align-items:start}
.dif-copy>p{color:var(--brown-soft);margin-top:1rem;line-height:1.8}

.dif-list{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.dif-list li{
  padding:1.8rem 1.5rem;background:var(--ivory-soft);
  border:1px solid var(--line);
  transition:background .25s,border-color .25s;
}
.dif-list li:hover{background:var(--ivory);border-color:var(--line-gold)}
.dif-icon{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;
  background:rgba(201,168,76,.12);color:var(--gold);margin-bottom:1rem;
}
.dif-list h3{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--brown);margin-bottom:.4rem}
.dif-list p{font-size:.85rem;color:var(--brown-soft);line-height:1.7}

/* ========================================================
   CLÍNICA / GALERIA
======================================================== */
.clinica{padding:7rem 0;background:var(--ivory-soft)}
.gallery{
  display:grid;grid-template-columns:repeat(3,1fr);
  grid-template-rows:auto auto;gap:8px;margin-top:3rem;
  border-radius:var(--radius-lg);overflow:hidden;
}
.gal{overflow:hidden;position:relative}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);aspect-ratio:4/3}
.gal:hover img{transform:scale(1.04)}
.gal-tall{grid-row:span 2}
.gal-tall img{aspect-ratio:auto;height:100%}
.gal-wide{grid-column:span 2}
.gal-wide img{aspect-ratio:16/9}

/* ========================================================
   CTA / FORMULÁRIO
======================================================== */
.cta-section{
  padding:7rem 0;background:var(--brown);
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:'';position:absolute;bottom:-80px;left:-80px;
  width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,.06) 0%,transparent 70%);
  pointer-events:none;
}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}

.cta-copy .eyebrow.light{color:var(--gold-soft)}
.cta-copy .eyebrow.light .line{background:rgba(201,168,76,.3)}
.cta-copy .display-md.light{color:#fff}
.cta-copy .display-md.light em{color:var(--gold-soft)}
.cta-copy>.light{color:rgba(255,255,255,.6);margin-top:1rem;line-height:1.8}
.cta-steps{
  display:grid;gap:.7rem;
  margin:1.5rem 0 0;
}
.cta-steps li{
  padding:.85rem 1rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-md);
  color:rgba(255,255,255,.78);
  background:rgba(255,255,255,.04);
}

.cta-contacts{display:flex;flex-direction:column;gap:.75rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.12)}
.cta-contacts a{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:rgba(255,255,255,.65);transition:color .2s}
.cta-contacts a svg{color:var(--gold);flex-shrink:0}
.cta-contacts a:hover{color:#fff}

/* Formulário */
.cta-form{background:var(--ivory);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg)}
.form-title{font-family:var(--serif);font-size:1.6rem;font-weight:400;color:var(--brown);margin-bottom:1.8rem}
.cta-form label{display:block;margin-bottom:1.2rem}
.cta-form label>span{display:block;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--brown-soft);margin-bottom:.4rem}
.cta-form input,.cta-form select,.cta-form textarea{
  width:100%;padding:.75rem 1rem;
  border:1.5px solid var(--line-strong);border-radius:var(--radius);
  background:var(--ivory-soft);font-size:.9rem;color:var(--brown);
  transition:border-color .2s,background .2s;outline:none;
}
.cta-form input:focus,.cta-form select:focus,.cta-form textarea:focus{border-color:var(--gold);background:var(--ivory)}
.cta-form textarea{resize:vertical;min-height:80px}
.cta-form select{
  cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231B2D5A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;
}
.form-disclaimer{font-size:.75rem;color:var(--brown-faint);text-align:center;margin-top:.75rem;line-height:1.5}

/* ========================================================
   LOCALIZAÇÃO
======================================================== */
.local{padding:7rem 0;background:var(--ivory)}
.local-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:stretch}
.local-info address{font-style:normal;margin-top:1.5rem;font-size:1rem;color:var(--brown-soft);line-height:1.8}
.local-info address strong{color:var(--brown);display:block;margin-bottom:.2rem}

.local-hours{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.local-hours h3{font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.local-hours p{display:flex;justify-content:space-between;font-size:.9rem;padding:.5rem 0;border-bottom:1px solid var(--line);color:var(--brown-soft)}
.local-hours p span:first-child{font-weight:500;color:var(--brown)}

.local-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}

.local-map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);min-height:360px;box-shadow:var(--shadow-md)}
.local-map iframe{display:block;width:100%;height:100%;border:0}

/* ========================================================
   FOOTER
======================================================== */
.site-footer{background:var(--dark);color:rgba(255,255,255,.55);padding-top:4rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}

.foot-brand .foot-logo{height:46px;filter:brightness(0) invert(1);opacity:.9}
.foot-sub{font-size:.8rem;color:rgba(255,255,255,.4);margin-top:.8rem}

.foot-col h4{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.foot-col a,.foot-col p{display:block;font-size:.875rem;color:rgba(255,255,255,.45);margin-bottom:.5rem;line-height:1.7;transition:color .2s}
.foot-col a:hover{color:#fff}

.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-block:1.5rem;flex-wrap:wrap;gap:.5rem}
.footer-bottom p{font-size:.78rem;color:rgba(255,255,255,.25)}
.foot-slogan{font-family:var(--serif);font-style:italic;color:var(--gold) !important;font-size:.9rem !important}

/* ========================================================
   WHATSAPP FLOAT
======================================================== */
.wa-float{
  position:fixed;right:24px;bottom:24px;z-index:200;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
  transition:transform .25s var(--ease),box-shadow .25s;
}
.wa-float:hover{transform:scale(1.1);box-shadow:0 8px 32px rgba(37,211,102,.4)}
.wa-tooltip{
  position:absolute;right:calc(100% + 12px);top:50%;
  transform:translateY(-50%) translateX(6px);
  background:var(--brown);color:#fff;
  font-size:.78rem;font-weight:500;white-space:nowrap;
  padding:.4rem .9rem;border-radius:100px;
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
}
.wa-float:hover .wa-tooltip{opacity:1;transform:translateY(-50%) translateX(0)}

/* ========================================================
   REVEAL
======================================================== */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-reveal].revealed{opacity:1;transform:none}
[data-reveal][data-delay="1"]{transition-delay:.1s}
[data-reveal][data-delay="2"]{transition-delay:.2s}
[data-reveal][data-delay="3"]{transition-delay:.3s}

/* ========================================================
   RESPONSIVIDADE
======================================================== */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:2rem;padding-block:3rem}
  .hero-portrait{max-width:420px;margin-inline:auto}
  .journeys-grid{grid-template-columns:1fr}
  .sobre-grid{grid-template-columns:1fr;gap:3rem}
  .sobre-image{max-width:440px}
  .seo-focus-grid{grid-template-columns:1fr}
  .service-hero-grid,.service-grid{grid-template-columns:1fr}
  .service-highlights,.service-split,.internal-links{grid-template-columns:1fr}
  .dif-grid{grid-template-columns:1fr}
  .cta-grid{grid-template-columns:1fr}
  .local-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .dif-list{grid-template-columns:1fr}
  .tratamentos-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .gal-tall,.gal-wide{grid-column:auto;grid-row:auto}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .hero-meta{gap:1.5rem}
  .hero-trust li{font-size:.92rem}
  .portrait-frame::before,.portrait-frame::after{width:28px;height:28px}
  .signature{right:0;bottom:-1rem;position:relative;margin-top:1rem}
}
