/* Fontes locais (licença SIL OFL, ver assets/fonts/) */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-600-normal.woff2) format('woff2')}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#E9DED5}
a{color:#9A5560}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.nosb{scrollbar-width:none}
.nosb::-webkit-scrollbar{display:none}

.up{animation:up .4s ease-out both;animation-delay:var(--d,0s)}
.js .rv{opacity:0;transform:translateY(12px);transition:opacity .4s ease-out,transform .4s ease-out;transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

.blk{transition:transform .3s ease}
.blk:active{transform:scale(.985)}
.bimg{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.blk:hover .bimg,.blk:focus-visible .bimg{transform:scale(1.06)}
.blk:focus-visible{outline:3px solid #9A5560;outline-offset:3px}
.cta{transition:transform .25s ease,box-shadow .25s ease}
.cta:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(51,33,28,.22)}
.cta:focus-visible{outline:3px solid #9A5560;outline-offset:3px}
.plus{transition:transform .35s ease}
details[open] .plus{transform:rotate(45deg)}
.t-open{display:none}
details[open] .t-open{display:inline}
details[open] .t-closed{display:none}
details[open] .gal{animation:galin .4s ease-out both}

@keyframes up {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
@keyframes galin {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .up, details[open] .gal {
    animation: none !important;
  }
  .bimg, .blk, .cta, .plus {
    transition: none !important;
  }
}
