/* Clínica Odontológica Cabral - landing institucional
   Identidade: manual de marca (Trento títulos + Gantari texto; marinho #232936, dourado #BDAC82, cinza-claro #E2E2DE, grafite #2F2F2F).
   Sistema de cor: blocos marinho (impacto) alternam com branco/cinza-claro (leitura), como no manual.
   Regra de contraste: dourado SÓ sobre marinho (6,5:1). Em fundo claro, destaque = marinho.
   Raio: 2px em tudo (linhas retas do losango). */

@font-face{font-family:"Trento";src:url("fonts/trento.woff2?v=2") format("woff2");font-display:swap;font-weight:400}
@font-face{font-family:"Gantari";src:url("fonts/gantari.woff2?v=2") format("woff2");font-display:swap;font-weight:100 900}

:root{
  --marinho:#232936;--marinho-2:#1b202b;--marinho-3:#2c3343;
  --dourado:#bdac82;--dourado-2:#d3c6a2;
  --cinza:#e2e2de;--cinza-2:#efefec;--branco:#fff;--grafite:#2f2f2f;--grafite-2:#5b5e66;
  --claro:#ecebe6;--claro-2:#b6b9c1;
  --linha-escura:rgba(189,172,130,.26);--linha-clara:rgba(35,41,54,.14);
  --raio:2px;--max:1200px;--ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:76px}
body{margin:0;background:var(--branco);color:var(--grafite);font-family:"Gantari",system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.65;font-weight:380;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Gantari",system-ui,sans-serif;font-weight:300;line-height:1.08;margin:0;letter-spacing:-.015em;text-wrap:balance}
.trento{font-family:"Trento","Gantari",serif;text-transform:uppercase;letter-spacing:.08em}
h1{font-size:clamp(2.3rem,4.6vw,3.9rem)}
h2{font-size:clamp(1.9rem,3.3vw,2.85rem);color:var(--marinho)}
h3{font-weight:600;font-size:1.08rem;line-height:1.35;letter-spacing:.01em}
p{margin:0;max-width:60ch;text-wrap:pretty}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:200;background:var(--dourado);color:var(--marinho);padding:8px 14px}
:focus-visible{outline:2px solid var(--dourado);outline-offset:3px}
.ic{width:1.25em;height:1.25em;flex:none;fill:currentColor}
.ph{background:rgba(189,172,130,.28);color:inherit;padding:0 .25em;border-radius:var(--raio);font-style:normal;overflow-wrap:anywhere}

/* temas de seção */
.escuro{background:var(--marinho);color:var(--claro)}
.escuro h2,.escuro h1{color:#f6f5f1}
.escuro .apoio{color:var(--claro-2)}
.cinza{background:var(--cinza-2)}
.apoio{color:var(--grafite-2)}
section{padding:clamp(76px,10vw,124px) 0;position:relative}
.cab{margin-bottom:clamp(36px,5vw,56px)}
.cab p{margin-top:16px;font-size:1.08rem}

/* botões (um rótulo por intenção) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.5rem;border-radius:var(--raio);font-weight:600;font-size:1rem;letter-spacing:.01em;text-decoration:none;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.btn:active{transform:translateY(1px) scale(.985)}
.btn-ouro{background:var(--dourado);color:var(--marinho)}
.btn-ouro:hover{background:var(--dourado-2)}
.btn-marinho{background:var(--marinho);color:#fff}
.btn-marinho:hover{background:var(--marinho-3)}
.btn-linha{border-color:var(--linha-escura);color:var(--claro)}
.btn-linha:hover{border-color:var(--dourado);color:var(--dourado)}
.btn-linha-clara{border-color:var(--linha-clara);color:var(--marinho)}
.btn-linha-clara:hover{border-color:var(--marinho)}

/* navegação */
.nav{position:sticky;top:0;z-index:100;background:rgba(35,41,54,.9);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid rgba(189,172,130,.16)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.nav .marca img{height:30px;width:auto}
.nav ul{display:flex;gap:clamp(14px,2vw,26px);list-style:none;margin:0;padding:0;font-size:.93rem}
.nav ul a{text-decoration:none;color:var(--claro-2);transition:color .2s}
.nav ul a:hover{color:var(--dourado)}
.nav .btn{padding:.6rem 1rem;font-size:.9rem}
@media (max-width:1080px){.nav ul{display:none}}
@media (max-width:560px){.nav .btn{display:none}}

/* hero */
.hero{padding:clamp(48px,7vw,88px) 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.sobre-tit{display:inline-flex;align-items:center;gap:12px;font-family:"Trento","Gantari",serif;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dourado);margin-bottom:22px}
.sobre-tit img{width:22px;height:22px}
.hero h1 em{font-style:normal;color:var(--dourado)}
.hero .sub{margin-top:22px;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--claro-2);max-width:46ch}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-foto{position:relative;align-self:stretch;min-height:440px}
.hero-foto .moldura{position:absolute;inset:0 0 0 0;border:1px solid var(--linha-escura);transform:translate(18px,-18px)}
.hero-foto .foto{position:absolute;inset:0}
.fatos{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(48px,7vw,80px);border-top:1px solid var(--linha-escura)}
.fatos li{display:flex;align-items:center;gap:12px;padding:22px 18px;font-size:.96rem;color:var(--claro)}
.fatos li+li{border-left:1px solid var(--linha-escura)}
.fatos .ic{color:var(--dourado);width:22px;height:22px}
.fatos ul,ul.fatos{list-style:none;margin-left:0;padding-left:0}

/* foto e espaço reservado para foto */
.foto{background:var(--marinho-3);overflow:hidden;border-radius:var(--raio);position:relative}
.foto img{width:100%;height:100%;object-fit:cover}
.foto.vazia{display:flex;align-items:flex-end;background:
  linear-gradient(180deg,rgba(44,51,67,.88),rgba(35,41,54,.94)),
  url("img/padrao-dourado.webp") center/360px repeat,var(--marinho-3)}
.foto.vazia span{display:block;margin:16px;padding:6px 10px;font-size:.78rem;letter-spacing:.06em;color:var(--marinho);background:var(--dourado);border-radius:var(--raio)}
.cinza .foto.vazia,.claro-foto.vazia{background:
  linear-gradient(180deg,rgba(226,226,222,.9),rgba(226,226,222,.95)),
  url("img/padrao-marinho.webp") center/360px repeat,var(--cinza)}

/* sobre */
.sobre-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,88px);align-items:center}
.sobre-grid .foto{aspect-ratio:4/5}
.sobre-grid p.lead{font-size:1.1rem;margin-top:22px}
.pilares{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:0}
.pilares li{display:grid;grid-template-columns:44px 1fr;gap:4px 18px;padding:20px 0;border-top:1px solid var(--linha-clara)}
.pilares img{width:28px;height:28px;margin-top:2px;grid-row:span 2}
.pilares h3{color:var(--marinho)}
.assinatura{margin-top:30px;font-family:"Trento",serif;font-size:.95rem;color:var(--marinho);letter-spacing:.12em;text-transform:uppercase}

