:root{
  --color-primary:#DBD8D3;
  --color-secondary:#C5A49D;
  --color-tertiary: #D2C5B6;
  --color-light:#f3f0ec;
  --color-dark:#9d8b82;
  --color-black:#403a37;


  --font-serif:"Times New Roman",Times,serif;
  --font-sans:"Inter",Arial,sans-serif;

  --fs-h1:clamp(2.75rem,6vw,5rem);
  --fs-h2:clamp(2rem,3.4vw,3rem);
  --fs-h3:clamp(1rem,1.4vw,1.125rem);
  --fs-h4:1rem;
  --fs-p:clamp(1rem,1.25vw,1.125rem);
  --fs-small:.875rem;
  --section-space:clamp(4rem,8vw,7rem);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  overflow-x:hidden;
  background:var(--color-primary);
  color:var(--color-dark);
  font-family:var(--font-sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}

h1,h2,h3,h4,p{margin-top:0}
h1,h2{font-family:var(--font-serif);font-weight:400;line-height:1}
h1{font-size:var(--fs-h1);letter-spacing:-.04em}
h2{font-size:var(--fs-h2);color:var(--color-dark)}
h3{font-size:var(--fs-h3);font-weight:400;line-height:1.4}
h4{font-size:var(--fs-h4)}
p{font-size:var(--fs-p);line-height:1.55}
strong{font-weight:700}
small{font-size:var(--fs-small)}

.section{padding:var(--section-space) 0}
.section-heading{margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.section-heading h2,.section-heading p{margin-bottom:.35rem}

.bg-primary-site{background:var(--color-primary)}
.bg-secondary-site{background:var(--color-secondary)}
.bg-tertiary-site{background:var(--color-tertiary)}
.bg-light-site{background:var(--color-light)}
.bg-dark-site{background:var(--color-dark)}
.text-primary-site{color:var(--color-primary)}
.text-secondary-site{color:var(--color-secondary)}
.text-light-site{color:var(--color-light)}
.text-dark-site{color:var(--color-dark)}
.text-black-site{color:var(--color-black)}

.site-link,
.site-btn{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  color:var(--color-secondary);
  font-size:var(--fs-p);
  letter-spacing:.08em;
  transition:opacity .25s ease,transform .25s ease;
}
.site-link:hover,.site-btn:hover{opacity:.72;transform:translateX(.35rem)}
.site-btn{padding:.85rem 1.15rem;border:1px solid currentColor;background:transparent}

.site-link-white { color:#FFFFFF!important; }

.lp-reveal{
  opacity:0;
  transform:translate3d(0,42px,0);
  filter:blur(7px);
  transition:opacity .8s ease,transform .9s cubic-bezier(.22,.75,.18,1),filter .8s ease;
  will-change:opacity,transform;
}
.lp-reveal[data-reveal="scale-in"]{transform:translate3d(0,28px,0) scale(.965)}
.lp-reveal.is-visible{opacity:1;transform:none;filter:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lp-reveal{opacity:1;transform:none;filter:none;transition:none}
}

/* Footer */
.site-footer{padding-top:90px}
.footer-box{padding:115px 30px 40px;border-radius:8px}
.footer-icon{position:absolute;top:0;left:50%;width:89px;background:#fff;transform:translate(-50%,-50%)}
.footer-social{margin-bottom:35px}
.footer-social a,.back-to-top{display:grid;place-items:center;color:var(--color-light);background:var(--color-dark)}
.footer-social a{width:48px;height:48px;font-size:1.25rem}
.footer-social a:hover{color:var(--color-dark);background:var(--color-primary)}
.footer-contact{display:flex;width:fit-content;align-items:center;gap:9px;margin:12px auto;color:var(--color-light);font-size:clamp(.95rem,2vw,1.25rem)}
.footer-contact:first-child span{text-decoration:underline}
.footer-contact:hover{color:var(--color-dark)}
.footer-content small,.footer-content address{color:rgb(255 255 255 / 70%);font-style:normal;line-height:1.7}
.footer-box hr{margin:55px 0 30px;border-color:rgb(255 255 255 / 25%)}
.footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.footer-links a{color:var(--color-light);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}
.footer-links a:hover{color:var(--color-dark)}
.footer-bottom{display:grid;gap:8px;padding:38px 20px 144px;color:rgb(56 41 35 / 55%)}
.footer-bottom .fa-heart{margin-inline:4px;color:#b44343}
.back-to-top{position:fixed;left:50%;bottom:24px;z-index:1100;width:48px;height:48px;transform:translateX(-50%)}
.back-to-top:hover{color:var(--color-dark);background:var(--color-primary)}
.floating-whatsapp{position:fixed;right:24px;bottom:24px;z-index:1100;display:grid;place-items:center;width:76px;height:76px;padding:0;color:#fff;background:#25d366;border-radius:50%;box-shadow:0 10px 30px rgb(0 0 0 / 22%);transition:color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}
.floating-whatsapp i{font-size:3.3rem;line-height:1}
.floating-whatsapp:hover,.floating-whatsapp:focus{color:#fff;background:#1ebe5d;transform:translateY(-3px);box-shadow:0 14px 36px rgb(0 0 0 / 28%)}
.floating-whatsapp::before{content:"";position:absolute;inset:-5px;border:2px solid rgb(37 211 102 / 34%);border-radius:inherit;animation:lpWhatsappPulse 2.2s ease-out infinite;pointer-events:none}
@keyframes lpWhatsappPulse{0%{opacity:.8;transform:scale(.94)}70%,100%{opacity:0;transform:scale(1.14)}}

/* Entrada progressiva das seções */
.lp-section-reveal{position:relative;opacity:0;transform:translate3d(0,56px,0);filter:blur(8px);transition:opacity .9s ease,transform 1s cubic-bezier(.22,.75,.18,1),filter .9s ease;will-change:opacity,transform,filter}
.lp-section-reveal::before{content:"";position:absolute;inset:0;pointer-events:none;transform:translateY(18px);transition:transform 1.2s cubic-bezier(.22,.75,.18,1)}
.lp-section-reveal.is-visible{opacity:1;transform:none;filter:none}
.lp-section-reveal.is-visible::before{transform:none}

@media (max-width:575.98px){
  .site-footer{padding-top:70px}
  .footer-box{padding:90px 15px 35px}
  .footer-social a{width:42px;height:42px}
  .footer-links{gap:8px}
  .footer-links a{font-size:.68rem}
  .back-to-top{left:50%;bottom:15px}
  .floating-whatsapp{right:15px;bottom:15px;width:68px;height:68px}
  .floating-whatsapp i{font-size:3rem}
}

@media (prefers-reduced-motion:reduce){
  .lp-section-reveal{opacity:1;transform:none;filter:none;transition:none}
  .floating-whatsapp::before{animation:none}
}
