:root{--ivory:#f9f7f1;--ink:#396b9e;--navy:#0a1f44;--blue:#5992cf;--muted:#6384a8;--yellow:#f3df94;--line:#396b9e33;--paper:#fffdf8;--script:"beth-ellen","Brush Script MT",cursive;--display:"meursault-variable",Georgia,serif;--body:"greycliff-cf","Helvetica Neue",sans-serif;font-family:var(--body);color:var(--ink);background:var(--ivory);color-scheme:light;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:16px;line-height:1.7;font-weight:400}body.intro-active{overflow:hidden}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}a{color:inherit}img{display:block;max-width:100%;height:auto}p{margin:0 0 1.2rem}h1,h2,h3{font-weight:400;margin:0}h1,h2,.footer-names{font-family:var(--script)}h2{font-size:clamp(2.25rem,4.2vw,3.75rem);line-height:1.55;padding:0 8px}h3{font-family:var(--display);font-size:2rem;line-height:1.35}main{overflow:hidden}.eyebrow{font-size:11px;letter-spacing:.35em;text-transform:uppercase;line-height:1.9}.section{padding:80px 24px}.section-inner{max-width:672px;margin:auto;position:relative;text-align:center}.section-heading{text-align:center;position:relative;z-index:1;margin-bottom:48px}.section-heading .eyebrow{color:var(--muted);margin-bottom:18px}.heading-rule{display:block;width:64px;height:1px;background:var(--line);margin:24px auto 0}.decoration{position:absolute;pointer-events:none;user-select:none}.note{font-size:13px;color:var(--muted)}.ribbon{width:100%;pointer-events:none;user-select:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;background:var(--ink);color:white;text-decoration:none;border-radius:4px;border:1px solid var(--ink);font-size:14px}.button:hover{background:#285580}.button.secondary{background:transparent;color:var(--ink)}:focus-visible{outline:3px solid #bb951f;outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;padding:12px;background:white;z-index:200;transform:translateY(-160%)}.skip-link:focus{transform:none}

/* Apertura: vídeo personalizado y fundido blanco hacia la invitación. */
.intro{position:fixed;inset:0;z-index:100;background:#fff;opacity:1;transition:opacity .8s ease}.intro:after{content:"";position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;transition:opacity 1s ease}.intro.white-out:after{opacity:1}.intro.leaving{opacity:0;pointer-events:none}.intro video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.open-invitation{position:absolute;inset:0;width:100%;height:100%;background:transparent}.open-label{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;letter-spacing:.25em;text-transform:uppercase;border-radius:30px;padding:8px 20px;color:var(--navy);background:#fffaf0cc}.skip-intro{position:absolute;bottom:24px;left:24px;background:#fffdf8e8;padding:8px 16px;border-radius:5px;font-size:13px}.intro.playing .open-invitation{pointer-events:none;opacity:0;transition:opacity .3s}.music-toggle{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));right:24px;z-index:110;width:46px;height:46px;padding:13px;background:var(--yellow);border-radius:50%;color:var(--navy);box-shadow:0 3px 12px #0001}.music-toggle svg{width:100%;height:100%}.music-toggle .sound-waves{display:none}.music-toggle[aria-pressed=true] .sound-waves{display:block}.music-toggle[aria-pressed=true] .sound-off{display:none}

.hero{height:100svh;min-height:640px;position:relative;text-align:center;color:var(--navy)}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;top:42%;left:0;right:0;transform:translateY(-50%);padding:0 20px}.hero-copy>.eyebrow{letter-spacing:.45em;font-size:14px;margin-bottom:26px}.hero h1{font-size:72px;line-height:1.35}.hero h1 span{display:block}.hero h1 .ampersand{font-size:48px;line-height:1.1;margin:8px 0}.hero-date{font-family:var(--display);font-size:24px;letter-spacing:.18em;line-height:1.5;margin:28px 0 0}.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:8px;text-decoration:none;white-space:nowrap}.scroll-hint span{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;background:#ffffffe0;border-radius:30px;padding:5px 18px}.scroll-hint svg{width:24px;height:24px}

.countdown{position:relative;text-align:center;background:url('assets/dolce-vita/countdown-bg-Dj9SjxPf.jpg') center / 100% 100% no-repeat;padding-top:90px;padding-bottom:100px;color:var(--blue)}.countdown:after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(transparent,var(--ivory));pointer-events:none}.countdown>*{position:relative;z-index:1}.countdown .eyebrow{max-width:640px;color:var(--ink);margin:28px auto 0;font-size:12px;letter-spacing:.28em}.countdown-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:768px;margin:46px auto 0}.countdown-grid span{display:block;font-family:var(--display);font-size:72px;line-height:1;font-weight:300;font-variant-numeric:tabular-nums}.countdown-grid small{display:block;margin-top:16px;font-size:11px;text-transform:uppercase;letter-spacing:.4em}.pets{padding:80px 24px 20px}.pets img{width:320px;margin:auto}

