:root{--color-bg:#faf8f4;--color-primary:#566f8e;--color-primary-contrast:#fff;--color-secondary:#2e4463;--color-heading:#2e4463;--color-accent:#a9b6c6;--color-branch:#8fa39a;--color-text:#33435a;--color-text-muted:#6e7c8f;--color-line:#2e44632e;--color-tint:#566f8e1f;--font-heading:"Libre Caslon Text", Georgia, serif;--font-body:"Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--radius-button:999px;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem}*,:before,:after{box-sizing:border-box}body.save-the-date{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}.cover{max-width:38rem;margin:0 auto;padding-bottom:4rem;position:relative;overflow:hidden}.cover__photo{aspect-ratio:4/3;position:relative;overflow:hidden}.cover__photo img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;display:block}.cover__photo:after{content:"";background:linear-gradient(to bottom, #faf8f400, var(--color-bg));height:6%;position:absolute;inset:auto 0 0}.cover__content{z-index:1;text-align:center;padding:var(--space-4) var(--space-3) 0;flex-direction:column;align-items:center;display:flex;position:relative}.cover__eyebrow,.cover__label{font-family:var(--font-body);text-transform:uppercase;color:var(--color-primary);margin:0;font-weight:500}.cover__eyebrow{letter-spacing:.4em;margin-right:-.4em;font-size:.8rem}.cover__names{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--color-heading);white-space:nowrap;margin:.6rem 0 0;font-size:clamp(2.75rem,13vw,4.5rem);font-weight:400;line-height:1.05}.cover__amp{color:var(--color-accent)}.cover__divider{width:100%;max-width:20rem;margin:.75rem 0 var(--space-4);color:var(--color-heading);align-items:center;gap:.75rem;display:flex}.cover__divider:before,.cover__divider:after{content:"";background:var(--color-line);flex:1;height:1px}.cover__divider svg{width:3.5rem;height:auto}.cover__event{flex-direction:column;align-items:center;display:flex}.cover__icon{width:1.75rem;height:auto;color:var(--color-primary);margin-bottom:.9rem}.cover__label{letter-spacing:.25em;margin-right:-.25em;font-size:.72rem}.cover__date{font-family:var(--font-heading);color:var(--color-heading);margin:.4rem 0 0;font-size:clamp(1.4rem,6vw,2rem)}.cover__place{font-family:var(--font-heading);color:var(--color-text);margin:.8rem 0 0;font-size:clamp(1.05rem,4.3vw,1.4rem);line-height:1.35}.cover__venue{font-family:var(--font-heading);color:var(--color-heading);margin:.35rem 0 0;font-size:clamp(1.4rem,5.5vw,1.85rem)}.cover__rule{border:0;border-top:1px solid var(--color-line);width:4rem;margin:var(--space-3) auto}.cover__actions{width:100%;max-width:24rem;margin-top:var(--space-4);flex-direction:column;gap:.9rem;display:flex}.cover__actions .button{min-height:3.5rem}.hero{min-height:100svh;padding:.5rem var(--space-2);align-items:flex-start;display:flex;position:relative;overflow:hidden}.hero__branch-side{width:auto;height:100%;color:var(--color-branch);opacity:.5;pointer-events:none;position:absolute;top:0}.hero__branch-side--left{left:-1.25rem}.hero__branch-side--right{right:-1.25rem;transform:scaleX(-1)}.hero__content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:28rem;margin:0 auto;display:flex;position:relative}.hero__branch-top{width:6.5rem;height:auto;color:var(--color-branch)}.hero__names{font-family:var(--font-heading);color:var(--color-heading);margin:0;font-size:clamp(2rem,8vw,3rem);line-height:1.1}.hero__tagline{font-family:var(--font-heading);color:var(--color-primary);margin:0;font-size:1.25rem}.hero__photo{aspect-ratio:4/3;border-radius:16px;width:100%;max-width:300px;margin:0;overflow:hidden;box-shadow:0 12px 30px -12px #3a322959}.hero__photo img,.hero__photo svg{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.hero__date{font-family:var(--font-heading);color:var(--color-text);letter-spacing:.03em;margin:0;font-size:1.35rem}.countdown{justify-content:center;width:100%;max-width:26rem;margin:0;display:flex}.countdown__unit{flex:1;padding:.2rem 0}.countdown__unit+.countdown__unit{border-left:1px solid var(--color-line)}.countdown__value{font-family:var(--font-heading);color:var(--color-heading);font-size:clamp(1.9rem,8vw,2.6rem);line-height:1.1;display:block}.countdown__label{text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-muted);margin-top:.3rem;font-size:.68rem;font-weight:500;display:block}.hero__message{max-width:26rem;color:var(--color-text);font-size:.9rem;line-height:1.45}.hero__actions{flex-direction:column;gap:.5rem;width:100%;max-width:20rem;margin-top:0;display:flex}.button{border-radius:var(--radius-button);min-height:44px;font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:1.5px solid #0000;justify-content:center;align-items:center;gap:.9rem;padding:.6rem 1.5rem;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.button--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.button--outline{border-color:var(--color-secondary);color:var(--color-secondary);background:0 0}.button--arrow:after{content:"";background:currentColor;flex:none;width:1.4rem;height:.7rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 14'%3E%3Cpath d='M0 7h26M20 1l6 6-6 6' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 14'%3E%3Cpath d='M0 7h26M20 1l6 6-6 6' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") 50%/contain no-repeat}.button--disabled,.button[disabled]{opacity:.55;cursor:not-allowed}.page{min-height:100svh;padding:var(--space-3) var(--space-2) var(--space-4)}.page__inner{max-width:32rem;margin:0 auto}.page__header{text-align:center;margin-bottom:var(--space-3)}.page__title{font-family:var(--font-heading);color:var(--color-heading);margin:var(--space-1) 0 0;font-size:clamp(1.75rem,7vw,2.25rem)}.page__subtitle{font-family:var(--font-body);color:var(--color-text-muted);margin:.25rem 0 0;font-size:.95rem}.alert{margin-bottom:var(--space-2);border-radius:10px;padding:.75rem 1rem;font-size:.9rem}.alert--success{background:var(--color-tint);color:var(--color-primary)}.alert--error{color:var(--color-secondary);background:#2e44631a}.form-card{padding:var(--space-3);background:#fff9;border-radius:16px;box-shadow:0 12px 30px -18px #2e446366}.form-section-title{font-family:var(--font-heading);color:var(--color-heading);margin:0 0 var(--space-2);font-size:1.15rem}.form-section+.form-section-title,.form-section+.form-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.field{margin-bottom:var(--space-2)}.field label{color:var(--color-text);margin-bottom:.3rem;font-size:.85rem;font-weight:600;display:block}.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field select{width:100%;font-family:var(--font-body);color:var(--color-text);background:#fff;border:1px solid #2e446338;border-radius:10px;padding:.6rem .75rem;font-size:.95rem}.field textarea{resize:vertical;min-height:4rem}.field-hint{color:var(--color-text-muted);margin-top:.3rem;font-size:.78rem}.field-error{color:var(--color-secondary);margin-top:.3rem;font-size:.78rem}.radio-group{gap:var(--space-1);display:flex}.radio-option{cursor:pointer;background:#fff;border:1px solid #2e446338;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.55rem;font-size:.9rem;display:flex}.radio-option:has(input:checked){border-color:var(--color-primary);background:var(--color-tint);font-weight:600}.checkbox-field{align-items:flex-start;gap:.6rem;font-size:.9rem;display:flex}.checkbox-field input{margin-top:.2rem}.text-link{color:var(--color-secondary);cursor:pointer;font-size:.85rem;font-family:var(--font-body);background:0 0;border:none;padding:0;text-decoration:underline}html{scroll-behavior:smooth}.site-nav{z-index:10;padding:.6rem var(--space-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-line);-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#faf8f4eb;gap:.4rem;display:flex;position:sticky;top:0;overflow-x:auto}.site-nav__link:first-child{margin-left:auto}.site-nav__link:last-child{margin-right:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav__link{font-family:var(--font-body);color:var(--color-text);border-radius:var(--radius-button);white-space:nowrap;flex:none;padding:.4rem .8rem;font-size:.8rem;font-weight:600;text-decoration:none}.site-nav__link:hover{background:var(--color-tint);color:var(--color-primary)}.content-section{max-width:32rem;padding:var(--space-4) var(--space-2);border-top:1px solid var(--color-line);margin:0 auto;scroll-margin-top:3.5rem}.content-section__title{font-family:var(--font-heading);color:var(--color-heading);margin:0 0 var(--space-2);text-align:center;font-size:clamp(1.5rem,6vw,1.9rem)}.content-section__body{font-size:.95rem;line-height:1.55}.content-section__placeholder{color:var(--color-text-muted);text-align:center;font-size:.9rem;font-style:italic;line-height:1.5}.info-card{padding:var(--space-3);text-align:center;background:#fff9;border-radius:16px;box-shadow:0 12px 30px -18px #2e446366}.info-card__time{font-family:var(--font-heading);color:var(--color-primary);margin:0 0 .2rem;font-size:1.5rem}.info-card__location{margin:0 0 var(--space-2)}.info-card__note{color:var(--color-text-muted);margin:var(--space-2) 0 0;font-size:.85rem}.timeline{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline__item{gap:var(--space-2);align-items:baseline;display:flex}.timeline__time{font-family:var(--font-heading);color:var(--color-primary);flex:none;min-width:4.5rem}.timeline__label{margin:0}.route-map{width:100%;max-width:22rem;height:auto;margin:0 auto var(--space-2);color:var(--color-secondary);display:block}.route-map__path{opacity:.6}.route-map__stop text{font-family:var(--font-body);fill:var(--color-text);font-size:10px;font-weight:600}.section-illustration{width:100%;max-width:20rem;height:auto;margin:0 auto var(--space-3);display:block}.hotel-group{margin-bottom:var(--space-3)}.hotel-group:last-child{margin-bottom:0}.hotel-group__title{font-family:var(--font-heading);color:var(--color-primary);margin:0 0 var(--space-2);font-size:1.1rem}.hotel-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hotel-card{padding:var(--space-2) var(--space-3);background:#fff9;border-radius:12px}.hotel-card__name{margin:0 0 .2rem;font-weight:600}.hotel-card__meta{color:var(--color-text-muted);margin:0;font-size:.85rem}.hotel-card__meta a,.hotel-card__name a{color:inherit;text-decoration:underline}.hotel-card__notes{flex-wrap:wrap;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.gift-methods{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.gift-method{padding:var(--space-3);text-align:center;background:#fff9;border-radius:16px}.gift-method__phones{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.gift-method__phone{flex:8rem}.gift-method__title{font-family:var(--font-heading);color:var(--color-heading);margin:0 0 .4rem;font-size:1.15rem}.gift-method__holder{color:var(--color-text-muted);margin:0;font-size:.85rem}.gift-method__value{font-family:var(--font-heading);letter-spacing:.02em;margin:0 0 var(--space-2);word-break:break-word;font-size:1.1rem}.hotel-card__notes li{background:var(--color-tint);color:var(--color-primary);border-radius:var(--radius-button);padding:.2rem .6rem;font-size:.75rem}.cita{text-align:center;max-width:42rem;margin:0 auto;padding:2.5rem 0 2rem;position:relative}.cita:before{content:"“";opacity:.35;font-family:Cormorant Garamond,Georgia,serif;font-size:7rem;font-style:italic;line-height:.6;display:block}.cita__texto{color:inherit;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.9rem,6vw,2.9rem);font-style:italic;font-weight:600;line-height:1.3}.cita__autor{margin-top:2rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-style:italic;font-weight:500}.cita__autor:before{content:"";opacity:.5;background:currentColor;width:3rem;height:1px;margin:0 auto 1rem;display:block}
