*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body-font),system-ui,sans-serif;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased}
main{display:flex;flex-direction:column}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--heading-font),serif;font-weight:500;line-height:1.12;margin:0;color:var(--ink);letter-spacing:-.01em}
p{margin:0}
.pv-shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.pv-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--progress);z-index:1100}

/* tipografia de apoio */
.pv-eyebrow{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.pv-num{display:block;font-family:var(--heading-font),serif;font-size:15px;color:var(--gold);letter-spacing:.08em;margin-bottom:18px}
.pv-heading{max-width:640px;margin-bottom:56px}
.pv-heading h2{font-size:clamp(30px,4vw,44px);margin-top:14px}
.pv-heading--light h2{color:var(--contact-text)}
.pv-section{padding:var(--section-space) 0}

/* botões */
.pv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border:1px solid var(--button-bg);background:var(--button-bg);color:var(--button-text);border-radius:var(--radius);font:500 12px/1 var(--body-font),sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:.25s}
.pv-btn:hover{background:transparent;color:var(--button-bg)}
.pv-btn--nav{padding:11px 20px;background:transparent;color:var(--header-text);border-color:var(--header-text)}
.pv-btn--nav:hover{background:var(--header-cta-bg);color:var(--header-cta-text);border-color:var(--header-cta-bg)}
.pv-text-link{font-size:13px;letter-spacing:.06em;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px;color:var(--ink)}
.pv-text-link span{color:var(--gold)}

/* header */
.pv-header{position:sticky;top:0;z-index:1000;background:var(--header-bg);border-bottom:1px solid transparent;transition:border-color .3s}
.pv-header.scrolled{border-bottom-color:var(--line)}
.pv-nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:80px}
.pv-brand{display:flex;flex-direction:column;text-decoration:none;color:var(--header-text);line-height:1.1}
.pv-brand img{max-height:64px;width:auto}
.pv-brand--footer img{max-height:72px;filter:brightness(0) invert(1)}
.pv-brand strong{font-family:var(--heading-font),serif;font-weight:500;font-size:22px;letter-spacing:.14em;text-transform:uppercase}
.pv-brand small{margin-top:5px;font-size:9px;letter-spacing:.42em;color:var(--gold);font-weight:500}
.pv-nav{display:flex;gap:30px;margin-left:auto}
.pv-nav a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--header-text);opacity:.75;transition:.2s}
.pv-nav a:hover{opacity:1;color:var(--gold)}
.pv-menu-toggle{display:none}

/* hero */
.pv-hero{background:var(--hero-bg);padding:clamp(56px,9vw,112px) 0 clamp(64px,9vw,120px)}
.pv-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(40px,7vw,96px);align-items:end}
.pv-hero h1{font-size:clamp(40px,6vw,72px);color:var(--hero-title);margin:22px 0 26px}
.pv-hero h1 em{font-style:italic;color:var(--hero-emphasis)}
.pv-lead{font-size:18px;font-weight:300;color:var(--hero-text);max-width:540px}
.pv-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:40px}
.pv-index{border-top:1px solid var(--gold);padding-top:22px}
.pv-index-title{display:block;font-size:10px;letter-spacing:.28em;color:var(--muted);margin-bottom:6px}
.pv-index ol{list-style:none;margin:0;padding:0}
.pv-index li{border-bottom:1px solid var(--line)}
.pv-index li a{display:flex;gap:18px;align-items:baseline;padding:20px 0;text-decoration:none;transition:padding .25s}
.pv-index li a:hover{padding-left:8px}
.pv-index i{font-style:normal;font-family:var(--heading-font),serif;color:var(--gold);font-size:15px}
.pv-index b{display:block;font-family:var(--heading-font),serif;font-weight:500;font-size:24px;color:var(--ink)}
.pv-index small{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}
.pv-index-note{margin-top:18px;font-size:13px;color:var(--muted);font-style:italic}