.details{padding-top:100px;padding-bottom:40px}.location-heading{position:relative}.lemon{width:208px;left:-80px;top:-26px}.venue{position:relative;text-align:center}.ribbon-top,.ribbon-bottom{position:relative;width:min(100vw,1152px);left:50%;transform:translateX(-50%)}.ribbon-top{margin-top:-40px}.ribbon-copy{position:absolute;inset:22% 18% 20%;display:flex;flex-direction:column;align-items:center;justify-content:center}.ribbon-copy .eyebrow,.reception .eyebrow{font-weight:600;font-size:15px;letter-spacing:.25em;margin-bottom:15px}.ribbon-copy h3{font-size:36px;letter-spacing:.02em}.venue-time{font-size:16px;text-transform:uppercase;letter-spacing:.25em;margin:16px 0 0}.venue-art{width:448px;margin:-125px auto 24px;position:relative}.venue>p{color:var(--muted)}.actions{display:flex;align-items:center;justify-content:center;gap:25px;flex-wrap:wrap}.actions a,.actions button{font-size:11px;text-transform:uppercase;letter-spacing:.2em;text-decoration:none;background:none;padding:0 0 4px;border-bottom:1px solid var(--line);border-radius:0}.actions a:hover,.actions button:hover{border-color:var(--ink)}.venue-rings{width:140px;right:-28px;bottom:-35px}.reception{margin-top:90px}.reception-heading{max-width:560px;margin:auto;position:relative}.reception h3{font-size:36px}.reception .venue-time{font-size:12px}.cocktail{width:100px;left:-90px;top:25px;transform:rotate(-12deg)}.reception .venue-art{margin:42px auto 0}.ribbon-bottom{margin-top:-40px}.ribbon-bottom .ribbon-copy{inset:18% 18%}.ribbon-bottom p{color:var(--muted)}.beach-chair{width:150px;bottom:-15px;left:-20px}

.schedule{padding-top:50px;padding-bottom:110px}.schedule-heading{position:relative}.floaty{width:180px;right:-35px;top:-100px}.schedule .section-heading{max-width:550px;margin:0 auto 55px}.timeline{max-width:460px;margin:auto;padding:0;list-style:none;position:relative}.timeline li{display:flex;align-items:center;gap:30px;position:relative;min-height:190px;margin:12px 0;background:var(--ivory)}.timeline li:nth-child(even){flex-direction:row-reverse}.timeline li>img{width:44%;max-height:180px;object-fit:contain}.timeline li>div{flex:1}.timeline h3{font-family:var(--script);font-size:24px;line-height:1.7;margin-bottom:10px}.timeline p{font-size:13px;line-height:1.6;margin:0}.timeline .eyebrow{letter-spacing:.18em;margin-bottom:8px;font-weight:600}.timeline li:nth-child(3)>img{height:150px}.timeline li:nth-child(5)>img{height:175px}.schedule-note{margin:30px 0 0}

