/* =========================================================
   1. CORES E CONFIGURAÇÕES GERAIS
   Edite as variáveis abaixo para trocar a identidade visual.
   ========================================================= */
:root{--brown:#4a3432;--rose:#b9787e;--nude:#ddc3b5;--champagne:#c4a474;--ivory:#faf7f3;--white:#fff;--ink:#292526;--green:#557064;--line:rgba(74,52,50,.16);--shadow:0 22px 60px rgba(74,52,50,.14);--radius:1.25rem;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem;overflow-x:hidden}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.7;overflow-x:hidden}
body.modal-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{color:inherit}
.container{width:min(100% - 2rem,1160px);margin-inline:auto}
.narrow{max-width:850px;text-align:center}
.section{padding:4.75rem 0}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1000;background:var(--white);padding:.8rem 1rem;border-radius:.5rem}
.skip-link:focus{top:1rem}
.eyebrow{margin:0 0 .75rem;color:var(--rose);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);line-height:1.02;font-weight:600}
h1{font-size:clamp(2.75rem,13vw,4.9rem);letter-spacing:-.035em}
h2{font-size:clamp(2.15rem,9.5vw,3.65rem);letter-spacing:-.025em}
h3{font-size:1.55rem}
.large-text{font-size:clamp(1.08rem,3vw,1.35rem)}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid var(--brown);border-radius:999px;background:var(--brown);color:var(--white);padding:.83rem 1.25rem;font-weight:700;text-align:center;cursor:pointer;transition:transform .25s,background .25s,box-shadow .25s}
.button:hover{background:#352321;transform:translateY(-2px);box-shadow:0 10px 25px rgba(74,52,50,.2)}
.button-small{min-height:44px;padding:.65rem 1rem;font-size:.83rem}
.text-link{display:inline-flex;min-height:44px;align-items:center;gap:.5rem;font-weight:700;border-bottom:1px solid}

/* CABEÇALHO E MENU MOBILE */
.header{position:sticky;top:0;z-index:100;background:rgba(250,247,243,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:.65rem;line-height:1}
.brand-mark{width:40px;aspect-ratio:1;border:1px solid var(--rose);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.2rem;color:var(--rose)}
.brand strong{display:block;font-family:var(--serif);font-size:1.18rem}
.brand small{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase}
.menu-button{width:46px;height:46px;display:grid;place-content:center;gap:5px;border:0;background:transparent;cursor:pointer}
.menu-button span{width:23px;height:2px;background:var(--brown);transition:.25s}
.menu-button[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-button[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.menu{position:absolute;inset:72px 0 auto;background:var(--ivory);display:none;padding:1rem;box-shadow:0 18px 35px rgba(41,37,38,.1);border-bottom:1px solid var(--line)}
.menu.open{display:grid}
.menu>a:not(.button){padding:.8rem .2rem;border-bottom:1px solid var(--line);font-weight:600}

/* HERO */
.hero{padding:2.2rem 0 4rem;background:radial-gradient(circle at 90% 10%,rgba(221,195,181,.55),transparent 42%)}
.hero-grid{display:grid;gap:2.2rem;align-items:center}
.hero-copy{order:1}
.hero-image{margin:0;position:relative;min-height:360px;border-radius:9rem 9rem 1.2rem 1.2rem;overflow:hidden;box-shadow:var(--shadow)}
.hero-image img{width:100%;height:100%;min-height:360px;object-fit:cover;object-position:center}
.hero-image figcaption{position:absolute;right:.75rem;bottom:.75rem;background:rgba(250,247,243,.9);padding:.6rem .85rem;border-radius:999px;font-family:var(--serif);font-style:italic}
.hero-lead{font-size:1.05rem;max-width:650px}
.hero-actions{display:grid;gap:.7rem;margin:1.5rem 0}
.trust-list{list-style:none;padding:0;display:grid;gap:.45rem;font-size:.84rem;font-weight:600}
.trust-list li::before{content:"✓";color:var(--green);margin-right:.5rem}

/* BLOCOS E CARDS */
.section-tint{background:#f1e7df}
.section-dark{background:var(--brown);color:var(--white)}
.section-dark .eyebrow{color:var(--nude)}
.section-dark .legal-note{color:#eadfd8}
.split,.feature-grid,.contact-grid,.faq-wrap{display:grid;gap:2rem}
.check-grid{display:grid;gap:.8rem}
.check-grid p{background:var(--white);padding:1rem;border-radius:.8rem;margin:0;border-left:3px solid var(--rose)}
.rounded-media{margin:0;border-radius:var(--radius);overflow:hidden;min-height:380px}
.rounded-media img{width:100%;height:100%;object-fit:cover}
.detail-list{padding:0;list-style:none;margin:1.5rem 0}
.detail-list li{padding:.8rem 0;border-bottom:1px solid var(--line)}
.section-heading{display:grid;gap:.8rem;margin-bottom:2rem}
.section-heading>p{max-width:500px}
.cards{display:grid;gap:1rem}
.card{padding:1.4rem;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:rgba(255,255,255,.06);transition:transform .25s,border .25s}
.card:hover{transform:translateY(-4px);border-color:var(--nude)}
.card span{color:var(--nude);font-size:.72rem;letter-spacing:.15em}
.card p{margin:0;color:#eadfd8}
.legal-note{font-size:.75rem;opacity:.82;margin-top:1.5rem}
.center{text-align:center}
.quote-card{background:var(--white);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow)}
.quote-card span{font:5rem/1 var(--serif);color:var(--rose)}
.quote-card p{font:600 1.6rem/1.2 var(--serif)}
.timeline{padding:0;list-style:none;display:grid;gap:.8rem}
.timeline li{display:grid;grid-template-columns:46px 1fr;column-gap:.7rem;padding:1rem;background:rgba(255,255,255,.65);border-radius:.9rem}
.timeline span{grid-row:1/3;color:var(--rose);font-weight:700}
.timeline small{display:block;color:#665b59}
.portrait-stack{position:relative;border-radius:var(--radius);overflow:hidden;min-height:420px}
.portrait-stack img{width:100%;height:100%;object-fit:cover}
.portrait-stack span{position:absolute;bottom:1rem;left:1rem;background:var(--brown);color:#fff;padding:.6rem 1rem;border-radius:999px}
.credential{color:var(--rose);font-weight:700}
.pill-row{display:flex;flex-wrap:wrap;gap:.5rem}
.pill-row span{padding:.5rem .75rem;background:#f1e7df;border-radius:999px;font-size:.76rem}

/* GALERIA */
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.gallery-item{padding:0;border:0;background:none;border-radius:.8rem;overflow:hidden;aspect-ratio:1;cursor:zoom-in}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.05)}
.safety-grid{display:grid;gap:1rem}
.safety-grid article{padding:1.4rem;border-top:1px solid var(--line)}
.safety-grid span{color:var(--rose);font-weight:700}
.objections p{padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.18)}
.location{padding:2rem;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:1rem;background:var(--white)}
.contact-section{background:#ead8ce}
.contact-form{background:var(--white);padding:1.2rem;border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:.6rem}
.contact-form label{font-weight:700;font-size:.86rem}
.contact-form input,.contact-form select{width:100%;min-height:50px;border:1px solid #b9aaa3;border-radius:.6rem;background:#fff;padding:.7rem;color:var(--ink)}
.contact-form input:focus,.contact-form select:focus{outline:3px solid rgba(185,120,126,.28);border-color:var(--rose)}
.consent{display:flex;align-items:flex-start;gap:.55rem;margin:.55rem 0;font-weight:400!important}
.consent input{width:20px;height:20px;min-height:20px;flex:0 0 20px}
.consent button,.cookie-banner button:not(.button),.footer button{padding:0;border:0;background:transparent;text-decoration:underline;cursor:pointer}
.faq-list details{border-bottom:1px solid var(--line);padding:1rem 0}
.faq-list summary{font-weight:700;cursor:pointer;min-height:44px}
.faq-list p{padding-top:.6rem}
.final-cta{padding:5rem 0;text-align:center;background:linear-gradient(135deg,var(--rose),var(--brown));color:#fff}
.final-cta .eyebrow{color:#f5e7df}
.button-light{background:var(--white);color:var(--brown);border-color:var(--white)}

/* RODAPÉ */
.footer{background:#231918;color:#eee1dc;padding:3rem 0 6.5rem}
.footer-grid{display:grid;gap:2rem}
.footer-grid>div:not(.brand){display:grid;gap:.35rem}
.footer-grid strong{font-family:var(--serif);font-size:1.2rem}
.brand-footer .brand-mark{color:var(--nude);border-color:var(--nude)}
.footer-bottom{display:grid;gap:.7rem;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.13);font-size:.75rem}
.footer-bottom a{color:var(--nude);font-weight:700;width:fit-content}
.mobile-cta{position:fixed;z-index:90;left:.75rem;right:.75rem;bottom:.65rem;min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.2rem;border-radius:999px;background:var(--green);color:#fff;font-weight:700;box-shadow:0 12px 30px rgba(25,35,27,.3);transition:.3s}
.mobile-cta.is-hidden{transform:translateY(140%);opacity:0}

/* DIÁLOGOS E COOKIES */
dialog{border:0;padding:0;border-radius:1rem;box-shadow:0 25px 80px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(25,18,18,.78);backdrop-filter:blur(4px)}
.image-dialog{width:min(calc(100% - 1.5rem),800px);background:transparent;overflow:visible}
.image-dialog img{max-height:calc(100svh - 3rem);margin:auto;border-radius:1rem}
.dialog-close{position:absolute;z-index:2;right:.5rem;top:.5rem;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#222;font-size:1.7rem;cursor:pointer}
.legal-dialog{width:min(calc(100% - 1.5rem),680px);max-height:calc(100svh - 1.5rem);padding:2rem 1.2rem;background:var(--ivory);overflow:auto}
.legal-dialog h2{padding-right:2rem}
.cookie-banner{position:fixed;z-index:110;left:.75rem;right:.75rem;bottom:4.8rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:var(--shadow);display:grid;gap:.75rem}
.cookie-banner p{font-size:.78rem;margin:0}
.cookie-banner.hidden{display:none}

/* ANIMAÇÕES DE ENTRADA (controladas pelo JS) */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* TABLET E DESKTOP */
@media(min-width:760px){
  .container{width:min(100% - 3rem,1160px)}
  .section{padding:6.5rem 0}
  .hero{padding:4rem 0 6rem}
  .hero-grid,.feature-grid,.contact-grid{grid-template-columns:1.05fr .95fr;gap:4rem}
  .hero-copy{order:0}
  .hero-image,.hero-image img{min-height:620px}
  .hero-actions{display:flex;align-items:center}
  .trust-list{grid-template-columns:repeat(3,auto);gap:1rem}
  .split{grid-template-columns:.8fr 1.2fr;gap:4rem}
  .align-center{align-items:center}
  .check-grid{grid-template-columns:repeat(2,1fr)}
  .section-heading{grid-template-columns:1fr auto;align-items:end;justify-content:space-between}
  .cards{grid-template-columns:repeat(3,1fr)}
  .timeline{grid-template-columns:repeat(4,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr);gap:1rem}
  .safety-grid{grid-template-columns:repeat(3,1fr)}
  .location{grid-template-columns:1fr auto;align-items:center;padding:3rem}
  .faq-wrap{grid-template-columns:.7fr 1.3fr;gap:4rem}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr}
  .footer-bottom{grid-template-columns:1fr auto}
  .contact-form{padding:2rem}
}
@media(min-width:960px){
  .menu-button{display:none}
  .menu{position:static;display:flex;align-items:center;gap:1.25rem;padding:0;background:transparent;box-shadow:none;border:0}
  .menu>a:not(.button){border:0;padding:.65rem 0;font-size:.82rem}
  .mobile-cta{display:none}
  .footer{padding-bottom:3rem}
  .cookie-banner{left:auto;right:1.5rem;bottom:1.5rem;width:390px}
}
/* Respeita usuários que desativam animações no sistema. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