/* áreas */
.pv-areas{background:var(--areas-bg)}
.pv-columns{display:grid;grid-template-columns:repeat(3,1fr)}
.pv-columns article{padding:0 36px;border-left:1px solid var(--line)}
.pv-columns article:first-child{padding-left:0;border-left:0}
.pv-columns article:last-child{padding-right:0}
.pv-columns h3{font-size:30px;margin-bottom:12px}
.pv-col-intro{font-size:14.5px;color:var(--muted);margin-bottom:24px;min-height:3.3em}
.pv-columns ul{list-style:none;margin:0;padding:0}
.pv-columns li{padding:13px 0;border-top:1px solid var(--line);font-size:14.5px;line-height:1.5}
.pv-civil{margin-top:56px;padding-top:26px;border-top:1px solid var(--gold);display:flex;gap:32px;align-items:baseline;flex-wrap:wrap}
.pv-civil b{font-family:var(--heading-font),serif;font-weight:500;font-size:22px}
.pv-civil p{color:var(--muted);font-size:15px;max-width:620px}

/* processo */
.pv-process{background:var(--process-bg)}
.pv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.pv-steps li{position:relative;padding-top:28px;border-top:1px solid var(--line)}
.pv-steps li::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.pv-steps h3{font-size:22px;margin-bottom:10px}
.pv-steps p{font-size:14.5px;color:var(--muted)}

/* sobre */
.pv-about{background:var(--about-bg)}
.pv-about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,96px);align-items:center}
.pv-about-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.pv-monogram{aspect-ratio:4/5;border:1px solid var(--gold);display:grid;place-items:center;position:relative}
.pv-monogram::after{content:"";position:absolute;inset:14px;border:1px solid var(--line)}
.pv-monogram span{font-family:var(--heading-font),serif;font-size:clamp(64px,10vw,120px);font-weight:400;color:var(--gold);letter-spacing:.04em}
.pv-about-copy h2{font-size:clamp(30px,4vw,44px);margin:14px 0 24px}
.pv-about-copy p{color:var(--muted);margin-bottom:16px;max-width:560px}
.pv-team{margin:30px 0 8px;border-top:1px solid var(--gold);padding-top:18px}
.pv-team-title{font-size:10px;letter-spacing:.28em;color:var(--muted)}
.pv-team ul{list-style:none;margin:8px 0 0;padding:0}
.pv-team li{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.pv-team-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--gold);flex-shrink:0}
.pv-team-info{display:flex;flex:1;justify-content:space-between;gap:4px 16px;flex-wrap:wrap;align-items:baseline}
.pv-team b{font-family:var(--heading-font),serif;font-weight:500;font-size:21px}
.pv-team span{font-size:13px;color:var(--muted);letter-spacing:.06em}
.pv-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pv-badges span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);padding:8px 14px;color:var(--ink)}

/* diferenciais */
.pv-diff{background:var(--diff-bg)}
.pv-diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.pv-diff-grid h3{font-size:24px;margin-bottom:10px}
.pv-diff-grid p{font-size:14.5px;color:var(--muted)}

/* faq */
.pv-faq{background:var(--faq-bg)}
.pv-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,96px);align-items:start}
.pv-faq h2{font-size:clamp(30px,4vw,44px);margin:14px 0 18px}
.pv-faq-text{color:var(--muted);font-size:15px}
.pv-accordion details{border-bottom:1px solid var(--line)}
.pv-accordion details:first-child{border-top:1px solid var(--line)}
.pv-accordion summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-family:var(--heading-font),serif;font-size:21px;line-height:1.3}
.pv-accordion summary::-webkit-details-marker{display:none}
.pv-accordion summary b{font-family:var(--body-font),sans-serif;font-weight:300;font-size:24px;color:var(--gold);transition:transform .25s}
.pv-accordion details[open] summary b{transform:rotate(45deg)}
.pv-accordion details p{padding:0 40px 24px 0;color:var(--muted);font-size:15px}