.dress-code{padding-top:65px;padding-bottom:50px}.dress-heading{position:relative}.fan{width:170px;left:-45px;top:-95px}.parasol{width:230px;right:-90px;top:-35px}.dress-heading .section-heading{max-width:520px;margin:0 auto 50px}.dress-art{max-width:384px;margin:0 auto 24px}.info-rows{max-width:560px;margin:auto;text-align:center}.info-rows>div{padding:22px 0}.info-rows>div+div{border-top:1px solid var(--line)}.info-rows h3{font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:10px;color:var(--muted)}.info-rows p{margin:0;line-height:1.8}.transport{padding-top:45px}.birds{width:240px;margin:0 auto 30px}.bus-art{width:448px;margin:0 auto 35px}.transport .section-heading{margin-bottom:35px}.gifts{padding-top:40px;padding-bottom:90px}.gifts .section-heading{margin-bottom:28px}.globe{width:180px;margin:0 auto 40px}.gifts .section-inner>p{max-width:630px;margin:0 auto 26px}.gift-wrap{position:relative;margin:55px auto 0;max-width:580px;padding:0 30px 70px}.balloons{width:100px;left:-40px;top:-30px}.bouquet{width:130px;right:-35px;bottom:-30px}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 5px;text-align:left;font-family:var(--script);font-size:19px;line-height:1.6}summary::-webkit-details-marker{display:none}.bank-details{border-bottom:1px solid var(--line)}.bank-content{text-align:center;padding:22px;background:#ffffff80;font-size:15px;overflow-wrap:anywhere;border-radius:4px}.bank-content p:last-child{margin:0}

.rsvp{padding-top:35px;padding-bottom:30px}.form-container{max-width:672px;margin:auto}.rsvp-top{position:relative;width:min(100vw,860px);left:50%;transform:translateX(-50%)}.rsvp-top .section-heading{position:absolute;inset:32% 18% 0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.rsvp-top h2{font-size:48px;margin-bottom:10px}.rsvp-top .eyebrow{margin:0;font-size:11px}.rsvp-top .section-heading>p:last-child{font-size:13px;max-width:360px;margin:0}.rsvp-rings{width:85px;margin:20px auto}.rsvp form{padding:15px 45px 0;position:relative;z-index:1;margin:0 auto}.rsvp fieldset{padding:0;border:0;margin:0;min-width:0}.rsvp label:not(.checkbox-label){display:block;margin:24px 0 8px}.rsvp input:not([type=radio],[type=checkbox]),.rsvp textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:4px;padding:11px 14px;background:#fffdf84d;color:var(--navy);font-size:16px}.rsvp textarea{resize:vertical}.rsvp input::placeholder,.rsvp textarea::placeholder{color:#6b8198;opacity:1;font-size:14px}.rsvp .attendance{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:20px}.attendance legend{margin-bottom:12px}.rsvp .attendance label{display:flex;align-items:center;gap:8px;margin:0}.rsvp input[type=radio],.rsvp input[type=checkbox]{width:17px;height:17px;accent-color:var(--ink);flex-shrink:0}.checkbox-label{display:flex;align-items:center;gap:10px;margin:26px 0}.companions-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:24px 0 8px}.text-button{padding:7px 0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:13px}.companion-row{display:flex;gap:10px;align-items:center;margin:12px 0}.companion-row label{flex:1;margin:0!important}.remove-companion{width:38px;height:42px;background:transparent;font-size:24px}.form-notice{font-size:13px;line-height:1.7;margin:25px 0 20px;color:var(--muted)}.submit-button{width:100%}#rsvp-status{margin:16px 0 0}#rsvp-status.is-error{color:#a33d3d}#rsvp-submit[disabled]{opacity:.55;cursor:default}#rsvp-submit[disabled]:hover{background:var(--ink)}.honeypot{display:none}#rsvp-status:empty{display:none}

footer{text-align:center;overflow:hidden;padding-top:30px}.couple-photo{width:290px;margin:0 auto 28px}.footer-message{font-family:var(--script);font-size:20px;margin:0 auto 90px;padding:0 24px}.footer-scene{position:relative}.footer-art{width:100%;margin:auto}.footer-copy{position:absolute;top:-38px;left:0;right:0;z-index:1;padding:0 24px}.footer-names{font-size:42px;margin-bottom:16px;line-height:1.7}.footer-copy .heading-rule{margin:0 auto 18px;width:48px}.footer-copy .eyebrow{font-size:11px}.footer-scene:before{content:"";position:absolute;inset:0 0 auto;height:130px;background:linear-gradient(var(--ivory),transparent)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:36px;max-width:560px;width:calc(100% - 32px);max-height:85svh;overflow:auto}dialog::backdrop{background:#0a1f4480;backdrop-filter:blur(4px)}dialog h2{font-size:32px}dialog p{font-size:15px}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;padding:18px;background:var(--ivory);border-radius:4px}.dialog-close{position:absolute;right:12px;top:6px;font-size:32px;background:transparent;width:40px;height:40px}dialog .button{margin:4px}.noscript{padding:16px;text-align:center;background:white}

@media(min-width:1600px){.hero h1{font-size:80px}}
@media(max-width:700px){body{font-size:15px}.section{padding-left:24px;padding-right:24px}.hero{min-height:580px}.hero-copy{padding:0 38px}.hero-copy>.eyebrow{font-size:10px;letter-spacing:.35em;margin-bottom:20px}.hero h1{font-size:clamp(33px,9.2vw,58px);line-height:1.45}.hero h1 .ampersand{font-size:30px;line-height:1.2;margin:2px 0}.hero-date{font-size:15px;letter-spacing:.1em;margin-top:22px}.scroll-hint span{font-size:10px;letter-spacing:.22em}.scroll-hint{bottom:28px}.music-toggle{right:18px;bottom:18px}.countdown{padding:60px 18px 65px}.countdown h2{font-size:31px}.countdown .eyebrow{font-size:10px;letter-spacing:.2em;margin-top:26px}.countdown-grid{gap:12px;margin-top:35px}.countdown-grid span{font-size:44px}.countdown-grid small{font-size:9px;letter-spacing:.22em;margin-top:12px}.pets{padding:45px 24px 15px}.pets img{width:240px}.details{padding-top:65px;padding-bottom:20px}.section-heading{margin-bottom:35px}.section-heading .eyebrow{font-size:9px;letter-spacing:.23em;margin-bottom:16px}h2{font-size:32px;line-height:1.6}.heading-rule{margin-top:18px}.lemon{width:102px;left:-20px;top:-40px}.location-heading h2{font-size:30px}.ribbon-top{margin-top:-15px}.ribbon-copy{inset:25% 18% 15%}.ribbon-copy .eyebrow,.reception .eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:8px}.ribbon-copy h3{font-size:23px;max-width:230px}.venue-time{font-size:13px;margin:10px 0 0;letter-spacing:.2em}.venue-art{width:82%;margin:-25px auto 18px}.venue>p{font-size:13px}.actions{gap:14px;flex-direction:column}.actions a,.actions button{font-size:9px;letter-spacing:.18em}.venue-rings{width:76px;right:-10px;bottom:-55px}.reception{margin-top:95px}.reception h3{font-size:26px;max-width:270px;margin:auto}.reception .venue-time{font-size:10px;letter-spacing:.15em}.cocktail{width:56px;left:-14px;top:12px}.reception .venue-art{margin:30px auto 0}.reception-heading{padding:0 24px}.ribbon-bottom{margin-top:-12px}.ribbon-bottom .ribbon-copy{inset:14% 18% 20%}.ribbon-bottom p{font-size:13px}.beach-chair{width:85px;left:0;bottom:-30px}.schedule{padding-top:70px;padding-bottom:100px}.floaty{width:94px;right:-4px;top:-68px}.schedule-heading h2{font-size:30px}.schedule .section-heading{margin-bottom:30px}.timeline{max-width:340px}.timeline li{gap:18px;min-height:155px;margin:10px 0}.timeline h3{font-size:19px;line-height:1.7}.timeline p{font-size:12px}.timeline li>img{max-height:140px}.timeline li:nth-child(3)>img{height:115px}.timeline li:nth-child(5)>img{height:135px}.schedule-note{font-size:12px}.dress-code{padding-top:45px;padding-bottom:25px}.fan{width:92px;left:-8px;top:-56px}.parasol{width:120px;right:-38px;top:-18px}.dress-heading .section-heading{margin-bottom:32px}.dress-heading h2{font-size:28px;max-width:260px;margin:auto}.dress-art{max-width:300px;margin-bottom:18px}.info-rows>div{padding:20px 0}.info-rows h3{font-size:10px}.info-rows p{font-size:14px}.transport{padding-top:35px;padding-bottom:60px}.birds{width:175px;margin-bottom:25px}.bus-art{width:320px}.gifts{padding-top:20px;padding-bottom:50px}.globe{width:130px;margin-bottom:30px}.gifts .section-inner>p{font-size:14px}.gift-wrap{padding:0 15px 55px;margin-top:35px}.balloons{width:65px;left:-26px;top:-13px}.bouquet{width:90px;right:-20px;bottom:-12px}summary{font-size:15px;padding:18px 5px}.bank-content{padding:18px;font-size:14px}.rsvp{padding:25px 24px 20px}.rsvp-top h2{font-size:28px;margin-bottom:4px}.rsvp-top .section-heading{inset:28% 15% 0}.rsvp-top .eyebrow{font-size:9px}.rsvp-top .section-heading>p:last-child{font-size:11px;max-width:240px;line-height:1.5}.rsvp-rings{width:48px;margin:8px auto}.rsvp form{padding:28px 8px 0;font-size:14px}.rsvp .attendance{gap:12px}.rsvp .attendance label{font-size:13px}.rsvp input,.rsvp textarea{font-size:16px!important}.form-notice{font-size:12px}.couple-photo{width:205px;margin-bottom:25px}footer{padding-top:30px}.footer-message{font-size:14px;margin-bottom:85px}.footer-copy{top:-44px}.footer-names{font-size:25px;margin-bottom:12px}.footer-copy .heading-rule{margin-bottom:12px}.footer-copy .eyebrow{font-size:9px;letter-spacing:.25em}.footer-scene:before{height:90px}dialog{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.language-switch{position:fixed;z-index:130;top:max(16px,env(safe-area-inset-top));right:20px;display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:24px;background:#fffdf8e8;box-shadow:0 2px 12px #0a1f4418;color:var(--navy);font-size:12px;letter-spacing:.12em}.language-switch button{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;background:transparent;padding:1px 3px;font-size:20px;line-height:1.1;opacity:.4;transition:opacity .2s}.language-switch button:hover{opacity:.7}.language-switch button[aria-pressed=true]{opacity:1}.language-switch>span{opacity:.35}
.actions a,.actions button{display:inline-flex;align-items:center;gap:8px}.action-icon{display:block;width:21px;height:21px;flex:none}
.schedule-art{width:min(100%,500px);margin:0 auto}.schedule-disclaimer{max-width:440px;margin:0 auto 25px;line-height:1.6}
.forbidden-colors{display:flex;justify-content:center;gap:9px;margin:16px auto 4px}.swatch{display:block;width:25px;height:25px;border:1px solid #0a1f4450;border-radius:2px}.swatch.white{background:#fff}.swatch.pink{background:#f5c6d5}.swatch.yellow{background:#f7e6a0}.swatch.blue{background:#c7dff5}.swatch.green{background:#c9e8c8}.swatch.orange{background:#f8d3a9}
.tap-to-reveal{margin-left:auto;font:10px var(--body);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}details[open] .tap-to-reveal{display:none}.optional{color:var(--muted);font-size:13px}
.rsvp-rings{width:150px;max-height:95px;object-fit:contain;margin:7px auto}.companion-row{display:grid;grid-template-columns:minmax(0,1fr) 170px 38px;gap:8px}.companion-row label:first-child{grid-column:1}.companion-row label:nth-child(2){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.companion-row select{grid-column:2;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:4px;background-color:#fffdf84d;color:var(--navy);font:inherit;padding:11px 32px 11px 14px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23396b9e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 12px}.companion-row .remove-companion{grid-column:3}
@media(max-width:700px){.rsvp-rings{width:105px;max-height:70px;margin:2px auto}.companion-row{grid-template-columns:minmax(0,1fr) 38px}.companion-row label:first-child{grid-column:1}.companion-row select{grid-column:1;grid-row:2}.companion-row .remove-companion{grid-column:2;grid-row:1 / span 2}}

.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:880px}.countdown-grid span{font-size:clamp(38px,5vw,72px)}
/* La dirección de la masía se iguala a la de la iglesia: sin font-size propio, hereda
   el tamaño del cuerpo y el mismo margen. Solo se acota el ancho para que no se parta. */
.reception .venue-address{max-width:330px}.ribbon-bottom .actions{gap:12px 20px}
.colour-guide{display:grid;gap:14px;margin:18px auto 2px}.colour-label{font-size:12px!important;letter-spacing:.05em;margin:0 0 8px!important}.colour-row{display:flex;justify-content:center;gap:12px}.swatch{width:32px;height:32px;position:relative;border-color:#0a1f4435}.swatch:after{position:absolute;right:-7px;bottom:-7px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 12px/1 var(--body);box-shadow:0 1px 3px #0003}.allowed-colors .swatch:after{content:'✓';background:#21834e}.disallowed-colors .swatch:after{content:'×';background:#c43d43}.swatch.black{background:#1c1c24}.swatch.pink{background:#ec87a1}.swatch.yellow{background:#efc341}.swatch.blue{background:#5a90ce}.swatch.green{background:#5caa78}.swatch.orange{background:#e49352}.swatch.pale-pink{background:#fff3f6}.swatch.pale-yellow{background:#fffdf0}.swatch.pale-blue{background:#f2f8ff}.swatch.pale-green{background:#f2fbf5}.swatch.pale-orange{background:#fff7f0}
.gift-wrap .bank-details{position:relative;z-index:2}.bank-details summary{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;padding:15px 28px;min-height:75px}.bank-details summary:after{content:none;display:none}.bank-details[open]>summary:after{content:none}.gift-name{display:block;max-width:100%;font-family:var(--script);font-size:19px;line-height:1.5}.tap-to-reveal{margin:0;font-size:10px}
.rsvp-emblem{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);align-items:center;gap:6px;width:min(100%,380px);margin:7px auto 10px;color:var(--ink)}.rsvp-ducks{width:100%;height:auto}.rsvp-emblem-date{font-family:var(--body);font-size:12px;letter-spacing:.08em;white-space:nowrap}.rsvp-emblem-initials{font-family:var(--script);font-size:20px;white-space:nowrap}
.rsvp-top h2{font-size:clamp(26px,4.2vw,38px);line-height:1.2;text-wrap:balance}
.companion-row{position:relative;padding:17px 0 22px;margin:0;border-bottom:1px solid var(--line);align-items:end}.companion-row:first-child{border-top:1px solid var(--line)}.companion-number{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.companion-row select,.companion-row .remove-companion{margin-bottom:0}
.rsvp .submit-button{margin-top:32px}.rsvp input:not([type=radio]):not([type=checkbox]):focus-visible,.rsvp textarea:focus-visible,.rsvp select:focus-visible{outline:none;box-shadow:none;border-color:var(--ink)}
@media(max-width:700px){.countdown-grid{gap:6px;margin-top:35px}.countdown-grid span{font-size:clamp(29px,8vw,44px)}.countdown-grid small{font-size:8px;letter-spacing:.1em}.reception .venue-address{max-width:none}.ribbon-bottom .actions{gap:6px}.ribbon-bottom .actions a,.ribbon-bottom .actions button{font-size:8px}.ribbon-bottom .ribbon-copy{inset:10% 18% 18%}.colour-row{gap:9px}.swatch{width:27px;height:27px}.bank-details summary{min-height:80px}.gift-name{font-size:17px}.companion-row{padding:19px 0 22px}.companion-row select{margin-top:0}}
@media(max-width:700px){.rsvp-emblem{grid-template-columns:minmax(0,1fr) 105px minmax(0,1fr);gap:2px;margin:2px auto 5px}.rsvp-emblem-date{font-size:9px;letter-spacing:0}.rsvp-emblem-initials{font-size:15px}}
@media(max-width:700px){.rsvp-top h2{font-size:clamp(22px,6.5vw,27px);line-height:1.15}}
.rsvp-top .rsvp-ducks{display:block;width:300px;max-width:100%;height:auto;margin:10px auto 12px}
@media(max-width:700px){.rsvp-top .section-heading{inset:34% 15% 0}.rsvp-top .rsvp-ducks{width:190px;margin:4px auto 6px}}
.professions-art{width:320px;max-width:100%;margin:0 auto 28px}
@media(max-width:700px){.professions-art{width:245px;margin-bottom:23px}}
@media(max-width:700px){.ceremony>p{max-width:300px;margin:0 auto 18px;line-height:1.65}}
@media(max-width:360px){.location-heading .lemon{width:72px;left:-50px;top:-54px}.ribbon-top .ribbon-copy{inset:37% 13% 0}.ribbon-top .ribbon-copy .eyebrow{margin-bottom:3px}.ribbon-top .ribbon-copy h3{font-size:21px;line-height:1.25}.ribbon-top .venue-time{margin-top:7px}.ceremony>p{max-width:260px}.rsvp-top .section-heading{inset:38% 14% 0}.rsvp-top h2{font-size:20px;line-height:1.08;margin-bottom:2px}.rsvp-top .rsvp-ducks{width:166px;margin:2px auto 4px}.rsvp-top .section-heading>p:last-child{font-size:10px;line-height:1.35}.rsvp .submit-button{margin-top:36px}}
footer{padding:44px 0 24px}.footer-copy{position:static;max-width:680px;margin:0 auto 24px}.footer-copy .eyebrow{margin:0}.footer-scene:before{display:none}.footer-art{width:min(100%,900px);height:auto}
@media(max-width:700px){footer{padding:34px 0 18px}.footer-copy{margin-bottom:18px}.footer-art{width:100%}}

.pets{padding:70px 16px 24px}.pets img{width:min(100%,820px);margin:auto}
@media(max-width:700px){.pets{padding:45px 8px 18px}.pets img{width:100%}}

.colour-guide{gap:28px;margin:24px auto 0}.colour-example{padding:0 0 26px;border-bottom:1px solid var(--line)}.colour-example:last-child{padding-bottom:0;border-bottom:0}.colour-example .colour-label{display:flex;justify-content:center;align-items:center;gap:9px;margin:0 0 14px!important;font-size:14px!important;font-weight:600}.colour-badge{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:16px;line-height:1}.allowed-colors .colour-badge{background:#21834e}.disallowed-colors .colour-badge{background:#c43d43}.colour-example img{display:block;width:min(100%,620px);height:auto;margin:0 auto}
.colour-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;font-family:Arial,sans-serif;font-weight:600;line-height:1;padding:0 0 1px}.allowed-colors .colour-badge{background:#82aa8b}.disallowed-colors .colour-badge{background:#cc8987}

footer{padding-top:100px}.footer-copy{top:-50px}.footer-names{margin-bottom:0}.footer-message{margin:0 auto 8px;padding:0 24px}.footer-copy .heading-rule{margin:10px auto}.footer-scene:before{height:220px}
@media(max-width:700px){footer{padding-top:75px}.footer-copy{top:-35px}.footer-message{font-size:14px;margin-bottom:8px}.footer-scene:before{height:160px}}

.gifts .globe{width:min(100%,400px);margin:0 auto 30px}

/* Preserve scrolling without a visible scrollbar or a reserved side gutter. */
html{scrollbar-width:none}
html::-webkit-scrollbar{width:0;height:0}
