/* Shared accessibility, with Caramelados' editorial typography. */
@font-face{font-family:Inter;src:url("fonts/Inter-Variable.ttf") format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("fonts/PlayfairDisplay-Variable.ttf") format("truetype");font-weight:400 900;font-display:swap}
@font-face{font-family:"Dancing Script";src:url("fonts/DancingScript-Variable.ttf") format("truetype");font-weight:400 700;font-display:swap}
:focus-visible{outline:3px solid #530001!important;outline-offset:4px;box-shadow:0 0 0 6px #fff8f0!important}
.skip-link{position:fixed;top:8px;left:8px;z-index:99999;padding:12px 18px;background:#fff8f0;color:#530001;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;padding:24px;line-height:1.7}
.legal-links a{font-family:Inter,sans-serif;font-size:13px;font-weight:400;color:inherit;text-decoration:underline;text-underline-offset:4px;padding:6px 0}
.venue-footer{flex-wrap:wrap}
.venue-footer .legal-links{flex-basis:100%}
.form-consent{grid-column:1/-1;padding-top:8px;font:400 13px/1.65 Inter,sans-serif;color:#4e4637}
.form-consent input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:2px 0 0;accent-color:#530001}
.form-consent label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:4px 0}
#cta-final .form-consent label,#cta-final .form-consent span,#cta-final .form-consent p{font:400 13px/1.65 Inter,sans-serif;color:#4e4637;opacity:1}
#cta-final .form-consent p{margin:12px 0 0}
.form-consent a{color:#530001;text-decoration:underline;text-underline-offset:3px}
#cta-final .form-note{font:500 12px/1.65 Inter,sans-serif;color:#4e4637;opacity:1;margin:0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.form-intro{grid-column:1/-1;margin:0;color:#655b4a;font:400 12px/1.5 Inter,sans-serif}
.form-field input,.form-field select,.form-field textarea{font:400 16px/1.4 Inter,sans-serif;background-color:#fff8f0!important;border:1px solid rgba(78,70,55,.38)!important;border-radius:14px!important;box-shadow:none!important}
.form-field input::placeholder,.form-field textarea::placeholder{color:#655b4a;opacity:1}
.form-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 6 4.5 4 4.5-4' fill='none' stroke='%234e4637' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 20px center;background-size:16px 16px;padding-right:52px!important}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#530001!important;box-shadow:0 0 0 3px rgba(83,0,1,.1)!important}
.lead-submit{font-weight:600;color:#fff8f0;white-space:nowrap}
.t-venue{color:#4e4637!important;font:400 12px/1.6 Inter,sans-serif!important;opacity:1!important}
.t-nav{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:32px}
.t-arrow{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#530001;font:400 26px/1 Inter,sans-serif;cursor:pointer;transition:background .2s}
.t-arrow:hover{background:rgba(123,88,4,.08)}
.t-position{font:400 12px/1 Inter,sans-serif;letter-spacing:.15em;color:#7b5804;min-width:64px;text-align:center;font-variant-numeric:tabular-nums}
.review-source{max-width:530px;margin:12px auto 0;text-align:center;color:#4e4637;font:400 12px/1.8 Inter,sans-serif}
.review-source summary{display:inline-block;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(123,88,4,.4);text-underline-offset:5px;padding:8px}
.review-source summary::marker{content:""}
.review-source summary::-webkit-details-marker{display:none}
.review-source p{margin:8px 0 0}
.t-card:not([data-state="active"])>*{visibility:hidden}
.stat-intro,.stat-label{color:#c8bca9!important;opacity:1!important}
.footer-tagline,.footer-col a,.footer-col span,.footer-copy,.footer-mark{font-family:Inter,sans-serif!important;font-weight:400!important;color:#d5cbbb!important;opacity:1!important}
.footer-col ul li a,.footer-col ul li span{font-size:14px;line-height:1.8}
.footer-col h4{font:600 12px/1.6 Inter,sans-serif;color:#eec068;letter-spacing:.13em;margin-bottom:18px}
.footer-tagline{font-size:13px;line-height:1.8}
.footer-copy,.footer-mark{font-size:12px;line-height:1.8}
body:not(.policy) footer .legal-links{color:#d5cbbb}
.gallery-count{color:#fff8f0!important}
.reveal{opacity:1!important;transform:none!important;transition:none!important}
*,*::before,*::after{animation:none!important}
/* Three adjacent deep greens, requested for the WhatsApp contacts. */
.f-wa0,.v-simone{background:#175b40!important;color:#fff8f0!important}
.f-wa1,.v-ana{background:#246548!important;color:#fff8f0!important}
.f-wa2,.v-izadora{background:#356e52!important;color:#fff8f0!important}
.f-ig,.v-instagram{background:#530001!important;color:#fff8f0!important}
button,a,input,select,textarea{touch-action:manipulation}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body.policy{margin:0;background:#fbf3e6;color:#4e4637;font:400 16px/1.85 Inter,sans-serif}
.policy *{box-sizing:border-box}
.policy header,.policy main,.policy footer{max-width:1000px;margin:auto}
.policy .policy-header{display:flex;justify-content:space-between;align-items:center;padding:24px 48px}
.policy-brand{display:block;line-height:0}
.policy-brand img{width:100px;height:100px;object-fit:contain}
.policy .policy-back{font-size:12px;letter-spacing:.04em;text-decoration:none}
.policy-back span{margin-left:10px}
.policy main{background:#fff8f0;padding:64px 88px 80px;border-radius:24px;box-shadow:0 8px 32px rgba(30,27,20,.06)}
.policy .policy-eyebrow{font:500 30px/1.3 "Dancing Script",cursive;color:#7b5804;margin:0 0 12px}
.policy h1{font:700 clamp(34px,5vw,54px)/1.12 "Playfair Display",Georgia,serif;color:#530001;letter-spacing:-.025em;margin:0 0 20px}
.policy h1+p{font-size:12px;letter-spacing:.04em;color:#7b5804;margin-bottom:40px}
.policy h2{font:700 26px/1.3 "Playfair Display",Georgia,serif;color:#530001;margin:40px 0 16px}
.policy p{margin:0 0 20px}
.policy a{color:#530001;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.policy li{margin-bottom:12px}
.policy table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed;margin:24px 0}
.policy th,.policy td{border:0;padding:16px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.policy th{background:#530001;color:#fff8f0;font-weight:600}
.policy tbody tr:nth-child(odd){background:#fbf3e6}
.policy caption{text-align:left;font-weight:600;margin:16px 0}
.policy footer{padding:24px 0 40px}
.policy .legal-links{padding:16px 24px}
@media(max-width:800px){
.floating-side,.venue-floating{position:fixed!important;z-index:1200;left:auto;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex!important;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-end;gap:6px;padding:0;background:transparent;pointer-events:none}
.float-btn,.v-float{width:104px!important;min-height:40px;padding:8px 10px!important;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:999px!important;font-size:10.5px!important;line-height:1.2;letter-spacing:0!important;pointer-events:auto}
.float-btn svg,.v-float svg{width:14px;height:14px;flex:0 0 auto}
.float-label{display:inline!important}
.floating-side .float-btn:not(.f-ig),.venue-floating .v-float:not(.v-instagram){opacity:var(--contact-reveal,0);visibility:hidden;transform:translateY(var(--contact-shift,18px));pointer-events:none;will-change:opacity,transform}
body.contacts-entering .floating-side .float-btn:not(.f-ig),body.contacts-entering .venue-floating .v-float:not(.v-instagram){visibility:visible}
body.contacts-ready .floating-side .float-btn:not(.f-ig),body.contacts-ready .venue-floating .v-float:not(.v-instagram){pointer-events:auto}
body:has(.floating-side) footer,body:has(.venue-floating) footer{padding-bottom:calc(204px + env(safe-area-inset-bottom))}
.form-field input,.form-field select,.form-field textarea,.lead-submit,.form-consent input{scroll-margin-bottom:240px}
.lead-submit{font-size:clamp(11px,3.2vw,13px)!important;letter-spacing:.06em!important;padding-inline:12px!important}
.policy .policy-header{padding:16px 24px}
.policy main{margin:0 12px;padding:36px 24px 48px}
.policy h2{font-size:23px}
.policy th,.policy td{padding:10px 8px;font-size:12px}
.stats-row .stat-item:last-child{grid-column:1/-1}
}