/* primeira visita */
.passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:p;position:relative}
.passos li{padding:0 clamp(12px,2vw,28px) 0 0;position:relative}
.passos li::before{content:"";display:block;width:100%;height:1px;background:var(--linha-clara);margin:27px 0 0}
.passos .marco{position:absolute;top:0;left:0;width:56px;height:56px;border-radius:50%;background:var(--branco);border:1px solid var(--linha-clara);display:grid;place-items:center;color:var(--marinho)}
.passos .marco .ic{width:24px;height:24px}
.passos h3{margin-top:44px;color:var(--marinho)}
.passos p{margin-top:8px;color:var(--grafite-2);font-size:.98rem}
.visita-info{display:grid;grid-template-columns:1fr 1fr auto;gap:clamp(20px,4vw,56px);align-items:start;margin-top:clamp(48px,6vw,72px);padding-top:32px;border-top:1px solid var(--linha-clara)}
.visita-info dt{font-weight:600;color:var(--marinho);margin-bottom:6px}
.visita-info dd{margin:0;color:var(--grafite-2)}

/* lentes e facetas */
.ident{display:inline-flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid var(--linha-escura);border-radius:var(--raio);font-size:.92rem;color:var(--claro);margin-bottom:28px}
.ident img{width:18px;height:18px}
.lentes-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,96px);align-items:start}
.lentes-grid .foto{aspect-ratio:4/5}
.citacao{margin:28px 0 0;padding:0 0 0 22px;border-left:1px solid var(--dourado)}
.citacao p{font-weight:300;font-size:1.35rem;line-height:1.45;color:#f6f5f1}
.citacao footer{margin-top:10px;font-size:.9rem;color:var(--dourado)}
.blocos{margin-top:36px;display:grid}
.blocos article{padding:26px 0;border-top:1px solid var(--linha-escura)}
.blocos h3{color:var(--dourado);font-size:1rem;letter-spacing:.06em;text-transform:none}
.blocos p{margin-top:8px;color:var(--claro-2)}
.escuro .padrao-canto{position:absolute;right:0;top:0;width:min(38vw,420px);height:100%;background:url("img/padrao-dourado.webp") right top/240px repeat;opacity:.07;pointer-events:none;-webkit-mask-image:linear-gradient(270deg,#000,transparent);mask-image:linear-gradient(270deg,#000,transparent)}

/* tratamentos (bento) */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bento article{padding:28px;border:1px solid var(--linha-clara);border-radius:var(--raio);background:var(--branco);display:flex;flex-direction:column;gap:10px;min-height:190px;transition:border-color .3s var(--ease),transform .3s var(--ease)}
.bento article:hover{border-color:var(--marinho);transform:translateY(-2px)}
.bento .area{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--grafite-2)}
.bento h3{font-weight:400;letter-spacing:-.01em;font-size:1.45rem;color:var(--marinho)}
.bento p{color:var(--grafite-2);font-size:.98rem;margin-top:auto}
.bento .destaque{grid-column:span 2;grid-row:span 2;background:var(--marinho);border-color:var(--marinho);justify-content:flex-end;position:relative;overflow:hidden}
.bento .destaque::before{content:"";position:absolute;right:-40px;top:-40px;width:280px;height:280px;background:url("img/padrao-dourado.webp") center/280px no-repeat;opacity:.3;-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 72%);mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 72%)}
.bento .destaque>*{position:relative}
.bento .destaque h3{color:#f6f5f1;font-size:2rem}
.bento .destaque .area{color:var(--dourado)}
.bento .destaque p{color:var(--claro-2);margin-top:6px;font-size:1.05rem}
.bento .largo{grid-column:span 2}
.bento-rodape{display:flex;margin-top:32px}
.bento-rodape p{color:var(--grafite-2)}

/* conforto */
.conforto-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,88px);align-items:center}
.itens{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.itens li{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--linha-clara);border-radius:var(--raio);background:var(--branco);color:var(--marinho);font-weight:500}
.itens .ic{color:var(--marinho)}
.link-discreto{display:inline-flex;align-items:center;gap:8px;margin-top:28px;color:var(--marinho);font-weight:600;text-decoration:none;border-bottom:1px solid var(--linha-clara);padding-bottom:3px}
.link-discreto:hover{border-color:var(--marinho)}

