.home{background:var(--color-bg);justify-content:center;align-items:center;min-height:100svh;padding-block:4rem;display:flex}.home__inner{text-align:center}.home__title{font-size:var(--fs-hero);color:var(--color-primary);margin-top:.5rem}.home__subtitle{color:var(--color-text-soft);margin-top:.75rem;margin-bottom:3rem}.home__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.5rem;display:grid}.home__card{background:var(--color-surface);border-radius:var(--radius-lg);transition:transform var(--transition), box-shadow var(--transition);flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 2rem;display:flex;box-shadow:0 10px 30px #0000000f}.home__card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000001a}.home__card-name{font-size:var(--fs-h3);color:var(--color-primary)}.home__card-desc{color:var(--color-text-soft);font-size:var(--fs-small)}.home__card-cta{color:var(--color-secondary);letter-spacing:.05em;margin-top:auto;font-weight:600}.home__palettes-eyebrow{margin-top:3.5rem}.home__palettes{margin-top:2rem}.home__palette-card{border:2px solid #0000;font-family:inherit}.home__palette-card.is-active{border-color:var(--color-primary)}.home__palette-swatches{gap:.4rem;display:flex}.home__palette-swatch{border-radius:50%;width:32px;height:32px;box-shadow:inset 0 0 0 1px #0000001a}.home__palette-actions{flex-direction:column;align-items:center;gap:.5rem;margin-top:auto;display:flex}.home__palette-actions .home__card-cta{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.home__palette-details-btn{font-family:inherit;font-size:var(--fs-small);color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.home__palette-details-btn:hover{color:var(--color-text)}.opt1{background:var(--color-bg)}.opt1__nav{color:var(--color-text)}.opt1__nav .nav__brand,.opt1__nav .nav__cta{color:var(--color-primary)}.opt1__nav .nav__cta{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.opt1__nav .nav__cta:hover{background:var(--color-primary-dark);opacity:1}.opt1__hero{text-align:center;background-position:50%;background-repeat:no-repeat;background-size:cover;background-color:var(--color-bg);justify-content:center;align-items:center;min-height:100svh;padding:8rem 1.5rem 3rem;display:flex;position:relative}.opt1__hero:before{content:"";background:linear-gradient(#e7ede68c,#e7ede659 45%,#e7ede6b3);position:absolute;inset:0}.opt1__hero-content{z-index:2;max-width:900px;margin-top:clamp(2rem,8vh,6rem);margin-bottom:auto;position:relative}.opt1__date{color:var(--color-primary);letter-spacing:.3em;font-size:var(--fs-body);margin-bottom:1rem}.opt1__names{font-size:var(--fs-hero);color:var(--color-primary);font-weight:500;line-height:1}.opt1__tagline{color:var(--color-primary);font-style:italic;font-family:var(--font-display);font-size:var(--fs-h3);margin-top:1rem}.opt1__cta{margin-top:2rem}.opt1 .wedding-section{background:var(--color-bg)}.opt1 .hosting-section{background:var(--color-surface)}.opt1 .rsvp-section{background:var(--color-bg)}.opt2{background:var(--color-surface)}.opt2__nav{color:#fff}.opt2__nav .nav__cta{border-color:#fff}.opt2__nav .nav__cta:hover{color:var(--color-text);opacity:1;background:#fff}.opt2__hero{text-align:center;color:#fff;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative}.opt2__overlay{background:linear-gradient(#00000040,#00000026 40%,#00000073);position:absolute;inset:0}.opt2__hero-content{z-index:2;padding:1.5rem;position:relative}.opt2__names{color:#fff;font-size:var(--fs-hero);text-shadow:0 2px 20px #0000004d;font-weight:500}.opt2__meta{font-size:var(--fs-h3);letter-spacing:.02em;text-shadow:0 1px 10px #0006;margin-top:1rem}.opt2__cta{min-width:180px;margin-top:2rem}.opt2 .wedding-section{background:var(--color-surface)}.opt2 .hosting-section{background:var(--color-bg)}.opt2 .rsvp-section{background:var(--color-surface)}.opt2 .section__title,.opt2 .event-card__title,.opt2 .hosting-card__name{color:var(--color-text)}.opt2 .eyebrow{color:var(--color-secondary)}.opt3{background:var(--color-bg)}.opt3__nav{color:#fff}.opt3__nav .nav__cta{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.opt3__nav .nav__cta:hover{background:var(--color-primary-dark);opacity:1}.opt3__hero{text-align:center;color:#fff;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative}.opt3__overlay{background:linear-gradient(#1e231e59,#1e231e40 45%,#1e231e8c);position:absolute;inset:0}.opt3__hero-content{z-index:2;max-width:900px;padding:1.5rem;position:relative}.opt3__eyebrow{letter-spacing:.3em;font-size:var(--fs-body);text-shadow:0 1px 8px #0006;margin-bottom:.75rem}.opt3__names{color:#fff;font-size:var(--fs-hero);text-shadow:0 2px 24px #00000059;font-weight:500}.opt3__tagline{font-family:var(--font-display);font-style:italic;font-size:var(--fs-h3);text-shadow:0 1px 12px #0006;margin-top:.75rem}.opt3__location{letter-spacing:.1em;opacity:.9;margin-top:.25rem}.opt3__countdown .countdown__value{color:#fff}.opt3__countdown .countdown__label{color:#ffffffd9}.opt3__cta{margin-top:2rem}.opt3 .wedding-section{background:var(--color-bg)}.opt3 .hosting-section{background:var(--color-surface)}.opt3 .rsvp-section{background:var(--color-bg)}.nav{z-index:20;padding-block:1.5rem;position:absolute;inset:0 0 auto}.nav__inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.nav__brand{font-family:var(--font-display);letter-spacing:.02em;font-size:1.35rem}.nav__links{align-items:center;gap:2rem;padding:0;list-style:none;display:flex}.nav__links a{font-size:var(--fs-small);letter-spacing:.12em;text-transform:uppercase}.nav__links a:hover{opacity:.7}.nav__cta{border-radius:var(--radius);border:1px solid;padding:.5rem 1.1rem}.nav__home{font-size:var(--fs-small);letter-spacing:.12em;text-transform:uppercase;opacity:.85}.nav__home:hover{opacity:1}.nav__palette{align-items:center;gap:.5rem;display:flex}.nav__palette-label{font-size:var(--fs-small);letter-spacing:.12em;text-transform:uppercase;opacity:.85}.nav__palette-select{font-family:inherit;font-size:var(--fs-small);letter-spacing:.02em;color:inherit;border-radius:var(--radius);cursor:pointer;background:#ffffff26;border:1px solid;padding:.4rem .6rem}.nav__palette-select option{color:var(--color-text);background:var(--color-surface)}.modal-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:85vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 60px #00000040}.modal__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.modal__title{font-size:var(--fs-h3);color:var(--color-primary)}.modal__close{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.75rem;line-height:1}.modal__close:hover{color:var(--color-text)}.modal__body{gap:1rem;display:grid}.modal__swatch-row{align-items:center;gap:1rem;display:flex}.modal__swatch{border-radius:var(--radius);flex-shrink:0;width:44px;height:44px;box-shadow:inset 0 0 0 1px #0000001a}.modal__swatch-info{flex-direction:column;display:flex}.modal__swatch-hex{color:var(--color-text);font-family:monospace;font-weight:600}.modal__swatch-role{font-size:var(--fs-small);color:var(--color-text-soft)}.nav__toggle{background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:none}.nav__toggle span{width:24px;height:2px;transition:transform var(--transition), opacity var(--transition);background:currentColor;display:block}.nav__toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.nav__toggle.is-open span:nth-child(2){opacity:0}.nav__toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.countdown{justify-content:center;gap:clamp(1rem,4vw,3rem);margin-top:2rem;display:flex}.countdown__item{flex-direction:column;align-items:center;display:flex}.countdown__value{font-family:var(--font-display);color:var(--color-primary);font-size:clamp(1.75rem,5vw,3rem);line-height:1}.countdown__label{font-size:var(--fs-small);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-soft);margin-top:.35rem}.wedding-section__grid,.hosting-section__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem;margin-top:2rem;display:grid}.event-card,.hosting-card{background:var(--color-surface);border-radius:var(--radius-lg);text-align:center;padding:2rem;box-shadow:0 10px 30px #0000000f}.event-card__title,.hosting-card__name{font-size:var(--fs-h3);color:var(--color-primary);margin-bottom:.5rem}.event-card__time{letter-spacing:.05em;font-weight:600}.event-card__place,.hosting-card__description{color:var(--color-text-soft);margin-top:.5rem}.event-card__address{font-size:var(--fs-small);color:var(--color-text-soft);margin-top:.25rem}.hosting-card__price{color:var(--color-secondary);margin-top:.75rem;font-weight:600}.hosting-card__link{color:var(--color-primary);letter-spacing:.05em;margin-top:1rem;font-weight:600;display:inline-block}.hosting-card__link:hover{color:var(--color-primary-dark)}.footer{background:var(--color-secondary);color:var(--color-on-primary);text-align:center;padding-block:3rem}.footer__names{font-family:var(--font-display);font-size:var(--fs-h3)}.footer__date{letter-spacing:.1em;margin-top:.25rem}.footer__love{opacity:.85;font-size:var(--fs-small);margin-top:.75rem}@media (width<=768px){.nav__toggle{z-index:30;display:flex}.nav__links{background:var(--color-bg);color:var(--color-text);flex-direction:column;justify-content:center;gap:2rem;transition:transform .3s;position:fixed;inset:0;transform:translate(100%)}.nav__links.is-open{transform:translate(0)}.nav__links a{font-size:1.1rem}.nav__palette{flex-direction:column;gap:.35rem}.nav__palette-select{background:var(--color-surface);color:var(--color-text)}}.rsvp-section__inner{max-width:640px}.rsvp-card{background:var(--color-surface);border-radius:var(--radius-lg);margin-top:2rem;padding:clamp(1.5rem,5vw,2.5rem);box-shadow:0 10px 30px #0000000f}.rsvp-card--success{text-align:center}.rsvp-form{text-align:left;flex-direction:column;gap:1.25rem;display:flex}.rsvp-form__field{flex-direction:column;gap:.4rem;display:flex}.rsvp-form__row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=520px){.rsvp-form__row{grid-template-columns:1fr}}.rsvp-form__field label,.rsvp-form__legend{font-size:var(--fs-small);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text)}.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form input[type=number],.rsvp-form textarea{border-radius:var(--radius);background:var(--color-bg);width:100%;font-family:inherit;font-size:var(--fs-body);color:var(--color-text);transition:border-color var(--transition);border:1px solid #00000026;padding:.75rem 1rem}.rsvp-form input:focus,.rsvp-form textarea:focus{border-color:var(--color-primary);outline:none}.rsvp-form__radios{flex-wrap:wrap;gap:1.5rem;display:flex}.rsvp-form__checks{flex-direction:column;gap:.75rem;display:flex}.rsvp-form__check{text-transform:none;letter-spacing:normal;color:var(--color-text);cursor:pointer;align-items:center;gap:.6rem;display:flex}.rsvp-form__stop{margin-top:1rem}.rsvp-form select{border-radius:var(--radius);background:var(--color-bg);width:100%;font-family:inherit;font-size:var(--fs-body);color:var(--color-text);border:1px solid #00000026;padding:.75rem 1rem}.rsvp-form select:focus{border-color:var(--color-primary);outline:none}.rsvp-form__radios label{text-transform:none;letter-spacing:normal;color:var(--color-text);cursor:pointer;align-items:center;gap:.5rem;display:flex}.rsvp-form__submit{border:none;align-self:center;margin-top:.5rem}.rsvp-form__submit:disabled{opacity:.6;cursor:not-allowed}.rsvp-form__error{color:#b3261e;font-size:var(--fs-small);text-align:center}.rsvp-section__success{text-align:center;color:var(--color-secondary);font-size:var(--fs-h3)}.names-stack{overflow-wrap:break-word;text-wrap:balance;flex-direction:column;align-items:center;max-width:100%;line-height:1.02;display:flex}.names-stack__name{max-width:100%;display:block}.names-stack__amp{opacity:.85;margin-block:.15em;font-size:.42em;display:block}:root{--color-primary:#8871a5;--color-primary-dark:#6a5485;--color-secondary:#71836d;--color-accent:#b5a5bf;--color-bg:#dedbd6;--color-surface:#e9e7e4;--color-text:#2d362b;--color-text-soft:#a1af98;--color-on-primary:#fff;--color-overlay:#2d362b6b;--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:"Montserrat", system-ui, -apple-system, sans-serif;--fs-hero:clamp(2.75rem, 9vw, 7rem);--fs-h2:clamp(1.75rem, 4vw, 3rem);--fs-h3:clamp(1.25rem, 2.5vw, 1.75rem);--fs-body:clamp(1rem, 1.4vw, 1.125rem);--fs-small:.875rem;--space-section:clamp(3rem, 8vw, 7rem);--radius:4px;--radius-lg:12px;--max-width:1200px;--transition:.25s ease}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--fs-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-text);font-weight:500;line-height:1.1}a{color:inherit;transition:color var(--transition), opacity var(--transition);text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,3rem)}.section{padding-block:var(--space-section)}.section__title{font-size:var(--fs-h2);text-align:center;margin-bottom:.5rem}.section__subtitle{text-align:center;color:var(--color-text-soft);margin-bottom:2.5rem}.eyebrow{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;font-size:var(--fs-small);color:var(--color-primary)}.btn{border-radius:var(--radius);font-size:var(--fs-small);letter-spacing:.15em;text-transform:uppercase;transition:all var(--transition);border:1px solid #0000;padding:.75rem 1.75rem;display:inline-block}.btn--primary{background-color:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover{background-color:var(--color-primary-dark)}.btn--outline{color:inherit;background-color:#0000;border-color:currentColor}.btn--outline:hover{background-color:currentColor}.btn--outline:hover span{color:var(--color-bg)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
