@font-face{font-family:"Prata";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/Prata-Regular.ttf") format("truetype")}
@font-face{font-family:"Questrial";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/Questrial-Regular.ttf") format("truetype")}
:root{color-scheme:light;--blue:#335875;--navy:#132c41;--cream:#faf4ec;--paper:#fffaf4;--petal:#a33e3b;--petal-hover:#84302e;--petal-light:#f0aaa0;--petal-soft:#faeae5;--sky:#eaf0f4;--sunset:#f2dfc8;--ink:#293c49;--muted:#576b7b;--line:#d7dee2;--frame:#8195a3}
.search-select{position:relative;min-width:0}select.search-select-source{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;pointer-events:none}.search-select-button{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:left;border:1px solid var(--line);border-radius:9px;padding:11px 13px;background:white;color:var(--ink);font-size:1.0625rem}.search-select-button svg{width:14px;height:14px;flex-shrink:0}.select-popover{position:fixed;inset:auto;margin:0;padding:7px;background:white;border:1px solid var(--line);border-radius:11px;box-shadow:0 12px 36px #17395725;color:var(--ink);overflow:hidden;max-width:calc(100vw - 24px)}.select-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:0 10px;background:var(--sky);margin-bottom:6px;min-height:40px}.select-search svg{width:16px;height:16px;color:var(--muted)}.select-search input{border:0;background:none;min-width:0;width:100%;height:38px;min-height:38px;outline:none;font-size:1rem;color:var(--ink)}#select-options{overflow:auto;max-height:300px;scrollbar-width:thin}#select-options button{display:block;position:relative;width:100%;text-align:left;border:0;background:none;padding:11px 26px 11px 10px;border-radius:6px;font-size:1rem;line-height:1.45;color:var(--ink);white-space:normal;overflow-wrap:anywhere}#select-options button.highlighted,#select-options button:hover{background:var(--sky)}#select-options button[aria-selected="true"]{color:var(--blue);font-weight:600}#select-options button[aria-selected="true"]:after{content:"✓";position:absolute;right:9px;top:11px}.select-empty{padding:15px 10px;color:var(--muted);font-size:1rem}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:1.0625rem/1.6 "Questrial",system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--blue)}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:3px solid var(--petal);outline-offset:4px}[hidden]{display:none!important}
.guest-header,.guest-footer{max-width:1240px;margin:auto;padding:24px 40px;display:flex;align-items:center;justify-content:space-between}.guest-header>span{font-size:0.75rem;letter-spacing:2px;color:var(--muted)}.wordmark{font:2.25rem "Prata",Georgia,serif;text-decoration:none;letter-spacing:-3px;color:var(--blue)}.wordmark span{font-size:1.4375rem;color:var(--petal);margin:0 3px}.guest-layout{max-width:1160px;margin:25px auto 50px;display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:start;padding:0 40px}.welcome{padding:36px 0 30px}.eyebrow{font-size:0.75rem;font-weight:650;letter-spacing:2.5px;color:var(--blue);margin:0 0 20px}.welcome h1{font:4.75rem/.98 "Prata",Georgia,serif;letter-spacing:-3px;color:var(--blue);margin:0 0 32px}.welcome h1 span{font-style:italic;color:var(--petal);font-size:3.4375rem}.welcome-line{width:50px;height:1px;background:var(--petal);margin:0 0 27px}.welcome h2{font:2.125rem/1.3 "Prata",Georgia,serif;margin:0 0 20px;color:var(--navy);letter-spacing:-.5px}.welcome h2 em{color:var(--petal);font-weight:normal}.welcome>p:not(.eyebrow){max-width:345px;color:var(--muted);font-size:1.0625rem}.rings{width:175px;display:block;color:var(--petal);margin:27px 0 10px}.welcome small{display:block;max-width:330px;font-size:0.8125rem;color:var(--muted)}.invitation{background:white;border:1px solid var(--line);border-radius:22px;padding:30px 32px;box-shadow:0 12px 45px #17395708;min-height:480px}.form-top{display:flex;align-items:center;justify-content:space-between}.form-top .eyebrow{margin:0}.little-heart{font-size:1.9375rem;color:var(--petal)}
.steps{display:flex;gap:5px;margin:23px 0 27px}.step{flex:1;min-width:0;line-height:1.45;border-top:3px solid #e8ecee;padding-top:8px;font-size:0.75rem;color:var(--muted)}.step.active{border-color:var(--blue);color:var(--blue);font-weight:600}.step.done{border-color:var(--blue);color:var(--blue)}#screen h2{font:2rem/1.2 "Prata",Georgia,serif;color:var(--navy);letter-spacing:-.5px;margin:0 0 12px}#screen>p,.subtext{color:var(--muted);font-size:1rem;margin:0 0 24px}.field{display:flex;flex-direction:column;gap:7px;font-size:1rem;margin:16px 0}.field>span{font-weight:550}.field small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font-size:1.0625rem}textarea{min-height:90px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted)}.search-form{display:flex;gap:9px;align-items:end}.search-form .field{flex:1;min-width:0;margin-bottom:0}.button{min-height:45px;border:1px solid var(--line);background:white;border-radius:9px;padding:10px 18px;color:var(--blue);font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button.primary{background:var(--blue);color:white;border-color:var(--blue)}.button.primary:hover{background:var(--navy)}.button.text{border-color:transparent;background:transparent;padding:8px 0;font-weight:500;min-height:40px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px;flex-wrap:wrap}.actions .primary{margin-left:auto}.search-results{margin-top:24px;display:grid;gap:9px}.search-result{width:100%;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;align-items:center;padding:14px;background:var(--paper);text-align:left;color:var(--navy);font-size:1.0625rem}.search-result:hover{border-color:var(--blue);background:var(--sky)}.search-result span:last-child{font-size:1.375rem;color:var(--blue)}.no-results{background:var(--cream);padding:15px;border-radius:10px;font-size:1rem;color:var(--muted)}.form-foot{border-top:1px solid var(--line);margin-top:29px;padding-top:18px;color:var(--muted);font-size:0.8125rem}.form-error{background:var(--petal-soft);color:var(--petal);padding:14px;border-radius:9px;font-size:1rem;margin-bottom:0}.guest-card{margin:12px 0;border:1px solid var(--line);border-radius:13px;padding:16px;background:white}.guest-name{margin:0 0 13px;font-weight:600;color:var(--navy);font-size:1.0625rem;display:flex;gap:10px;align-items:center}.person-dot{width:27px;height:27px;border-radius:50%;background:var(--sky);color:var(--blue);display:flex;align-items:center;justify-content:center;flex:none}.person-dot svg{width:17px;height:17px}.choices{display:flex;gap:7px;flex-wrap:wrap}.choice{position:relative;flex:1;min-width:80px;font-size:0.9375rem;text-align:center;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.choice span{display:flex;justify-content:center;align-items:center;min-height:42px;padding:9px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.choice input:checked+span{color:var(--blue);background:var(--sky);border-color:var(--blue);font-weight:600}.choice input:focus-visible+span{outline:3px solid var(--petal);outline-offset:2px}.guest-card .field{margin-bottom:0}.notice{font-size:0.9375rem;background:var(--sky);border-radius:9px;padding:13px;color:var(--muted);margin-top:20px}.review-card{border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:12px}.review-card h3{font-size:1.0625rem;color:var(--navy);margin:0 0 8px}.review-card p{margin:4px 0;font-size:0.9375rem;color:var(--muted);overflow-wrap:anywhere}.status-confirmed{color:var(--blue)!important}.status-declined{color:var(--petal)!important}.status-pending{color:#8a5631!important}.summary-banner{border-radius:12px;background:var(--sky);padding:15px;color:var(--blue);font-size:1rem;margin-bottom:20px}.saved-icon{width:54px;height:54px;background:var(--sky);color:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.875rem;margin:12px 0 24px}.edit-link{font-size:0.9375rem;margin-top:14px;overflow-wrap:anywhere}.guest-footer{font-size:0.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;padding-bottom:24px;gap:20px}.skip-link{position:fixed;top:-100px;left:10px;background:white;padding:10px;z-index:10}.skip-link:focus{top:10px}
@media(min-width:1450px){.guest-layout{margin-top:60px}}@media(max-width:850px){.guest-layout{gap:25px;padding:0 25px}.guest-header,.guest-footer{padding-left:25px;padding-right:25px}.welcome h1{font-size:3.75rem}.welcome h2{font-size:1.75rem}.invitation{padding:25px;min-width:0}}@media(max-width:650px){.guest-header{background:var(--blue);padding:12px 20px;color:white}.wordmark,.guest-header>span{color:white}.guest-header>span{font-size:0.6875rem;letter-spacing:1.5px}.wordmark{font-size:1.9375rem}.guest-layout{display:block;margin:0 auto 28px;padding:0 15px;max-width:500px}.welcome{padding:27px 9px 24px}.welcome .eyebrow{margin-bottom:10px;font-size:0.75rem}.welcome h1{font-size:2.625rem;margin:0 0 12px;line-height:1.1;letter-spacing:-1.5px}.welcome h1 br{display:none}.welcome h1 span{font-size:2.0625rem}.welcome h2{font-size:1.6875rem;line-height:1.25;margin:0 0 12px}.welcome h2 br{display:none}.welcome>p:not(.eyebrow){font-size:0.9375rem;margin-bottom:0;max-width:380px}.welcome-line,.welcome small,.rings{display:none}.invitation{padding:20px 18px;border-radius:17px;min-height:0}.steps{margin:20px 0 24px}.step{font-size:0.75rem}#screen h2{font-size:1.8125rem}.search-form{flex-wrap:wrap}.search-form .field{flex-basis:100%}.search-form .primary{width:100%;margin-top:3px}.guest-card{padding:14px}.choices{gap:5px}.choice{font-size:0.8125rem}.guest-footer{padding:17px 22px;display:block}.guest-footer span{display:block}.guest-footer span+span{margin-top:5px}}@media(prefers-reduced-motion:no-preference){.button,.search-result,.choice span{transition:background .15s,border-color .15s}}

/* La web de la boda comparte el formulario, con navegación y portada propias. */
.wedding-header{background:var(--navy);color:white;border-bottom:1px solid #ffffff15}
.wedding-header-inner{max-width:1280px;margin:auto;min-height:94px;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.wedding-header .wordmark,.wedding-menu .wordmark{color:#fff;white-space:nowrap}
.wedding-nav{display:flex;align-items:center;gap:27px}
.wedding-nav a{color:#f9f7f3;font-size:0.9375rem;letter-spacing:.4px;text-decoration:none;padding:12px 0;position:relative;white-space:nowrap}
.wedding-nav a[aria-current]:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--petal-light)}
.wedding-nav a:hover{color:var(--petal-light)}
.wedding-menu-button{display:none;width:42px;height:42px;border:1px solid #ffffff40;border-radius:8px;background:transparent;color:white;padding:10px}
.wedding-menu-button svg{width:20px;height:20px;display:block}
.wedding-menu{position:fixed;inset:0 auto 0 0;width:min(340px,88vw);height:100dvh;max-height:none;margin:0;padding:26px;border:0;background:var(--navy);color:white;box-shadow:12px 0 40px #0003}
.wedding-menu::backdrop{background:#0b22396b}
.wedding-menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
.wedding-menu-top button{background:none;border:0;color:white;font-size:2rem;min-width:40px;min-height:40px}
.wedding-menu .eyebrow{color:#c9d6dc;font-size:0.75rem}
.wedding-menu nav{display:grid;gap:8px;border-top:1px solid #ffffff20;padding-top:20px}
.wedding-menu nav a{color:white;text-decoration:none;padding:14px 12px;font-size:1.0625rem;border-radius:8px}
.wedding-menu nav a[aria-current]{background:#ffffff15;color:var(--petal-light)}
.wedding-menu-caption{display:block;margin-top:38px;color:#bbcad3;font:italic 1.1875rem "Prata",Georgia,serif}
body.wedding-menu-open{overflow:hidden}
#wedding-main{min-height:65vh}
.wedding-hero{max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;padding:48px 40px;align-items:start}
.hero-copy{padding:0;min-width:0}
.hero-intro{min-width:0}
.hero-copy .eyebrow{color:var(--petal);margin:22px 0 12px}
.hero-copy h1{font:clamp(2.375rem,3.6vw,3.25rem)/1.18 "Prata",Georgia,serif;letter-spacing:-1px;text-transform:uppercase;color:var(--navy);margin:0;max-width:none;overflow-wrap:anywhere}
.hero-subtitle{font:1.1875rem "Questrial",sans-serif;color:var(--muted);margin:12px 0;text-transform:uppercase;letter-spacing:1px}
.wedding-date{display:block;font:clamp(1.875rem,2.6vw,2.5rem)/1.35 "Prata",Georgia,serif;color:var(--navy);padding:0;margin:0 0 12px;overflow-wrap:anywhere}
.hero-rule{width:58px;height:1px;background:var(--petal);margin:24px 0 0}
.hero-invitation{font-size:1.0625rem;line-height:1.85;color:var(--muted);margin-bottom:25px}
.welcome-photo{min-width:0;width:100%;max-width:600px;margin:0;align-self:start}.welcome-photo img{width:100%;height:auto;display:block;border-radius:3px}
.welcome-letter{min-width:0;padding:30px 0 24px;text-align:left}
.section-ornament{font-size:1.875rem;color:var(--petal);display:block;margin-bottom:15px}
.welcome-letter h2{font:400 2.0625rem/1.3 "Prata",Georgia,serif;color:var(--navy);margin:0 0 20px}
.prose{color:var(--muted);line-height:1.8;font-size:1.0625rem;overflow-wrap:anywhere}
.prose p{margin:0 0 16px}.prose p:last-child{margin-bottom:0}
.welcome-letter .prose{font:400 1.1875rem/1.6 "Questrial",sans-serif;color:var(--ink);max-width:none;margin:0}.welcome-letter .prose p{margin-bottom:12px}
.letter-signature{color:var(--blue);font:600 1.25rem/1.6 "Questrial",sans-serif;margin:22px 0 0}






.page-contained{max-width:1160px;margin:auto;padding:48px 40px 68px}
.wedding-page-heading{text-align:center;margin-bottom:40px}
.wedding-page-heading .eyebrow{color:var(--petal);margin-bottom:14px}
.wedding-page-heading h1{font:3rem/1.15 "Prata",Georgia,serif;letter-spacing:-1px;color:var(--navy);margin:0 0 17px}
.wedding-page-heading>p:not(.eyebrow){color:var(--muted);font-size:1.0625rem;margin:0 auto;max-width:580px}
.wedding-page-heading .prose{max-width:580px;margin:auto}
.wedding-page-heading .deadline{margin-top:17px!important;color:var(--blue)!important}
.rsvp-layout{display:grid;grid-template-columns:.65fr 1.1fr;gap:52px;max-width:1000px;margin:auto;align-items:start}
.rsvp-note{padding:24px 0}
.rsvp-note h2{font:2.125rem/1.22 "Prata",Georgia,serif;color:var(--navy);margin:0 0 20px}
.rsvp-note .eyebrow{color:var(--petal);margin-bottom:17px}
.rsvp-note p,.rsvp-note li{font-size:1rem;color:var(--muted)}
.rsvp-note ol{margin:26px 0 30px;padding-left:22px}.rsvp-note li{padding:8px 0 8px 5px;border-bottom:1px solid var(--line)}
.rsvp-note a{font-size:0.9375rem;text-decoration:none}
#invitation{scroll-margin-top:20px}
.wedding-empty{grid-column:1/-1;border:1px solid var(--line);border-radius:16px;background:#fff;padding:48px 22px;text-align:center;max-width:760px;margin:auto;width:100%}
.wedding-empty>span{font-size:2.125rem;color:var(--petal)}
.wedding-empty h2{font:1.75rem/1.3 "Prata",Georgia,serif;color:var(--navy);margin:15px 0 12px}.wedding-empty p{font-size:1.0625rem;color:var(--muted);margin:0}
.wedding-posts{display:grid;gap:28px;max-width:830px;margin:auto}
.wedding-post{border:1px solid var(--line);border-radius:16px;background:white;overflow:hidden}
.wedding-post>img{width:100%;max-height:400px;object-fit:cover;display:block}
.wedding-post-body{padding:30px 36px}.wedding-post time{font-size:0.8125rem;letter-spacing:.7px;color:var(--petal)}.wedding-post h2{font:2rem/1.25 "Prata",Georgia,serif;color:var(--navy);margin:10px 0 22px;overflow-wrap:anywhere}
.travel-intro{max-width:760px;text-align:center;margin:0 auto 30px}
.wedding-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.wedding-location{position:relative;display:grid;gap:28px;min-width:0}
.wedding-location .eyebrow{color:var(--petal);position:relative;margin-bottom:16px}
.wedding-location h2{font:2rem/1.25 "Prata",Georgia,serif;color:var(--navy);margin:0 0 14px;position:relative;overflow-wrap:anywhere}
.location-time{color:var(--blue);font-size:1.0625rem;font-weight:600}.location-address{color:var(--muted);font-size:1.0625rem;overflow-wrap:anywhere}.wedding-location .button{margin-top:22px}

.wedding-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;max-width:830px;margin:auto}
.wedding-contact{background:white;padding:36px;text-align:center;border-radius:16px;border:1px solid var(--line)}.contact-heart{color:var(--petal);font-size:2.1875rem}.wedding-contact h2{font:2.125rem "Prata",Georgia,serif;color:var(--navy);margin:10px 0 25px;overflow-wrap:anywhere}.wedding-contact a{display:block;text-decoration:none;padding:12px 0;overflow-wrap:anywhere}.wedding-contact a+a{border-top:1px solid var(--line)}.wedding-contact a span{display:block;text-transform:uppercase;font-size:0.75rem;letter-spacing:1.4px;color:var(--petal);margin-bottom:5px}.wedding-contact p{color:var(--muted);font-size:1rem}
.wedding-footer{border-top:1px solid var(--line);text-align:center;padding:30px 20px 25px;background:#eeeae1}.wedding-footer .wordmark{font-size:1.875rem;color:var(--blue)}.wedding-footer p{font-size:0.8125rem;color:var(--muted);margin:12px 0 5px}.wedding-footer>span:last-child{font-size:0.75rem;color:var(--petal);letter-spacing:.5px}
.website-error{max-width:760px;margin:20px auto;padding:20px;background:var(--petal-soft);border-radius:10px;text-align:center;font-size:1rem;color:var(--petal)}
@media(max-width:1100px){.wedding-nav{gap:19px}.wedding-header-inner{gap:25px}.wedding-nav a{font-size:0.8125rem}.wedding-hero{gap:35px}.rsvp-layout{gap:30px}}
@media(max-width:950px){.wedding-nav{display:none}.wedding-menu-button{display:block}.wedding-header-inner{min-height:76px;padding:14px 25px}}
@media(max-width:650px){.wedding-header-inner{min-height:68px;padding:12px 20px}.wedding-header .wordmark{font-size:2rem}.wedding-hero{padding:34px 24px 38px;display:flex;flex-direction:column;gap:28px;text-align:center}.hero-copy{padding:0;width:100%}.hero-copy h1{font-size:3.0625rem;letter-spacing:-1.5px;margin:0 auto 16px;max-width:390px}.hero-copy .eyebrow{font-size:0.75rem;margin:18px 0 12px}.hero-subtitle{font-size:1.375rem;margin-bottom:16px}.wedding-date{font-size:clamp(1.625rem,6.5vw,2.125rem);margin:0 auto 16px}.hero-rule{margin:22px auto}.hero-invitation{font-size:1rem}.welcome-letter{padding:10px 0 27px;width:100%;text-align:left}.welcome-letter h2{font-size:1.875rem}.welcome-letter .prose{font-size:1.1875rem}.page-contained{padding:32px 16px 38px}.wedding-page-heading{margin-bottom:28px}.wedding-page-heading h1{font-size:2.375rem}.wedding-page-heading .eyebrow{font-size:0.75rem;letter-spacing:1.5px}.wedding-page-heading>p:not(.eyebrow){font-size:1rem}.rsvp-layout{display:block}.rsvp-note{display:none}.wedding-locations,.wedding-contacts{grid-template-columns:1fr}.venue-gallery,.location-layout{padding:25px}.wedding-location h2{font-size:1.75rem}.wedding-post-body{padding:24px}.wedding-post h2{font-size:1.8125rem}.wedding-post>img{max-height:270px}.wedding-empty{padding:32px 20px}.wedding-empty h2{font-size:1.625rem}.wedding-contact{padding:28px}.prose{font-size:1rem}.wedding-footer{padding:25px 20px}.website-error{margin:16px}}

/* Cartas, recuerdos y el camino hacia nuestro día. */
.hero-venue{display:block;text-decoration:none;color:var(--muted);font-size:1.0625rem;margin:10px 0;letter-spacing:.5px}.hero-venue:before{content:"⌖";color:var(--petal);margin-right:8px;font-size:1.1875rem}.footer-date{display:block;font-size:0.75rem!important;color:var(--muted);letter-spacing:1px;margin-top:8px}
.guestbook-heading{text-align:left;padding:28px 0 0;max-width:none;margin:0}.guestbook-heading .eyebrow{color:var(--petal)}.guestbook-heading h2{font:2.375rem/1.2 "Prata",Georgia,serif;color:var(--navy);margin:15px 0}.guestbook-heading>p:last-child{font-size:1.0625rem;color:var(--muted);line-height:1.8}.guestbook-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start;margin-bottom:42px}.blog-welcome{min-width:0}.blog-welcome .wedding-posts{max-width:none}.blog-welcome .wedding-post{background:transparent;border:0;border-radius:0}.blog-welcome .wedding-post-body{padding:0}.blog-welcome .wedding-post h2{margin-top:0}.blog-welcome .wedding-post>img{border-radius:12px;margin-bottom:24px}.guestbook-board{min-width:0;border-top:1px solid var(--line);padding-top:30px}.message-compose{padding:30px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px #17395705;position:relative}.guestbook-layout>.message-compose{min-width:0}.compose-symbol{color:var(--petal);font-size:1.8125rem}.message-compose h3,.message-compose h2{font:1.875rem/1.2 "Prata",Georgia,serif;color:var(--navy);margin:8px 0 15px}.message-compose>p{font-size:0.9375rem;color:var(--muted);line-height:1.75;margin-bottom:24px}.message-compose label{font-size:0.9375rem;color:var(--navy)}.message-compose textarea{width:100%;resize:vertical;min-height:130px;border:1px solid var(--line);border-radius:9px;padding:12px;font-family:inherit;font-size:1.0625rem;line-height:1.6;color:var(--ink)}.message-compose .field{display:grid;gap:8px;margin-bottom:18px}.message-compose .button{width:100%;border-radius:8px}.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.message-status{padding:13px 16px;border-radius:9px;background:var(--sky);color:var(--blue)!important;font-size:0.9375rem;line-height:1.6;margin:16px 0 0!important}.message-status.error{background:var(--petal-soft);color:var(--petal)!important}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:7px 0 20px}.board-heading h3{font:1.375rem "Prata",Georgia,serif;color:var(--navy);margin:0}.board-count{font-size:0.75rem;padding:6px 11px;border:1px solid var(--line);border-radius:30px;color:var(--blue);white-space:nowrap}#wedding-comments{display:grid;gap:18px}.guestbook-card{padding:24px 29px;background:#fff;border:1px solid var(--line);border-radius:12px;position:relative}.guestbook-card:nth-child(3n+2){background:var(--sky);border-color:var(--line)}.guestbook-card:nth-child(3n){background:var(--petal-soft);border-color:#e8c6bd}.card-quote{display:block;font:3rem/1 "Prata",Georgia,serif;color:var(--petal);height:30px;margin:0 0 9px}.guestbook-card .prose{color:var(--ink);font-size:1.0625rem;white-space:normal}.guestbook-card footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;border-top:1px solid #8195a330;padding-top:14px;align-items:center}.guestbook-card footer strong{font:italic 1.375rem "Prata",Georgia,serif;color:var(--navy);overflow-wrap:anywhere;min-width:0}.guestbook-card time{font-size:0.75rem;color:var(--muted);white-space:nowrap}.board-empty{text-align:center;padding:45px 25px;border:1px dashed var(--frame);border-radius:16px;background:var(--paper)}.board-empty>span{font-size:2.375rem;color:var(--petal)}.board-empty h3{font:1.6875rem/1.3 "Prata",Georgia,serif;color:var(--navy)}.board-empty p{font-size:1rem;color:var(--muted);line-height:1.8}#comments-more{margin-top:15px}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:start;max-width:980px;margin:auto}.contact-letter{padding:30px 10px}.contact-seal{display:grid;place-items:center;width:75px;height:75px;border:1px solid var(--petal);border-radius:50%;color:var(--blue);font:1.8125rem "Prata",Georgia,serif;position:relative;display:block;text-align:center;line-height:75px;margin-bottom:30px}.contact-seal>span{color:var(--petal);font-style:italic;font-size:1.375rem}.contact-letter .eyebrow{color:var(--petal);font-size:0.75rem}.contact-letter h2{font:2.5625rem/1.2 "Prata",Georgia,serif;color:var(--navy);margin:18px 0 24px}.contact-letter>p:not(.eyebrow){font-size:1.0625rem;line-height:1.8;color:var(--muted);max-width:300px}.contact-privacy{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.contact-privacy>span{font-size:1.75rem;color:var(--petal)}.contact-privacy p{font-size:0.8125rem;color:var(--muted);line-height:1.7;margin:0}.contact-compose{padding:34px}.contact-compose h2{font-size:2.125rem}.message-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.compose-note{font-size:0.75rem!important;margin:15px 0 0!important;line-height:1.7!important}.wedding-contacts:empty{display:none}.wedding-contacts{margin-top:30px}.wedding-locations:has(>.wedding-location:only-child){grid-template-columns:1fr;max-width:1040px;margin:auto}.wedding-location:only-child>.venue-gallery,.wedding-location:only-child>.location-layout{padding:40px}
@media(max-width:950px){.guestbook-layout{gap:28px}.message-compose{padding:25px}.contact-layout{gap:25px}.message-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:650px){.guestbook-layout,.contact-layout{grid-template-columns:1fr;gap:22px}.guestbook-heading{padding-top:35px}.guestbook-heading h2{font-size:1.875rem}.guestbook-heading>p:last-child{font-size:1rem}.board-heading h3{font-size:1.25rem}.guestbook-card{padding:23px}.contact-letter{padding:0 9px}.contact-letter h2{font-size:clamp(1.8125rem,7.5vw,2.0625rem);line-height:1.35;text-wrap:balance}.contact-letter h2 br{display:none}.contact-letter>p:not(.eyebrow){max-width:none;font-size:1rem}.contact-seal{display:none}.contact-privacy{margin-top:18px;padding-top:15px}.contact-compose{padding:25px}.wedding-location:only-child>.venue-gallery,.wedding-location:only-child>.location-layout{padding:25px}.message-compose input,.message-compose textarea{font-size:1.125rem}}

.skip-link{opacity:0;pointer-events:none}.skip-link:focus{opacity:1;pointer-events:auto}

/* La finca: dos fotografías originales y el mapa junto a las indicaciones. */
.venue-gallery,.location-layout{background:white;border:1px solid var(--line);border-radius:16px;padding:32px;min-width:0}
.location-layout{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.wedding-location:only-child .location-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:35px}
.location-details{min-width:0}.location-details .prose{font-size:1rem;line-height:1.8}.location-details .eyebrow{font-size:0.75rem}
.venue-map{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--sky)}
.venue-map iframe{width:100%;height:340px;border:0;display:block}
.venue-collage{position:relative;min-width:0;height:360px;padding-right:2px}
.venue-photo{position:absolute;margin:0;overflow:hidden;border-radius:12px;background:var(--sky);box-shadow:0 12px 26px #17395712}
.venue-photo img{display:block;width:100%;height:100%;object-fit:cover}
.venue-photo-entrance{left:0;top:0;width:64%;height:310px}
.venue-photo-salon{right:0;bottom:0;width:47%;height:250px;border:7px solid white}

@media(max-width:900px){.wedding-location:only-child .location-layout{grid-template-columns:1fr}.venue-collage{height:310px}.venue-photo-entrance{height:270px}.venue-photo-salon{height:215px}}
@media(max-width:650px){.venue-gallery,.location-layout,.wedding-location:only-child>.venue-gallery,.wedding-location:only-child>.location-layout{padding:25px}.wedding-location{gap:22px}.venue-collage{height:240px}.venue-photo-entrance{width:82%;height:180px}.venue-photo-salon{width:65%;height:150px;border-width:5px}.wedding-location:only-child .location-layout{gap:24px}.venue-map iframe{height:285px}.location-details .prose{font-size:1rem}}

@media(min-width:651px) and (max-width:950px){.wedding-hero{gap:30px;padding:42px 25px}.hero-copy h1{font-size:clamp(2.3125rem,4vw,2.75rem)}.welcome-letter h2{font-size:1.9375rem}.welcome-letter .prose{font-size:1.1875rem}}

@media(max-width:650px){.hero-copy{display:contents}.hero-intro{order:0;width:100%}.welcome-photo{order:1}.welcome-letter{order:2}}

@media(min-width:651px) and (max-width:1050px){.wedding-hero{gap:28px}.hero-copy{display:contents}.hero-intro{grid-column:1;grid-row:1;align-self:center;min-width:0}.welcome-photo{grid-column:2;grid-row:1}.welcome-letter{grid-column:1/-1;grid-row:2;padding:8px 0 0;max-width:760px}.hero-intro .hero-rule{margin-bottom:0}.welcome-letter h2{font-size:2.0625rem}}

.wedding-time{margin:0 0 14px;color:var(--navy);font:1.375rem/1.4 "Questrial",sans-serif}
.wedding-countdown{margin:0 0 18px;color:var(--muted);font:1.0625rem/1.6 "Questrial",sans-serif}.wedding-countdown span{display:block;margin-bottom:3px}.wedding-countdown strong{color:var(--blue);font-weight:600}

/* Azules del cielo, rojos de los pétalos y luz cálida en las cinco secciones. */
.wedding-header .wordmark span,.wedding-menu .wordmark span{color:var(--petal-light)}
.wedding-nav a[aria-current]:after{height:2px;background:var(--petal-light)}
.wedding-nav a:hover{color:var(--petal-light)}
.wedding-menu nav a[aria-current]{background:#f0aaa015;color:var(--petal-light);box-shadow:inset 3px 0 var(--petal-light)}
.button.primary{background:var(--petal);border-color:var(--petal);color:white}
.button.primary:hover{background:var(--petal-hover);border-color:var(--petal-hover)}
.wedding-countdown strong{color:var(--petal)}
.wedding-footer{background:var(--sunset)}
.contact-seal{border-color:var(--petal);background:var(--petal-soft)}
@media(min-width:651px) and (max-width:1050px){.hero-intro{align-self:start}.hero-copy h1{font-size:clamp(2rem,3.7vw,2.625rem)}}
@media(max-width:650px){.hero-copy h1{font-size:clamp(2.125rem,10vw,2.75rem);letter-spacing:-1px}.hero-subtitle{font-size:1.125rem}.wedding-date{font-size:clamp(1.5rem,6vw,2rem)}.hero-rule{margin:24px auto 0}.welcome-letter{padding-top:8px}}