/* equipe */
.equipe{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);list-style:none;margin:0;padding:0}
.equipe .foto{aspect-ratio:4/5;margin-bottom:18px}
.equipe h3{font-weight:500;letter-spacing:0;font-size:1.3rem;color:var(--marinho)}
.equipe .cargo{margin-top:6px;font-size:.95rem;color:var(--grafite-2);line-height:1.5}
.equipe .rt{display:inline-block;margin-top:10px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marinho);border-top:1px solid var(--marinho);padding-top:6px}

/* a clínica (galeria) */
.galeria{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(120px,14vw,190px);gap:12px}
.galeria .foto:nth-child(1){grid-column:span 3;grid-row:span 2}
.galeria .foto:nth-child(2){grid-column:span 3}
.galeria .foto:nth-child(3){grid-column:span 2;grid-row:span 2}
.galeria .foto:nth-child(4){grid-column:span 1}
.galeria .foto:nth-child(5){grid-column:span 2;grid-row:span 2}
.galeria .foto:nth-child(6){grid-column:span 1}

/* como chegar */
.chegar-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:stretch}
.dados{list-style:none;margin:0;padding:0}
.dados li{display:grid;grid-template-columns:36px 1fr;gap:2px 14px;padding:16px 0;border-top:1px solid var(--linha-clara)}
.dados li:last-child{border-bottom:1px solid var(--linha-clara)}
.dados .ic{grid-row:span 2;color:var(--marinho);width:24px;height:24px;margin-top:2px}
.dados b{font-weight:600;color:var(--marinho)}
.dados span{color:var(--grafite-2)}
.mapa{min-height:420px;border-radius:var(--raio);overflow:hidden;border:1px solid var(--linha-clara);background:var(--cinza)}
.mapa iframe{width:100%;height:100%;min-height:420px;border:0;display:block;filter:grayscale(.35) contrast(1.02)}
.acoes-mapa{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}

/* dúvidas */
.faq{max-width:820px}
.faq details{border-top:1px solid var(--linha-clara)}
.faq details:last-of-type{border-bottom:1px solid var(--linha-clara)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-weight:600;font-size:1.06rem;color:var(--marinho)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;flex:none;border:1px solid var(--marinho);transform:rotate(45deg);transition:transform .35s var(--ease),background-color .35s var(--ease)}
.faq details[open] summary::after{background:var(--marinho);transform:rotate(135deg)}
.faq details p{padding:0 0 24px;color:var(--grafite-2)}

/* agendar */
.agendar{text-align:left;overflow:hidden}
.agendar .padrao{position:absolute;inset:0;background:url("img/padrao-dourado.webp") center/260px repeat;opacity:.06;pointer-events:none}
.agendar-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;position:relative}
.agendar .numero{display:block;font-family:"Trento",serif;letter-spacing:.06em;font-size:clamp(1.5rem,3vw,2.3rem);color:var(--dourado);text-decoration:none;margin-bottom:18px;white-space:nowrap}
.agendar p{margin-top:18px;font-size:1.1rem}