/* agenda */
.pv-agenda{background:var(--agenda-bg)}
.pv-agenda .pv-heading{margin-bottom:44px}
.pv-agenda-panels{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(32px,6vw,80px)}
.pv-agenda-col h3{font-size:22px;padding-bottom:14px;border-bottom:1px solid var(--gold);margin-bottom:6px}
.pv-pro-list,.pv-service-list{list-style:none;margin:0;padding:0}
.pv-pro-list li{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.pv-pro-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;border:1px solid var(--gold);flex-shrink:0;display:grid;place-items:center;color:var(--gold);font-family:var(--heading-font),serif;font-size:20px}
.pv-pro-avatar img{width:100%;height:100%;object-fit:cover}
.pv-pro-list b{display:block;font-weight:500;font-size:15px}
.pv-pro-list small{display:block;font-size:12.5px;color:var(--muted)}
.pv-service-list li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.pv-service-list small{display:block;font-size:10px;letter-spacing:.2em;color:var(--gold);margin-bottom:4px}
.pv-service-list b{font-weight:500;font-size:16px;display:block}
.pv-service-list p{font-size:13.5px;color:var(--muted);margin-top:3px}
.pv-service-list a{flex-shrink:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:2px;white-space:nowrap}
.pv-empty{color:var(--muted);font-size:14px;padding:16px 0}
.pv-agenda-cta{margin-top:40px}
.pv-booking{margin-top:44px;border:1px solid var(--line);background:var(--paper);padding:22px}
.pv-booking-head{margin-bottom:14px}
.pv-booking-head strong{display:block;font-family:var(--heading-font),serif;font-weight:500;font-size:20px}
.pv-booking-head small{color:var(--muted);font-size:13px}

/* chamada final */
.pv-final{background:var(--final-cta-bg);color:var(--final-cta-text);padding:calc(var(--section-space) * .9) 0;text-align:center;border-top:1px solid var(--line)}
.pv-final h2{font-size:clamp(32px,4.6vw,54px);max-width:760px;margin:16px auto 20px;color:var(--final-cta-text)}
.pv-final p{max-width:520px;margin:0 auto 34px;color:var(--muted);font-size:16px}
.pv-final small{display:block;margin-top:18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* contato (único bloco escuro) */
.pv-contact{background:var(--contact-bg);color:var(--contact-text);padding:var(--section-space) 0}
.pv-contact .pv-eyebrow{color:var(--contact-accent)}
.pv-contact-grid{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0}
.pv-contact-grid>div{padding:26px 28px 26px 0;border-top:1px solid rgba(255,255,255,.18)}
.pv-contact dt{font-size:10px;letter-spacing:.28em;color:var(--contact-accent);margin-bottom:10px}
.pv-contact dd{margin:0;font-size:16px;line-height:1.6;color:var(--contact-text)}
.pv-contact dd a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.pv-contact dd a:hover{border-color:var(--contact-accent)}

/* rodapé */
.pv-footer{background:var(--footer-bg);color:var(--footer-text);padding:64px 0 34px}
.pv-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px}
.pv-footer .pv-brand{color:var(--footer-text)}
.pv-footer-grid small{display:block;font-size:10px;letter-spacing:.28em;color:var(--footer-muted);margin-bottom:14px}
.pv-footer-grid div a{display:block;text-decoration:none;font-size:14px;padding:4px 0;opacity:.85}
.pv-footer-grid div a:hover{color:var(--contact-accent);opacity:1}
.pv-footer-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:var(--footer-muted);line-height:1.6}
.pv-footer-bottom span:last-child{max-width:520px}