/* rodapé */
.rodape{background:var(--marinho-2);color:var(--claro-2);padding:64px 0 120px;font-size:.93rem}
.rodape-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:40px}
.rodape img.logo{width:150px;height:auto;margin-bottom:18px}
.rodape h3{color:var(--claro);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.rodape p{line-height:1.7}
.rodape a{color:var(--claro);text-decoration:none;border-bottom:1px solid transparent}
.rodape a:hover{border-color:var(--dourado);color:var(--dourado)}
.rodape .base{margin-top:48px;padding-top:22px;border-top:1px solid rgba(189,172,130,.14);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}

/* barra fixa no celular */
.barra{display:none}
@media (max-width:760px){
  .barra{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(27,32,43,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(189,172,130,.18)}
  .barra .btn{padding:.85rem .5rem;font-size:.9rem;gap:.4rem;min-width:0}
}

/* responsivo */
@media (max-width:960px){
  .hero-grid,.sobre-grid,.lentes-grid,.conforto-grid,.chegar-grid,.agendar-grid{grid-template-columns:1fr}
  .hero-foto{min-height:340px;order:2}
  .hero-foto .moldura{transform:translate(10px,-10px)}
  .fatos{grid-template-columns:1fr 1fr}
  .fatos li:nth-child(3){border-left:0}
  .fatos li:nth-child(n+3){border-top:1px solid var(--linha-escura)}
  .passos{grid-template-columns:1fr 1fr;row-gap:40px}
  .visita-info{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr 1fr}
  .bento .destaque{grid-column:span 2;grid-row:auto;min-height:260px}
  .equipe{grid-template-columns:1fr 1fr}
  .rodape-grid{grid-template-columns:1fr}
  .sobre-grid .foto,.lentes-grid .foto{aspect-ratio:4/3}
}
@media (max-width:560px){
  body{font-size:16.5px}
  .passos{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .bento .destaque,.bento .largo{grid-column:auto}
  .galeria{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .galeria .foto:nth-child(n){grid-column:span 1;grid-row:span 1}
  .galeria .foto:nth-child(1){grid-column:span 2;grid-row:span 2}
  .acoes .btn{flex:1 1 100%}
  .fatos li{padding:16px 10px;font-size:.9rem}
  .equipe{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .bento article{min-height:0;padding:22px}
  .bento .destaque{min-height:220px}
  .bento p{margin-top:4px}
}

/* entrada suave (motivo: ordem de leitura) */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .rv.in{opacity:1;transform:none}
  .hero .rv{transition-duration:1.1s}
}

/* ===================== CAMADA DE VIDA (06/11, pedido "mais tcham") =====================
   Mesma paleta do manual; o que muda é profundidade (luz e gradiente), brilho metálico no dourado
   e movimento com motivo: faixa de serviços (amplitude), linha que se desenha (sequência da visita),
   brilho no botão (convite à ação), símbolo girando devagar no topo (assinatura da marca). */

:root{
  --ouro-metal:linear-gradient(115deg,#a8956a 0%,#d9cba4 28%,#bdac82 48%,#efe4c4 62%,#b29f73 82%,#d3c6a2 100%);
  --luz-ouro:radial-gradient(ellipse at center,rgba(189,172,130,.32),rgba(189,172,130,0) 70%);
}

/* fundos escuros com luz: marinho profundo + brilho dourado + leve granulado */
.escuro{background:
  radial-gradient(1100px 620px at 82% -10%,rgba(189,172,130,.20),transparent 60%),
  radial-gradient(900px 600px at -10% 110%,rgba(80,96,130,.35),transparent 60%),
  linear-gradient(160deg,#2a3142 0%,#232936 45%,#161a23 100%)}
.escuro::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.escuro>.wrap{position:relative;z-index:1}

/* fundos claros com calor: não mais chapados */
#sobre,#tratamentos,#equipe,#como-chegar{background:
  radial-gradient(700px 420px at 100% 0%,rgba(189,172,130,.16),transparent 65%),
  radial-gradient(600px 400px at 0% 100%,rgba(35,41,54,.05),transparent 70%),#fbfbfa}
.cinza{background:
  radial-gradient(800px 500px at 0% 0%,rgba(189,172,130,.20),transparent 60%),
  linear-gradient(180deg,#ecece8,#e4e4df)}

/* dourado metálico */
.hero h1 em{background:var(--ouro-metal);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:brilhoTexto 9s ease-in-out infinite}
.btn-ouro{background:var(--ouro-metal);background-size:220% 100%;background-position:0 0;color:#1b202b;box-shadow:0 10px 30px -12px rgba(189,172,130,.55),inset 0 1px 0 rgba(255,255,255,.45);position:relative;overflow:hidden;transition:background-position .8s var(--ease),transform .25s var(--ease),box-shadow .3s var(--ease)}
.btn-ouro:hover{background:var(--ouro-metal);background-size:220% 100%;background-position:100% 0;box-shadow:0 14px 36px -12px rgba(189,172,130,.75),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-ouro::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg)}
.btn-marinho{background:linear-gradient(135deg,#2f3749,#1b202b);box-shadow:0 12px 30px -14px rgba(27,32,43,.7),inset 0 1px 0 rgba(255,255,255,.08)}
.btn-marinho:hover{background:linear-gradient(135deg,#384157,#232936)}

/* topo: símbolo da marca grande, girando devagar, e moldura com luz */
.hero{isolation:isolate}
.hero .marca-agua{position:absolute;z-index:0;right:-140px;top:40px;width:620px;height:620px;opacity:.07;pointer-events:none;background:url("img/simbolo-dourado.webp") center/contain no-repeat}
.hero-foto .moldura{border-color:rgba(189,172,130,.55);box-shadow:0 0 0 1px rgba(189,172,130,.08),0 40px 90px -30px rgba(0,0,0,.6)}
.hero-foto .foto{box-shadow:0 30px 80px -30px rgba(0,0,0,.65)}
.hero-foto::before{content:"";position:absolute;width:70%;height:70%;left:15%;top:15%;background:var(--luz-ouro);filter:blur(40px);z-index:-1}
.sobre-tit{color:#d9cba4}
.fatos{background:rgba(255,255,255,.03);border:1px solid var(--linha-escura);border-radius:var(--raio);backdrop-filter:blur(6px)}
.fatos li+li{border-left-color:var(--linha-escura)}
.fatos .ic{padding:6px;width:34px;height:34px;border:1px solid rgba(189,172,130,.45);transform:rotate(45deg);border-radius:2px}
.fatos .ic use{transform:rotate(-45deg);transform-origin:center}

/* faixa de serviços (única do site) */
.faixa{background:linear-gradient(90deg,#a8956a,#d9cba4 35%,#bdac82 60%,#cbbd96);color:#1b202b;overflow:hidden;padding:16px 0;border-block:1px solid rgba(27,32,43,.15)}
.faixa .trilho{display:flex;width:max-content;animation:faixa 42s linear infinite}
.faixa ul{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0 17px;font-family:"Trento","Gantari",serif;text-transform:uppercase;letter-spacing:.16em;font-size:.95rem;white-space:nowrap}
.faixa li{display:flex;align-items:center;gap:34px}
.faixa li::after{content:"";width:8px;height:8px;border:1px solid #1b202b;transform:rotate(45deg)}

/* sobre: foto com moldura dourada deslocada; pilares com losango */
.sobre-grid .foto{box-shadow:24px 24px 0 -1px #fbfbfa,24px 24px 0 0 rgba(189,172,130,.7),0 30px 70px -30px rgba(35,41,54,.45)}
.pilares li{transition:background-color .35s var(--ease),padding .35s var(--ease)}
.pilares li:hover{background:linear-gradient(90deg,rgba(189,172,130,.14),transparent);padding-left:10px}

/* primeira visita: marcos em losango e linha que se desenha */
.passos .marco{border-radius:2px;transform:rotate(45deg);width:50px;height:50px;top:3px;left:3px;background:linear-gradient(145deg,#2f3749,#1b202b);border:0;box-shadow:0 10px 24px -10px rgba(27,32,43,.6),inset 0 0 0 1px rgba(189,172,130,.5);color:var(--dourado)}
.passos .marco .ic{transform:rotate(-45deg)}
.passos li::before{background:linear-gradient(90deg,var(--dourado),rgba(189,172,130,.25));transform-origin:left;height:2px}
.visita-info{background:#fff;border:1px solid var(--linha-clara);border-top:2px solid var(--dourado);padding:28px;border-radius:var(--raio);box-shadow:0 30px 60px -40px rgba(35,41,54,.35)}

/* lentes: cartões de vidro e citação maior */
.ident{background:rgba(189,172,130,.08);border-color:rgba(189,172,130,.45)}
.lentes-grid .foto{box-shadow:0 40px 90px -35px rgba(0,0,0,.7),0 0 0 1px rgba(189,172,130,.35)}
.blocos article{border-top:0;margin-top:12px;padding:22px 24px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.015));border:1px solid rgba(189,172,130,.18);border-left:2px solid var(--dourado);border-radius:var(--raio);transition:transform .4s var(--ease),border-color .4s var(--ease),background-color .4s}
.blocos article:hover{transform:translateX(6px);border-color:rgba(189,172,130,.5)}
.citacao p{font-size:1.5rem}
.citacao{border-left-width:2px}

/* tratamentos: destaque com luz, cartões que acendem */
.bento .destaque{background:
  radial-gradient(420px 300px at 85% 10%,rgba(189,172,130,.35),transparent 60%),
  linear-gradient(150deg,#2f3749,#1b202b)}
.bento .destaque h3{font-size:2.2rem}
.bento article:not(.destaque){position:relative;overflow:hidden;box-shadow:0 20px 40px -34px rgba(35,41,54,.5)}
.bento article:not(.destaque)::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--ouro-metal);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.bento article:not(.destaque):hover::before{transform:scaleX(1)}
.bento article:not(.destaque):hover{box-shadow:0 28px 50px -30px rgba(35,41,54,.55)}

/* conforto: chips vivos */
.itens li{box-shadow:0 12px 26px -20px rgba(35,41,54,.5);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.itens li:hover{transform:translateY(-3px);border-color:var(--dourado);box-shadow:0 18px 30px -18px rgba(35,41,54,.45)}
.itens .ic{color:#9a8858}

/* equipe e galeria: foto ganha zoom e moldura */
.equipe .foto,.galeria .foto{transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.equipe li:hover .foto{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(35,41,54,.6),0 0 0 1px rgba(189,172,130,.7)}
.galeria .foto:hover{transform:scale(1.015);box-shadow:0 26px 60px -30px rgba(35,41,54,.6)}
.equipe .rt{border-top-color:var(--dourado);color:#7d6c42}

/* espaço reservado para foto: mais vivo enquanto as fotos não chegam */
.foto.vazia{background:
  radial-gradient(300px 220px at 70% 20%,rgba(189,172,130,.30),transparent 70%),
  linear-gradient(180deg,rgba(44,51,67,.80),rgba(27,32,43,.92)),
  url("img/padrao-dourado.webp") center/360px repeat,#2c3343}
.cinza .foto.vazia,.claro-foto.vazia{background:
  radial-gradient(300px 220px at 70% 20%,rgba(189,172,130,.35),transparent 70%),
  linear-gradient(180deg,rgba(236,236,232,.86),rgba(226,226,222,.94)),
  url("img/padrao-marinho.webp") center/360px repeat,#e2e2de}

/* mapa e dúvidas */
.mapa{box-shadow:0 30px 70px -40px rgba(35,41,54,.6);border-color:rgba(189,172,130,.5)}
.faq details{transition:background-color .3s}
.faq details[open]{background:linear-gradient(90deg,rgba(189,172,130,.12),transparent 70%)}
.faq details[open] summary,.faq details[open] p{padding-left:16px}
.faq summary::after{border-color:#9a8858}
.faq details[open] summary::after{background:var(--dourado)}

/* fecho: luz central, padronagem que respira */
.agendar{background:
  radial-gradient(700px 400px at 75% 50%,rgba(189,172,130,.28),transparent 65%),
  linear-gradient(160deg,#2a3142,#161a23)}
.agendar .padrao{opacity:.08}
.agendar h2{font-size:clamp(2.3rem,4.4vw,3.6rem)}
.agendar .numero{background:var(--ouro-metal);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.rodape{background:linear-gradient(180deg,#1b202b,#12151c)}

/* movimento (com motivo) */
@keyframes brilhoTexto{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes faixa{to{transform:translateX(-50%)}}
@keyframes gira{to{transform:rotate(360deg)}}
@keyframes reflexo{0%,70%{left:-60%}100%{left:130%}}
@keyframes respira{0%,100%{background-position:0 0}50%{background-position:60px 40px}}
@media (prefers-reduced-motion:no-preference){
  .hero .marca-agua{animation:gira 120s linear infinite}
  .btn-ouro::after{animation:reflexo 5.5s ease-in-out infinite}
  .agendar .padrao{animation:respira 24s ease-in-out infinite}
  .passos li::before{transform:scaleX(0);transition:transform 1.2s var(--ease)}
  .passos li.in::before{transform:scaleX(1)}
}
@media (prefers-reduced-motion:reduce){
  .faixa .trilho,.hero h1 em{animation:none}
}
@media (max-width:960px){
  .hero .marca-agua{width:380px;height:380px;right:-160px;top:10px}
  .sobre-grid .foto{box-shadow:14px 14px 0 -1px #fbfbfa,14px 14px 0 0 rgba(189,172,130,.7)}
  .fatos .ic{width:30px;height:30px}
}
@media (min-width:961px){.hero-grid{grid-template-columns:1.3fr .7fr}.hero-foto{min-height:460px}}
/* topo: entrada por CSS (não depende de JS nem de rolagem; protege o carregamento) */
@keyframes entra{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero .rv{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:no-preference){
  .hero .rv{animation:entra .9s var(--ease) both}
  .hero .rv:nth-child(2){animation-delay:.08s}.hero .rv:nth-child(3){animation-delay:.16s}.hero .rv:nth-child(4){animation-delay:.24s}
  .hero .hero-foto.rv{animation-delay:.2s}
}

/* avaliações do Google */
#avaliacoes{background:
  radial-gradient(700px 420px at 0% 0%,rgba(189,172,130,.18),transparent 65%),
  radial-gradient(600px 400px at 100% 100%,rgba(35,41,54,.06),transparent 70%),#fbfbfa}
.aval-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,88px);align-items:start}
.aval-nota{position:sticky;top:110px}
.nota{display:flex;align-items:center;gap:18px;margin:26px 0 8px}
.nota .num{font-size:clamp(4rem,8vw,6rem);font-weight:200;line-height:1;color:var(--marinho);letter-spacing:-.03em}
.estrelas{display:inline-flex;gap:3px;color:#b39d63}
.nota .estrelas .ic{width:26px;height:26px}
.aval-nota .btn{margin-top:28px}
.aval-lista{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.aval{margin:0;padding:28px;background:#fff;border:1px solid var(--linha-clara);border-radius:var(--raio);box-shadow:0 22px 44px -34px rgba(35,41,54,.5);position:relative;display:flex;flex-direction:column;gap:14px;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.aval:hover{transform:translateY(-3px);border-color:rgba(189,172,130,.8);box-shadow:0 30px 50px -30px rgba(35,41,54,.5)}
.aval:nth-child(2){transform:translateY(28px)}
.aval:nth-child(2):hover{transform:translateY(25px)}
.aval:nth-child(4){background:linear-gradient(150deg,#2f3749,#1b202b);border-color:#1b202b}
.aval:nth-child(4) blockquote{color:#f1efe9}
.aval:nth-child(4) figcaption{color:var(--dourado)}
.aval .aspas{position:absolute;right:22px;top:20px;width:34px;height:34px;color:rgba(189,172,130,.35)}
.aval .estrelas .ic{width:16px;height:16px}
.aval blockquote{margin:0;font-size:1.05rem;line-height:1.6;color:var(--grafite)}
.aval figcaption{font-size:.88rem;color:var(--grafite-2);margin-top:auto}
@media (max-width:960px){.aval-grid{grid-template-columns:1fr}.aval-nota{position:static}}
@media (max-width:620px){.aval-lista{grid-template-columns:1fr}.aval:nth-child(2){transform:none}.aval:nth-child(2):hover{transform:translateY(-3px)}}

/* carrossel de avaliações no estilo do Google */
.g-cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px}
.g-resumo{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.g-resumo .num{font-size:2.6rem;font-weight:300;color:var(--marinho);line-height:1}
.g-logo-grande{width:30px;height:30px;color:#4285f4}
.g-estrelas{display:inline-flex;gap:2px;color:#fbbc04}
.g-resumo .g-estrelas .ic{width:22px;height:22px}
.g-nav{display:flex;gap:10px;align-items:center}
.g-seta{width:46px;height:46px;border-radius:50%;border:1px solid var(--linha-clara);background:#fff;color:var(--marinho);display:grid;place-items:center;cursor:pointer;transition:border-color .25s,transform .25s var(--ease),box-shadow .25s}
.g-seta:hover{border-color:var(--marinho);box-shadow:0 10px 20px -12px rgba(35,41,54,.5)}
.g-seta:active{transform:scale(.95)}
.g-seta[data-dir="-1"] .ic{transform:rotate(-135deg)}
.g-seta[data-dir="1"] .ic{transform:rotate(45deg)}
.g-trilho{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(270px,30%,360px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 28px;scrollbar-width:thin;scrollbar-color:rgba(35,41,54,.25) transparent;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}
.g-trilho:focus-visible{outline-offset:6px}
.g-card{scroll-snap-align:start;margin:0;background:#fff;border:1px solid #dadce0;border-radius:8px;padding:20px 20px 18px;font-family:Roboto,Arial,system-ui,sans-serif;color:#202124;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px rgba(60,64,67,.15),0 1px 3px 1px rgba(60,64,67,.08);transition:box-shadow .3s,transform .3s var(--ease)}
.g-card:hover{box-shadow:0 2px 6px rgba(60,64,67,.2),0 8px 24px -8px rgba(60,64,67,.25);transform:translateY(-2px)}
.g-topo{display:grid;grid-template-columns:40px 1fr 20px;gap:12px;align-items:center}
.g-av{width:40px;height:40px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:1.1rem;font-weight:500}
.g-topo b{display:block;font-weight:500;font-size:.95rem}
.g-topo div span{font-size:.8rem;color:#70757a}
.g-logo{width:20px;height:20px;color:#4285f4}
.g-card .g-estrelas .ic{width:15px;height:15px}
.g-card blockquote{margin:0;font-size:.93rem;line-height:1.55;color:#3c4043;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.g-card.aberto blockquote{-webkit-line-clamp:unset;display:block}
.g-mais{align-self:flex-start;background:none;border:0;padding:0;color:#1a73e8;font:500 .88rem Roboto,Arial,sans-serif;cursor:pointer}
@media (max-width:620px){.g-trilho{grid-auto-columns:84%}.g-nav .btn{display:none}}
/* links das páginas de serviço */
.bento article{position:relative}
.bento a.cobre{text-decoration:none;color:inherit}
.bento a.cobre::after{content:"";position:absolute;inset:0;z-index:1}
.bento .saiba{font-size:.9rem;color:var(--dourado);position:relative;z-index:2}
.bento .saiba a{color:var(--dourado);text-decoration:underline;text-underline-offset:3px}
.rodape-grid{grid-template-columns:1.1fr 1fr 1fr .9fr}
@media (max-width:960px){.rodape-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rodape-grid{grid-template-columns:1fr}}

/* ===== páginas internas (serviços e artigos) ===== */
.pg-topo{padding:clamp(48px,7vw,88px) 0 clamp(48px,6vw,72px)}
.pg-topo h1{font-size:clamp(2.1rem,4.2vw,3.4rem);max-width:20ch}
.pg-topo .sub{margin-top:20px;font-size:clamp(1.05rem,1.3vw,1.18rem);color:var(--claro-2);max-width:62ch}
.pg-topo .ident{margin-bottom:22px}
.migalhas{display:flex;flex-wrap:wrap;gap:8px;font-size:.88rem;color:var(--claro-2);margin-bottom:26px}
.migalhas a{color:var(--claro-2);text-decoration:none}.migalhas a:hover{color:var(--dourado)}
.migalhas span[aria-current]{color:var(--dourado)}
.pg-grade{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(36px,5vw,72px);padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.pg-texto{max-width:72ch}
.pg-texto .bloco{padding:0 0 clamp(28px,4vw,44px)}
.pg-texto h2{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:16px}
.pg-texto p{color:#40434a;margin-bottom:14px;max-width:none}
.pg-texto a{color:var(--marinho);text-decoration:underline;text-decoration-color:var(--dourado);text-underline-offset:3px}
.pg-texto ul,.passos-lista{padding-left:0;list-style:none;margin:6px 0 16px;counter-reset:n}
.passos-lista li{position:relative;padding:12px 0 12px 46px;border-top:1px solid var(--linha-clara);color:#40434a}
.passos-lista li::before{counter-increment:n;content:counter(n);position:absolute;left:0;top:12px;width:28px;height:28px;border-radius:2px;transform:rotate(45deg);background:linear-gradient(145deg,#2f3749,#1b202b);box-shadow:inset 0 0 0 1px rgba(189,172,130,.5)}
.passos-lista li::after{counter-increment:none;content:counter(n);position:absolute;left:0;top:12px;width:28px;height:28px;display:grid;place-items:center;color:var(--dourado);font-size:.8rem;font-weight:600}
.pg-texto .faq summary{font-size:1rem}
.pg-texto .faq details p{padding-bottom:18px}
.nota-intro p{font-style:italic;color:var(--grafite-2)}
.pg-lado{position:relative}
.cartao-lado{position:sticky;top:96px;padding:26px;border:1px solid var(--linha-clara);border-top:2px solid var(--dourado);border-radius:var(--raio);background:#fff;box-shadow:0 30px 60px -40px rgba(35,41,54,.45);display:grid;gap:18px}
.ouro-t{font-size:.82rem;color:#7d6c42;margin:0}
.dados-lado{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:.93rem;color:#40434a}
.dados-lado li{display:grid;grid-template-columns:22px 1fr;gap:10px}
.dados-lado .ic{color:var(--marinho)}
.cartao-lado .btn{width:100%;white-space:normal}
.pg-fecho{padding:clamp(56px,7vw,96px) 0}
.fecho-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:center}
.fecho-grid p{color:var(--claro-2);margin-top:14px}
.pg-outros{padding:clamp(56px,7vw,88px) 0;background:#fbfbfa}
.pg-outros h2{font-size:1.6rem;margin-bottom:22px}
.outros{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.outros a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border:1px solid var(--linha-clara);border-radius:var(--raio);background:#fff;text-decoration:none;color:var(--marinho);font-weight:500;transition:border-color .3s,transform .3s var(--ease)}
.outros a:hover{border-color:var(--dourado);transform:translateY(-2px)}
.outros-lado{grid-template-columns:1fr}
.outros-lado a{padding:12px 14px;font-size:.92rem}
.caixa-cta{margin:20px 0;padding:30px;border-radius:var(--raio);background:linear-gradient(150deg,#2f3749,#1b202b);color:var(--claro)}
.caixa-cta h2{color:#f6f5f1}.caixa-cta p{color:var(--claro-2)}
.assinatura-art{font-size:.9rem;color:var(--grafite-2)}
.fontes{margin-top:24px;padding-top:20px;border-top:1px solid var(--linha-clara)}
.fontes h2{font-size:1rem!important;font-weight:600}
.fontes li{font-size:.9rem;color:var(--grafite-2);padding:4px 0}
.lista-blog{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.lista-blog a{display:flex;flex-direction:column;gap:12px;height:100%;padding:28px;border:1px solid var(--linha-clara);border-top:2px solid var(--dourado);border-radius:var(--raio);background:#fff;text-decoration:none;color:inherit;box-shadow:0 22px 44px -34px rgba(35,41,54,.5);transition:transform .3s var(--ease)}
.lista-blog a:hover{transform:translateY(-3px)}
.lista-blog h2{font-size:1.35rem}
.lista-blog p{color:var(--grafite-2);font-size:.95rem}
.lista-blog .ler{margin-top:auto;display:inline-flex;gap:6px;align-items:center;color:var(--marinho);font-weight:600}
@media (max-width:960px){.pg-grade{grid-template-columns:1fr}.cartao-lado{position:static}.fecho-grid{grid-template-columns:1fr}}
.lista-pontos li{position:relative;padding:8px 0 8px 26px;color:#40434a}
.lista-pontos li::before{content:"";position:absolute;left:4px;top:17px;width:8px;height:8px;border:1px solid #9a8858;transform:rotate(45deg)}
/* cartões de tratamento clicáveis: affordance explícita */
.bento article.link{cursor:pointer}
.bento .ver{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;font-size:.92rem;color:var(--marinho);position:relative;z-index:0}
.bento .ver .ic{width:18px;height:18px;padding:3px;border-radius:50%;background:var(--marinho);color:#fff;transition:transform .35s var(--ease)}
.bento .destaque .ver{color:var(--dourado)}
.bento .destaque .ver .ic{background:var(--dourado);color:var(--marinho)}
.bento article.link:hover .ver .ic{transform:translate(3px,-3px)}
.bento article.link:hover{border-color:var(--marinho)}
.bento article.link:hover h3{text-decoration:underline;text-decoration-color:var(--dourado);text-underline-offset:5px}
.bento article.link::after{content:"";position:absolute;right:18px;top:18px;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;opacity:.35;transition:opacity .3s,transform .35s var(--ease)}
.bento article.link:hover::after{opacity:1;transform:translate(2px,-2px)}
.bento .destaque.link::after{color:var(--dourado)}
.bento .ver{align-self:flex-start;padding:.55rem .95rem;border:1px solid var(--marinho);border-radius:var(--raio);font-size:.9rem;transition:background-color .3s,color .3s}
.bento .ver .ic{background:none;color:currentColor;padding:0;width:16px;height:16px}
.bento article.link:hover .ver{background:var(--marinho);color:#fff}
.bento .destaque .ver{border-color:var(--dourado);color:var(--dourado)}
.bento .destaque.link:hover .ver{background:var(--dourado);color:#1b202b}
.bento .destaque .ver .ic{background:none;color:currentColor}
.bento article.link{box-shadow:0 18px 36px -26px rgba(35,41,54,.55)}
.hero-foto .foto img,.sobre-grid .foto img,.lentes-grid .foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* equipe: destaque do RT com monograma (até a foto chegar) */
.equipe-destaque{display:grid;grid-template-columns:260px 1fr;gap:clamp(28px,4vw,56px);align-items:center;max-width:920px}
.monograma{aspect-ratio:4/5;border-radius:var(--raio);display:grid;place-items:center;align-content:center;gap:14px;background:
  radial-gradient(260px 200px at 70% 20%,rgba(189,172,130,.35),transparent 70%),linear-gradient(150deg,#2f3749,#1b202b);box-shadow:0 30px 60px -30px rgba(35,41,54,.6),0 0 0 1px rgba(189,172,130,.35)}
.monograma img{width:84px;height:84px}
.monograma span{font-family:"Trento","Gantari",serif;font-size:1.6rem;letter-spacing:.3em;color:var(--dourado);padding-left:.3em}
.equipe-destaque h3{font-weight:300;font-size:clamp(1.8rem,3vw,2.4rem);color:var(--marinho);letter-spacing:-.01em}
.equipe-destaque .cargo{margin-top:8px;color:var(--grafite-2)}
@media (max-width:620px){.equipe-destaque{grid-template-columns:1fr}.monograma{max-width:240px}}