/* whatsapp / revelar / preview */
.pv-whatsapp{position:fixed;right:24px;bottom:24px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--whatsapp-bg);color:var(--whatsapp-icon);z-index:900;box-shadow:0 10px 26px rgba(20,28,55,.28);transition:.2s}
.pv-whatsapp:hover{transform:translateY(-3px)}
.pv-whatsapp svg{width:26px;fill:currentColor}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
[data-reveal].is-visible{opacity:1;transform:none}
.no-animations [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
.studio-preview-badge{position:fixed;top:8px;left:50%;transform:translateX(-50%);z-index:1400;background:#111;color:#fff;border-radius:999px;padding:9px 16px;font:600 11px/1 var(--body-font),sans-serif}
.studio-preview-badge a{color:#d9c39a;text-decoration:none}

/* responsivo */
@media(max-width:960px){
  .pv-hero-grid,.pv-about-grid,.pv-faq-grid,.pv-agenda-panels{grid-template-columns:1fr}
  .pv-columns{grid-template-columns:1fr;gap:44px}
  .pv-columns article,.pv-columns article:first-child,.pv-columns article:last-child{padding:0;border-left:0}
  .pv-col-intro{min-height:0}
  .pv-steps{grid-template-columns:1fr 1fr}
  .pv-diff-grid{grid-template-columns:1fr;gap:36px}
  .pv-footer-grid{grid-template-columns:1fr 1fr}
  .pv-about-media{max-width:360px}
}
@media(max-width:820px){
  .pv-menu-toggle{display:flex;flex-direction:column;gap:6px;width:40px;height:40px;border:0;background:transparent;justify-content:center;align-items:center;margin-left:auto}
  .pv-menu-toggle span{width:22px;height:1.5px;background:var(--header-text)}
  .pv-btn--nav{display:none}
  .pv-nav{position:absolute;top:100%;left:0;right:0;background:var(--header-bg);flex-direction:column;gap:0;padding:8px 24px 20px;border-bottom:1px solid var(--line);display:none}
  .pv-nav.is-open{display:flex}
  .pv-nav a{padding:14px 0;border-bottom:1px solid var(--line);opacity:1}
}
@media(max-width:560px){
  .pv-shell{width:calc(100% - 32px)}
  .pv-steps{grid-template-columns:1fr}
  .pv-footer-grid{grid-template-columns:1fr}
  .pv-service-list li{flex-direction:column;align-items:flex-start;gap:10px}
  .pv-whatsapp{width:48px;height:48px;right:16px;bottom:16px}
  .pv-whatsapp svg{width:23px}
  .pv-hero-actions{gap:20px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}

/* hero com fundo desfocado (opcional) — véu claro puxado pro creme */
.pv-hero{position:relative;overflow:hidden;isolation:isolate}
.pv-hero-bg{position:absolute;inset:0;z-index:-1}
.pv-hero-bg img{width:100%;height:100%;object-fit:cover;filter:blur(3px) saturate(.95);transform:scale(1.04)}
/* véu: opaco atrás do texto (esquerda), transparente à direita — a foto aparece */
.pv-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--hero-bg) 0%,rgba(246,239,230,.92) 42%,rgba(246,239,230,.4) 70%,rgba(246,239,230,.1) 100%);background:linear-gradient(90deg,var(--hero-bg) 0%,color-mix(in srgb,var(--hero-bg) 92%,transparent) 42%,color-mix(in srgb,var(--hero-bg) 40%,transparent) 70%,color-mix(in srgb,var(--hero-bg) 10%,transparent) 100%)}
.pv-hero--image .pv-index{background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(6px);padding:26px 28px;border:1px solid var(--line);border-top:2px solid var(--gold)}
.pv-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-soft),var(--gold))}
.pv-hero .pv-btn--primary{background:var(--hero-btn-bg);border-color:var(--hero-btn-bg);color:var(--hero-btn-text)}
.pv-hero .pv-btn--primary:hover{background:transparent;color:var(--hero-btn-bg)}

/* ritmo de cor: divisão clara entre as seções */
.pv-diff .pv-heading h2,.pv-diff h3{color:var(--diff-title)}
.pv-diff p{color:var(--diff-text)}
.pv-diff .pv-eyebrow,.pv-diff .pv-num{color:var(--gold-soft)}
.pv-diff-grid article{border-top:1px solid rgba(255,255,255,.2);padding-top:26px}
.pv-final .pv-eyebrow{color:var(--final-cta-text);opacity:.7}
.pv-final p,.pv-final small{color:var(--final-cta-text);opacity:.8}
.pv-final{border-top:0}
.pv-areas .pv-num,.pv-process .pv-num{font-size:18px}
.pv-about-media img{box-shadow:16px 16px 0 var(--gold-soft)}
.pv-monogram{background:var(--paper);box-shadow:16px 16px 0 var(--gold-soft)}
.pv-about .pv-badges span{background:var(--paper)}
.pv-team-photo{object-position:center 18%}
@media(max-width:960px){.pv-hero--image .pv-index{padding:20px}}

/* ===== mais presença visual ===== */
.pv-hero{min-height:min(720px,86vh);display:flex;align-items:center}
.pv-hero-grid{width:min(1120px,calc(100% - 48px))}
.pv-hero h1{font-size:clamp(44px,6.4vw,80px)}

/* áreas em cards com ícone */
.pv-columns{gap:28px}
.pv-columns article,.pv-columns article:first-child,.pv-columns article:last-child{background:var(--paper);padding:38px 34px;border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 18px 40px rgba(31,43,77,.07);transition:transform .3s ease,box-shadow .3s ease}
.pv-columns article:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(31,43,77,.14)}
.pv-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--navy);color:var(--gold-soft);margin-bottom:20px}
.pv-icon svg{width:26px;height:26px}
.pv-columns .pv-num{position:absolute;top:24px;right:30px;margin:0;font-size:34px;color:var(--gold-soft);opacity:.7}
.pv-columns article{position:relative}
@media(max-width:960px){.pv-columns article,.pv-columns article:first-child,.pv-columns article:last-child{padding:30px 24px}}

/* faixa com foto */
.pv-band{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,var(--navy),#2b3a66);color:#faf6f1;padding:clamp(72px,10vw,130px) 0;text-align:center}
.pv-band-bg{position:absolute;inset:0;z-index:-1}
.pv-band-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.pv-band-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,34,63,.78),rgba(24,34,63,.9))}
.pv-band-inner{max-width:820px}
.pv-band .pv-eyebrow{color:var(--gold-soft)}
.pv-band h2{color:#faf6f1;font-size:clamp(30px,4.4vw,52px);margin:16px 0 18px}
.pv-band p{color:#d5d9e8;font-size:17px;font-weight:300;max-width:600px;margin:0 auto 32px}
.pv-btn--gold{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--navy)}
.pv-btn--gold:hover{background:transparent;color:var(--gold-soft)}

/* processo com círculos */
.pv-steps li{padding-top:34px;border-top:0;text-align:center}
.pv-steps li::before{top:26px;left:12%;right:12%;width:auto;height:1px;border-radius:0;background:var(--line)}
.pv-steps .pv-num{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:50%;background:var(--navy);color:var(--gold-soft);font-size:18px;letter-spacing:0;box-shadow:0 0 0 8px var(--process-bg)}
.pv-steps li:last-child::before{display:none}
@media(max-width:960px){.pv-steps li::before{display:none}}

/* sobre com foto/logo */
.pv-monogram img{width:72%;height:auto}
.pv-about-media img{aspect-ratio:4/5}

/* diferenciais com filete dourado */
.pv-diff-grid article{border-top:2px solid var(--gold);padding-top:28px}

/* movimento sutil */
.pv-columns[data-reveal] article,.pv-steps[data-reveal] li,.pv-diff-grid[data-reveal] article{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.pv-columns.is-visible article,.pv-steps.is-visible li,.pv-diff-grid.is-visible article{opacity:1;transform:none}
.pv-columns.is-visible article:nth-child(2),.pv-steps.is-visible li:nth-child(2),.pv-diff-grid.is-visible article:nth-child(2){transition-delay:.12s}
.pv-columns.is-visible article:nth-child(3),.pv-steps.is-visible li:nth-child(3),.pv-diff-grid.is-visible article:nth-child(3){transition-delay:.24s}
.pv-steps.is-visible li:nth-child(4){transition-delay:.36s}
.no-animations .pv-columns article,.no-animations .pv-steps li,.no-animations .pv-diff-grid article{opacity:1!important;transform:none!important}

.pv-hero .pv-eyebrow{color:#8a6a35}
