@import "https://fonts.googleapis.com/css2?family=Libre+Bodoni:wght@400;500;600&family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600&family=Parisienne&display=swap";:root{--color-bg:#faf8f3;--color-bg-soft:#efe4d2;--color-white:#fffdf8;--color-lilac:#bfbfec;--color-lilac-dark:#9b99c8;--color-purple:#3f3a52;--color-text:#565071;--color-muted:#8a7f76;--color-line:#d8d1c8;--font-title:"Cormorant Garamond", serif;--font-date:"Libre Bodoni", "Bodoni 72", Didot, serif;--font-body:"Inter", sans-serif;--font-script:"Parisienne", cursive;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);scroll-behavior:smooth}*{box-sizing:border-box}html,body,#root{min-height:100%}:root{--header-height:74px;--footer-height:132px}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.site-main{min-height:calc(100dvh - var(--header-height) - var(--footer-height));flex-direction:column;flex:1 0 auto;display:flex}.info-page,.gallery-page,.rsvp-page{min-height:calc(100dvh - var(--header-height) - var(--footer-height));flex:1 0 auto;position:relative}html{background:var(--color-bg)}body{background:radial-gradient(circle at top left, #bfbfec40, transparent 34rem), linear-gradient(180deg, var(--color-bg), var(--color-white));min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.site-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#faf8f3d1;border-bottom:1px solid #d8d1c899;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;padding:1.1rem clamp(1.25rem,4vw,4rem);display:grid;position:sticky;top:0}.header-nav{text-transform:uppercase;letter-spacing:.16em;color:var(--color-muted);align-items:center;gap:clamp(1rem,2vw,2rem);font-size:.72rem;display:flex}.header-nav a{transition:color .2s}.header-nav a:hover{color:var(--color-purple)}.header-nav-right{justify-content:flex-end}.header-monogram{font-family:var(--font-title);letter-spacing:.08em;color:var(--color-purple);text-transform:none;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:700;line-height:1;transition:color .2s,transform .2s}.header-monogram:hover{color:var(--color-lilac-dark);transform:translateY(-1px)}.header-rsvp{background:var(--color-lilac-dark);color:var(--color-white);border:1px solid #9b99c8b8;border-radius:999px;padding:.7rem 1.05rem;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;box-shadow:0 10px 26px #3f3a521f}.header-rsvp:hover{color:var(--color-white);background:#8582b8;border-color:#8582b8;transform:translateY(-1px);box-shadow:0 14px 34px #3f3a5229}main{overflow-x:hidden}.hero-section{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(1.1rem,2vw,1.8rem);min-height:auto;padding:clamp(1.8rem,3vw,3rem) clamp(1.25rem,4vw,4rem) clamp(3rem,6vw,5rem);display:flex}.small-script{font-family:var(--font-script);color:var(--color-lilac-dark);margin:0;font-size:clamp(2rem,5vw,3.4rem);line-height:1}.hero-date-block{z-index:2;pointer-events:none;text-align:center;width:100%;position:absolute;top:7%;left:50%;transform:translate(-50%)}.hero-date-block p{letter-spacing:.12em;color:var(--color-bg);text-transform:none;font-variant-numeric:lining-nums;text-shadow:0 2px 14px #00000059;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,6vw,5.2rem);font-weight:600;line-height:1}.hero-gallery{z-index:2;grid-template-columns:.8fr 1.75fr .8fr;align-items:center;gap:clamp(2.8rem,5vw,5.8rem);width:min(1600px,100%);margin-top:0;display:grid;position:relative}.hero-photo{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #d8d1c8cc;position:relative;overflow:hidden;box-shadow:0 24px 60px #3f3a5214}.about-photo span{letter-spacing:.16em;text-transform:uppercase;color:#3f3a5285;font-size:.68rem;position:absolute;inset:auto 1rem 1rem}.hero-photo-side{aspect-ratio:1.45;height:auto}.hero-photo-main{aspect-ratio:1.3;height:auto}.hero-photo-left,.hero-photo-main,.hero-photo-right{border-radius:1.25rem}.hero-photo-left{background-position:0 40%;background-size:100%}.hero-photo-main{background-position:60% 70%;background-size:130%}.hero-photo-right{background-position:50% 40%;background-size:140%}.hero-text{max-width:480px;color:var(--color-muted);margin:-.4rem 0 0;font-size:.92rem;line-height:1.8}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:.85rem 1.45rem;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.primary-button{background:var(--color-lilac-dark);color:var(--color-white)}.primary-button:hover{background:#8582b8;transform:translateY(-2px)}.secondary-button{color:var(--color-white);background:#fffdf81f;border-color:#fffdf873}.secondary-button:hover{background:#fffdf833;transform:translateY(-2px)}.locations-section,.gift-section,.rsvp-preview-section{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,4vw,4rem)}.countdown-section{color:var(--color-white);background:0 0;padding:clamp(5rem,8vw,7rem) clamp(1.25rem,4vw,4rem);position:relative;overflow:hidden}.countdown-section:before,.countdown-section:after{content:"";pointer-events:none;position:absolute;inset:0}.countdown-section:before{background-image:var(--countdown-bg);filter:grayscale();background-position:50%;background-repeat:no-repeat;background-size:cover;transform:scale(1.02)}.countdown-section:after{background:linear-gradient(#3f3a52c7,#3f3a52bd)}.countdown-inner{z-index:2;text-align:center;width:min(1040px,100%);margin:0 auto;position:relative}.countdown-inner h2{font-family:var(--font-title);letter-spacing:.1em;text-transform:uppercase;color:#fffdf8eb;text-shadow:0 8px 28px #0000002e;margin:0 0 clamp(3rem,5vw,4.6rem);font-size:clamp(1.8rem,3.2vw,3.4rem);font-weight:500;line-height:1}.countdown-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:clamp(1rem,3vw,3rem);margin:0 auto;display:grid}.countdown-grid div{flex-direction:column;justify-content:center;align-items:center;min-height:130px;padding:clamp(.8rem,2vw,1.4rem) 1rem;display:flex;position:relative}.countdown-grid div:not(:last-child):after{content:"";background:#fffdf88c;border-radius:999px;width:4px;height:4px;position:absolute;top:50%;right:calc(clamp(1rem,3vw,3rem)/-2);transform:translate(50%,-50%)}.countdown-grid strong{color:var(--color-bg);font-variant-numeric:lining-nums;text-shadow:0 8px 28px #00000038;font-family:Cormorant Garamond,serif;font-size:clamp(4.4rem,10vw,8.6rem);font-weight:600;line-height:.82}.countdown-grid span{letter-spacing:.24em;text-transform:uppercase;color:#fffdf8ad;margin-top:.8rem;font-size:.68rem}.section-heading{text-align:center;margin-bottom:clamp(2rem,5vw,4rem)}.section-heading h2,.plan-section h2,.gift-card h2,.rsvp-preview-card h2{font-family:var(--font-title);letter-spacing:.12em;text-transform:uppercase;color:var(--color-purple);margin:.4rem 0 0;font-size:clamp(3rem,7vw,6rem);font-weight:500;line-height:.95}.locations-section{background:radial-gradient(circle at 15% 20%, #bfbfec29, transparent 26rem), var(--color-bg)}.locations-heading{margin-bottom:clamp(2rem,4vw,3.5rem)}.locations-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(2rem,5vw,5rem);width:min(1060px,100%);margin:0 auto;display:grid}.location-card{text-align:center;grid-template-rows:auto 1fr;gap:1.6rem;display:grid}.location-image{aspect-ratio:3/3.5;filter:grayscale();background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #d8d1c8e6;border-radius:.35rem;width:100%;box-shadow:0 22px 70px #3f3a5217}.location-info{flex-direction:column;align-items:center;display:flex}.location-type{letter-spacing:.26em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .7rem;font-size:.68rem}.location-info h3{font-family:var(--font-title);letter-spacing:.08em;text-transform:uppercase;color:var(--color-purple);margin:0;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;line-height:1}.location-info p:not(.location-type){color:var(--color-muted);margin:.8rem 0 1.4rem;font-size:.9rem;line-height:1.7}.location-button{min-height:42px;color:var(--color-purple);letter-spacing:.14em;text-transform:uppercase;background:#fffdf894;border:1px solid #3f3a5247;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-size:.78rem;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.location-button:hover{background:var(--color-white);border-color:#3f3a527a;transform:translateY(-2px)}.plan-section{color:var(--color-white);background:0 0;padding:clamp(4rem,8vw,7rem) clamp(1.25rem,4vw,4rem);position:relative;overflow:hidden}.plan-section:before,.plan-section:after{content:"";pointer-events:none;position:absolute;inset:0}.plan-section:before{background-image:var(--plan-bg);filter:grayscale();background-position:50%;background-repeat:no-repeat;background-size:cover;transform:scale(1.02)}.plan-section:after{background:linear-gradient(#3f3a52c7,#3f3a52bd)}.plan-inner{z-index:2;text-align:center;width:min(900px,100%);margin:0 auto;position:relative}.plan-section h2{color:var(--color-white);margin-bottom:clamp(3rem,6vw,5rem)}.timeline{flex-direction:column;gap:2.8rem;padding:1rem 0;display:flex;position:relative}.timeline:before{content:"";z-index:0;background:#fffdf852;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{z-index:1;opacity:0;grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);align-items:center;column-gap:.75rem;display:grid;position:relative}.timeline-content{flex-direction:column;justify-content:center;width:min(100%,270px);min-height:58px;display:flex}.timeline-left .timeline-content{text-align:right;grid-column:1;justify-self:end;padding-right:0}.timeline-right .timeline-content{text-align:left;grid-column:3;justify-self:start;padding-left:0}.timeline-marker{z-index:3;width:58px;height:58px;color:var(--color-bg);-webkit-backdrop-filter:none;backdrop-filter:none;background:#3f3a52e6;border:1px solid #fffdf885;border-radius:999px;grid-column:2;place-items:center;margin:0 auto;font-size:1.25rem;display:grid;position:relative}.timeline-marker:before,.timeline-marker:after{display:none}.plan-icon-svg{width:50px;height:50px;display:block}.timeline-time{font-family:var(--font-title);color:var(--color-lilac);margin-bottom:.45rem;font-size:1.6rem;display:block}.timeline-content h3{font-family:var(--font-title);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.65rem;font-weight:500}.timeline-content p{color:#fffdf8ad;margin:.45rem 0 0;font-size:.82rem;line-height:1.6}.gift-section{background:radial-gradient(circle at 80% 10%, #bfbfec24, transparent 24rem), var(--color-bg);padding:clamp(5rem,9vw,8rem) clamp(1.25rem,4vw,4rem)}.gift-inner{text-align:center;width:min(760px,100%);margin:0 auto}.gift-text{max-width:560px;color:var(--color-muted);margin:clamp(1.4rem,3vw,2rem) auto 0;font-size:.98rem;line-height:1.9}.gift-iban{border-top:1px solid #3f3a522e;border-bottom:1px solid #3f3a522e;max-width:640px;margin:clamp(2.5rem,5vw,4rem) auto 0;padding:2rem 0}.gift-iban span{letter-spacing:.28em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.9rem;font-size:.68rem;display:block}.gift-iban strong{font-family:var(--font-title);letter-spacing:.08em;color:var(--color-purple);font-size:clamp(1.4rem,3vw,2.2rem);font-weight:500;line-height:1.2;display:block}.gift-kicker{font-family:var(--font-title);letter-spacing:.12em;text-transform:uppercase;color:var(--color-purple);margin:0;font-size:clamp(3.4rem,8vw,7rem);font-weight:500;line-height:.95}.gift-iban small{color:var(--color-muted);margin-top:.9rem;font-size:.85rem;display:block}.gift-copy-button{min-height:42px;color:var(--color-purple);cursor:pointer;letter-spacing:.16em;text-transform:uppercase;background:0 0;border:1px solid #3f3a5242;border-radius:999px;justify-content:center;align-items:center;margin-top:2rem;padding:.75rem 1.4rem;font-size:.76rem;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.gift-copy-button:hover{background:#bfbfec24;border-color:#3f3a526b;transform:translateY(-2px)}.rsvp-preview-section{color:var(--color-white);background:0 0;padding:clamp(5rem,9vw,8rem) clamp(1.25rem,4vw,4rem);position:relative;overflow:hidden}.rsvp-preview-section:before,.rsvp-preview-section:after{content:"";pointer-events:none;position:absolute;inset:0}.rsvp-preview-section:before{background-image:var(--rsvp-bg);filter:grayscale();background-position:50% 20%;background-repeat:no-repeat;background-size:cover;transform:scale(1.02)}.rsvp-preview-section:after{background:linear-gradient(#3f3a52c7,#3f3a52bd)}.rsvp-preview-inner{z-index:2;text-align:center;width:min(820px,100%);margin:0 auto;position:relative}.rsvp-preview-inner h2{font-family:var(--font-title);letter-spacing:.04em;text-transform:uppercase;color:var(--color-bg);margin:.8rem 0 1.4rem;font-size:clamp(3.2rem,8vw,6.4rem);font-weight:500;line-height:.92}.rsvp-preview-text{color:#fffdf8d1;max-width:620px;margin:0 auto;font-size:.98rem;line-height:1.9}.rsvp-preview-button{min-height:44px;color:var(--color-bg);letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf814;border:1px solid #fffdf86b;border-radius:999px;justify-content:center;align-items:center;margin-top:2rem;padding:.85rem 1.5rem;font-size:.76rem;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.rsvp-preview-button:hover{background:#fffdf829;border-color:#fffdf8b3;transform:translateY(-2px)}.site-footer{height:132px;min-height:132px;color:var(--color-muted);background:#fffdf8eb;border-top:1px solid #3f3a521a;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:0 clamp(1.5rem,5vw,4rem);display:grid;overflow:hidden}.footer-links{justify-self:start;gap:.45rem;display:grid}.footer-links div{align-items:center;gap:.45rem;display:flex}.footer-links a,.footer-contact a{color:var(--color-muted);text-decoration:none;transition:color .2s,opacity .2s}.footer-links a:hover,.footer-contact a:hover{color:var(--color-purple)}.footer-links a,.footer-links span{letter-spacing:.18em;text-transform:uppercase;font-size:.68rem;line-height:1}.footer-center{text-align:center;justify-self:center}.footer-brand{letter-spacing:.28em;text-transform:uppercase;color:var(--color-purple);margin:0;font-size:.72rem}.footer-thanks{color:var(--color-muted);margin:.65rem 0 0;font-size:.86rem;line-height:1.6}.footer-contact{text-align:right;justify-self:end}.footer-contact p{color:var(--color-muted);margin:0;font-size:.74rem;line-height:1.7}.footer-contact p:first-child{letter-spacing:.16em;text-transform:uppercase;color:var(--color-purple);margin-bottom:.25rem;font-size:.68rem}.footer-contact span{color:var(--color-lilac-dark);margin:0 .25rem}.rsvp-page{min-height:calc(100vh - 80px);color:var(--color-bg);background:0 0;padding:clamp(2.4rem,5vw,4rem) clamp(1.25rem,4vw,4rem) clamp(4rem,7vw,6rem);position:relative;overflow:hidden}.rsvp-page:before,.rsvp-page:after{content:"";pointer-events:none;position:absolute;inset:0}.rsvp-page:before{background-image:var(--rsvp-page-bg);filter:grayscale();background-position:50% 60%;background-repeat:no-repeat;background-size:cover;transform:scale(1.02)}.rsvp-page:after{background:linear-gradient(#3f3a52c7,#3f3a52bd)}.rsvp-page-inner{z-index:2;width:min(980px,100%);margin:0 auto;position:relative}.rsvp-page-heading{text-align:center;max-width:760px;margin:0 auto clamp(2.5rem,5vw,4rem)}.rsvp-page-heading h1{font-family:var(--font-title);letter-spacing:.06em;text-transform:uppercase;color:var(--color-bg);margin:0;font-size:clamp(3rem,7vw,5.8rem);font-weight:500;line-height:.92}.rsvp-page-heading span{color:#fffdf8c7;max-width:560px;margin:1.4rem auto 0;font-size:.98rem;line-height:1.8;display:block}.rsvp-form{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf814;border:1px solid #fffdf842;border-radius:.6rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:clamp(1.2rem,3vw,2rem);display:grid}.form-field{flex-direction:column;gap:.55rem;display:flex}.form-field-full{grid-column:1/-1}.form-field span{letter-spacing:.18em;text-transform:uppercase;color:#fffdf8b8;font-size:.68rem}.form-field input,.form-field select,.form-field textarea{width:100%;color:var(--color-purple);background:#fffdf8e0;border:1px solid #fffdf84d;border-radius:.35rem;outline:none;padding:.9rem 1rem;transition:border-color .2s,background .2s,box-shadow .2s}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-lilac);background:var(--color-bg);box-shadow:0 0 0 4px #bfbfec29}.form-field input::placeholder,.form-field textarea::placeholder{color:#56507185}.form-help{color:#fffdf8ad;margin-top:-.15rem;font-size:.78rem;line-height:1.6;display:block}.required-mark{color:var(--color-lilac);margin-left:.25rem}.form-required-note{color:#fffdf8b8;grid-column:1/-1;margin:0 0 .5rem;font-size:.78rem;line-height:1.6}.form-required-note strong{color:var(--color-lilac)}.custom-select-field,.custom-select{position:relative}.rsvp-form .custom-select-trigger{width:100%;height:54px;min-height:54px;color:var(--color-purple);letter-spacing:normal;text-transform:none;text-align:left;cursor:pointer;appearance:none;box-shadow:none;background:#fffdf8eb;border:1px solid #fffdf86b;border-radius:.28rem;outline:none;justify-content:space-between;align-items:center;gap:1rem;padding:0 1.05rem;font-family:inherit;font-size:.95rem;font-weight:400;line-height:1.4;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.rsvp-form .custom-select-trigger span:first-child{color:var(--color-purple)}.rsvp-form .custom-select-placeholder span:first-child{color:#3f3a5285}.rsvp-form .custom-select-trigger:hover,.rsvp-form .custom-select-open .custom-select-trigger{background:#fffdf8fa;border-color:#bfbfece6;box-shadow:0 0 0 4px #bfbfec2e}.custom-select-placeholder{color:#3f3a5285}.custom-select-arrow{color:#3f3a52b8;font-size:1rem;line-height:1;transition:transform .2s}.custom-select-open .custom-select-arrow{transform:rotate(180deg)}.custom-select-options{z-index:60;background:#faf8f3fa;border:1px solid #d8d1c8f2;border-radius:.75rem;padding:.35rem;position:absolute;top:calc(100% + .45rem);left:0;right:0;overflow:hidden;box-shadow:0 18px 50px #1f1c2b3d}.custom-select-option{width:100%;color:var(--color-purple);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.85rem .9rem;font-size:.92rem;transition:background .18s,color .18s}.custom-select-option:hover,.custom-select-option-selected{background:#bfbfec38}.custom-select-option-selected{font-weight:600}.custom-select-trigger,.custom-select-option{color:var(--color-purple)}.rsvp-submit-button{min-height:46px;color:var(--color-bg);cursor:pointer;letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf814;border:1px solid #fffdf86b;border-radius:999px;grid-column:1/-1;justify-content:center;justify-self:center;align-items:center;margin-top:.8rem;padding:.85rem 1.6rem;font-size:.76rem;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.rsvp-submit-button:hover{background:#fffdf829;border-color:#fffdf8b3;transform:translateY(-2px)}.rsvp-submit-button:disabled{opacity:.65;cursor:not-allowed;transform:none}.rsvp-error-message{text-align:center;color:#ffd7d7;grid-column:1/-1;margin:.5rem 0 0;font-size:.9rem}.rsvp-success-message{text-align:center;color:var(--color-bg);grid-column:1/-1;margin:.5rem 0 0;font-size:.9rem}.gallery-page{min-height:calc(100vh - 80px);color:var(--color-bg);background:0 0;align-items:center;padding:clamp(5rem,9vw,8rem) clamp(1.25rem,4vw,4rem);display:flex;position:relative;overflow:hidden}.gallery-page:before,.gallery-page:after{content:"";pointer-events:none;position:absolute;inset:0}.gallery-page:before{background-image:var(--gallery-bg);filter:grayscale();background-position:50%;background-repeat:no-repeat;background-size:cover;transform:scale(1.02)}.gallery-page:after{background:linear-gradient(#3f3a52c7,#3f3a52bd)}.gallery-page-inner{z-index:2;text-align:center;width:min(820px,100%);margin:0 auto;position:relative}.gallery-page-inner h1{font-family:var(--font-title);letter-spacing:.08em;text-transform:uppercase;color:var(--color-bg);margin:.8rem 0 1.4rem;font-size:clamp(3.4rem,8vw,6.8rem);font-weight:500;line-height:.92}.gallery-page-inner p:not(.section-kicker):not(.gallery-note){color:#fffdf8d1;max-width:620px;margin:0 auto;font-size:.98rem;line-height:1.9}.gallery-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:clamp(2rem,4vw,3rem);display:flex}.gallery-button{letter-spacing:.16em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:.85rem 1.55rem;font-size:.76rem;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.gallery-button:hover{transform:translateY(-2px)}.gallery-button-primary{color:var(--color-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf81f;border:1px solid #fffdf86b}.gallery-button-primary:hover{background:#fffdf833;border-color:#fffdf8b8}.gallery-button-secondary{color:#fffdf8db;background:0 0;border:1px solid #fffdf84d}.gallery-button-secondary:hover{background:#fffdf814;border-color:#fffdf894}.gallery-note{color:#fffdf8a3;max-width:540px;margin:2rem auto 0;font-size:.84rem;line-height:1.8}.gallery-page{align-items:flex-start;padding:clamp(2.8rem,4.8vw,4.6rem) clamp(1.25rem,4vw,4rem)}.gallery-page-inner{width:min(860px,100%)}.gallery-page-inner h1{margin-bottom:1rem;font-size:clamp(3.4rem,7vw,6.2rem)}.gallery-page-inner>p:not(.section-kicker):not(.gallery-note){max-width:640px;margin:0 auto;font-size:.94rem;line-height:1.75}.gallery-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.4rem);width:min(560px,100%);margin:clamp(1.7rem,3vw,2.2rem) auto 0;display:grid}.gallery-qr-card{text-align:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffdf813;border:1px solid #fffdf83d;border-radius:.6rem;grid-template-rows:auto 2.35rem auto auto;justify-items:center;min-height:auto;padding:1rem .9rem .95rem;transition:transform .25s,background .25s,border-color .25s;display:grid;box-shadow:0 18px 55px #00000014}.gallery-qr-card:hover{background:#fffdf81f;border-color:#fffdf875;transform:translateY(-3px)}.gallery-qr-placeholder,.gallery-qr-image{aspect-ratio:1;background:#fffdf8eb;border:1px solid #fffdf8b8;border-radius:.38rem;place-items:center;width:118px;margin-bottom:.85rem;display:grid;box-shadow:0 14px 38px #0000001f}.gallery-qr-placeholder span{font-family:var(--font-title);letter-spacing:.1em;color:var(--color-purple);font-size:1.8rem}.gallery-qr-image img{object-fit:contain;width:100%;height:100%;padding:.5rem;display:block}.gallery-qr-card h2{font-family:var(--font-title);letter-spacing:.075em;text-transform:uppercase;color:var(--color-bg);align-self:center;margin:0;font-size:clamp(1.25rem,2.2vw,1.65rem);font-weight:500;line-height:1}.gallery-qr-card p{color:#fffdf8b3;max-width:190px;margin:.35rem 0 0;font-size:.72rem;line-height:1.45}.gallery-qr-card small{letter-spacing:.16em;text-transform:uppercase;color:var(--color-lilac);margin-top:.75rem;font-size:.54rem}.gallery-info-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf80e;border:1px solid #fffdf82e;border-radius:.55rem;max-width:680px;margin:clamp(1.4rem,2.5vw,1.9rem) auto 0;padding:1rem 1.2rem}.gallery-info-card p{color:#fffdf8b8;margin:0;font-size:.78rem;line-height:1.75}.page-actions{margin-top:2rem}.outline-page-button{min-height:42px;color:var(--color-purple);letter-spacing:.16em;text-transform:uppercase;background:#fffdf894;border:1px solid #3f3a5247;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.35rem;font-size:.76rem;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.outline-page-button:hover{background:var(--color-white);border-color:#3f3a527a;transform:translateY(-2px)}.info-page{color:var(--color-bg);background:0 0;padding:clamp(5rem,9vw,8rem) clamp(1.25rem,4vw,4rem);position:relative;overflow:hidden}.info-page:before,.info-page:after{content:"";pointer-events:none;position:absolute;inset:0}.info-page:before{background-image:var(--info-bg);filter:grayscale();z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;transform:scale(1.02)}.info-page-video{z-index:1;object-fit:cover;filter:grayscale();pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.02)}.info-page:after{z-index:2;background:linear-gradient(#3f3a52c7,#3f3a52bd)}.info-page-inner{z-index:3;text-align:center;width:min(980px,100%);margin:0 auto;position:relative}.info-page-inner h1{font-family:var(--font-title);letter-spacing:.08em;text-transform:uppercase;color:var(--color-bg);margin:.8rem 0 1.4rem;font-size:clamp(3.2rem,8vw,6.4rem);font-weight:500;line-height:.92}.info-page-inner>p:not(.section-kicker){color:#fffdf8d1;max-width:680px;margin:0 auto;font-size:.98rem;line-height:1.9}.info-grid{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,3vw,2rem);margin-top:clamp(3rem,6vw,5rem);display:grid}.info-card{appearance:none;width:100%;color:var(--color-bg);text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf814;border:1px solid #fffdf847;border-radius:.55rem;padding:clamp(1.4rem,3vw,2rem);transition:transform .22s,background .22s,border-color .22s;box-shadow:0 22px 70px #00000014}.info-card:hover{background:#fffdf824;border-color:#fffdf880;transform:translateY(-4px)}.info-card span{font-family:var(--font-title);color:var(--color-lilac);margin-bottom:1rem;font-size:1.5rem;display:block}.info-card h2{font-family:var(--font-title);letter-spacing:.065em;text-transform:uppercase;color:var(--color-bg);margin:0;font-size:clamp(1.6rem,2.6vw,2.25rem);font-weight:500;line-height:1.05}.info-card p{color:#fffdf8b8;margin:.9rem 0 0;font-size:.92rem;line-height:1.8}.info-card small{letter-spacing:.18em;text-transform:uppercase;color:#fffdf8a8;margin-top:1.2rem;font-size:.68rem;display:inline-block}.info-card{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.info-card h2{max-width:100%;margin:0}.info-card p{margin-top:.85rem;margin-bottom:0}.info-card small{align-self:flex-end;margin-top:auto;padding-top:1rem}.info-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1f1c2b94;place-items:center;padding:clamp(.75rem,3vw,2rem);animation:.22s both modalFadeIn;display:grid;position:fixed;inset:0;overflow:hidden}.info-modal{width:min(760px,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--color-purple);background:#faf8f3f7;border-radius:.85rem;flex-direction:column;padding:clamp(2rem,4vw,3rem);animation:.24s both modalZoomIn;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 110px #00000047}.info-modal-content{scrollbar-width:thin;scrollbar-color:#3f3a5252 #3f3a520f;margin-right:-.25rem;padding-right:.55rem;overflow-y:auto}.info-modal-content::-webkit-scrollbar{width:7px}.info-modal-content::-webkit-scrollbar-track{background:#3f3a520f;border-radius:999px}.info-modal-content::-webkit-scrollbar-thumb{background:#3f3a5247;border-radius:999px}.info-modal-content::-webkit-scrollbar-thumb:hover{background:#3f3a526b}.info-modal-close{z-index:4;width:36px;height:36px;color:var(--color-purple);cursor:pointer;background:#fffdf8e6;border:1px solid #3f3a522e;border-radius:999px;place-items:center;font-size:1.35rem;line-height:1;transition:transform .2s,background .2s,border-color .2s;display:grid;position:absolute;top:1.25rem;right:1.25rem}.info-modal-close:hover{background:var(--color-white);border-color:#3f3a5247;transform:rotate(8deg)}.info-modal-heading{text-align:center;flex:none;margin-bottom:clamp(1.5rem,3vw,2.2rem);padding:0 3.5rem}.info-modal-heading>span{display:none}.info-modal-heading h2{max-width:100%;font-family:var(--font-title);letter-spacing:.045em;text-transform:uppercase;color:var(--color-purple);word-break:normal;overflow-wrap:normal;margin:0 auto;font-size:clamp(2.4rem,5vw,4.4rem);font-weight:500;line-height:.98}.info-modal-text{flex-direction:column;gap:1rem;display:flex}.info-modal-text p,.info-modal-note{color:var(--color-muted);margin:0;font-size:.96rem;line-height:1.8}.info-modal-note{border-top:1px solid #3f3a5229;margin-top:1.4rem;padding-top:1.4rem;font-style:italic}.info-modal-schedule{flex-direction:column;gap:1.05rem;display:flex}.info-schedule-item{border-bottom:1px solid #3f3a521f;grid-template-columns:82px 1fr;align-items:start;gap:1.2rem;padding-bottom:1.05rem;display:grid}.info-schedule-item span{font-family:var(--font-title);color:var(--color-lilac-dark);font-size:1.45rem;line-height:1}.info-schedule-item h3{font-family:var(--font-title);letter-spacing:.055em;text-transform:uppercase;color:var(--color-purple);margin:0;font-size:1.45rem;font-weight:500;line-height:1.05}.info-schedule-item p{color:var(--color-muted);margin:.35rem 0 0;font-size:.92rem;line-height:1.7}.faq-list{flex-direction:column;gap:.8rem;display:flex}.faq-item{background:#fffdf8b8;border:1px solid #3f3a5229;border-radius:.55rem;overflow:hidden}.faq-question{width:100%;color:var(--color-purple);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.faq-question span{font-size:.9rem;font-weight:500;line-height:1.5}.faq-question strong{color:var(--color-lilac-dark);flex:none;font-size:1.25rem;font-weight:400}.faq-answer{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.faq-answer p{min-height:0;color:var(--color-muted);margin:0;padding:0 1rem;font-size:.88rem;line-height:1.75;overflow:hidden}.faq-item-open .faq-answer{grid-template-rows:1fr}.faq-item-open .faq-answer p{padding-bottom:1rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalZoomIn{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(22px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes heroDateReveal{0%{opacity:0;transform:translate(-50%)translateY(14px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.hero-photo{opacity:0;animation:1.8s cubic-bezier(.22,1,.36,1) forwards heroFadeUp}.hero-photo-main{animation-delay:.18s}.hero-photo-left{animation-delay:.42s}.hero-photo-right{animation-delay:.58s}.hero-date-block{opacity:0;animation:1.65s cubic-bezier(.22,1,.36,1) .65s forwards heroDateReveal}.hero-text,.hero-section .primary-button{opacity:0;animation:1.35s cubic-bezier(.22,1,.36,1) forwards heroFadeUp}.hero-text{animation-delay:1s}.hero-section .primary-button{animation-delay:1.22s}@media (prefers-reduced-motion:reduce){.hero-photo,.hero-date-block,.hero-text,.hero-section .primary-button{opacity:1;animation:none}}.info-card{transition:transform .28s,background .28s,border-color .28s,box-shadow .28s;position:relative;overflow:hidden;transform:translateY(0)}.info-card:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle at 80% 10%,#fffdf82e,#0000 42%);transition:opacity .28s;position:absolute;inset:0}.info-card:hover{background:#fffdf826;border-color:#fffdf88c;transform:translateY(-5px);box-shadow:0 28px 80px #00000024}.info-card:hover:after{opacity:1}.info-card h2,.info-card p,.info-card small{z-index:1;position:relative}.info-card small{transition:transform .24s,color .24s,opacity .24s}.info-card:hover small{color:#fffdf8e6;transform:translate(4px)}.info-card:active{transform:translateY(-2px)}.location-card{position:relative}.location-image{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .35s,filter .35s;transform:scale(1)}.location-card:hover .location-image{filter:grayscale(80%);transform:scale(1.025);box-shadow:0 30px 90px #3f3a5229}.location-card:hover .location-button{background:var(--color-white);border-color:#3f3a527a;transform:translateY(-2px)}.location-button:active{transform:translateY(0)}.plan-section .section-kicker,.plan-section h2{opacity:0}.plan-section .section-kicker{transform:translateY(14px)}.plan-section h2{transform:translateY(18px)}.timeline-left .timeline-content{--from-x:-24px}.timeline-right .timeline-content{--from-x:24px}.timeline-content{transform:translate3d(var(--from-x), 10px, 0);transition:transform .32s,opacity .32s}.timeline-marker{opacity:0;transition:transform .3s,background .3s,border-color .3s,box-shadow .3s;transform:scale(.88)}.timeline-marker svg,.plan-icon-svg{transition:transform .3s,opacity .3s}.plan-visible .section-kicker{animation:1.1s cubic-bezier(.22,1,.36,1) 50ms forwards planFadeUp}.plan-visible h2{animation:1.2s cubic-bezier(.22,1,.36,1) .18s forwards planFadeUp}.timeline-item-visible{animation:1s cubic-bezier(.22,1,.36,1) forwards planItemReveal}.timeline-item-visible:before,.timeline-item-visible:after{animation:.95s cubic-bezier(.22,1,.36,1) forwards planSegmentReveal}.timeline-item-visible .timeline-content{animation:1.05s cubic-bezier(.22,1,.36,1) forwards planContentReveal}.timeline-item-visible .timeline-marker{animation:.95s cubic-bezier(.22,1,.36,1) forwards planMarkerReveal}.timeline-item-visible:hover .timeline-marker{background:#fffdf81c;border-color:#fffdf8b3;transform:scale(1.08);box-shadow:0 12px 32px #00000024}.timeline-item-visible:hover .timeline-marker svg,.timeline-item-visible:hover .plan-icon-svg{transform:scale(1.04)}.timeline-item-visible.timeline-left:hover .timeline-content{transform:translate(-4px)}.timeline-item-visible.timeline-right:hover .timeline-content{transform:translate(4px)}.timeline-time,.timeline-content h3,.timeline-content p{transition:color .3s,opacity .3s}.timeline-item-visible:hover .timeline-content p{color:#fffdf8d6}@keyframes planFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes planItemReveal{0%{opacity:0}to{opacity:1}}@keyframes planContentReveal{0%{transform:translate3d(var(--from-x), 10px, 0)}to{transform:translate(0,0)}}@keyframes planMarkerReveal{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes planSegmentReveal{0%{transform:translate(-50%)scaleY(0)}to{transform:translate(-50%)scaleY(1)}}.gift-section{padding:clamp(2.8rem,4.5vw,4rem) clamp(1.25rem,4vw,4rem)}.gift-inner{width:min(780px,100%)}.gift-kicker{letter-spacing:.095em;text-align:center;max-width:760px;margin:0 auto;font-size:clamp(2.8rem,5.2vw,4.8rem);line-height:.88}.gift-text{max-width:600px;margin:clamp(1rem,1.8vw,1.35rem) auto 0;font-size:.94rem;line-height:1.7}.gift-iban{max-width:600px;margin:clamp(1.6rem,2.8vw,2.2rem) auto 0;padding:1.15rem 0}.gift-iban span{letter-spacing:.26em;margin-bottom:.5rem;font-size:.62rem}.gift-iban strong{letter-spacing:.08em;font-size:clamp(1.25rem,2.25vw,1.75rem);line-height:1.15}.gift-iban small{margin-top:.45rem;font-size:.84rem}.gift-copy-button{min-height:40px;margin-top:1.05rem;padding:.7rem 1.35rem;font-size:.72rem}.gift-iban strong{font-variant-numeric:lining-nums;letter-spacing:.1em;font-family:Cormorant Garamond,serif;font-weight:600}@media (width<=900px){.info-modal{width:min(720px,100vw - 1.5rem);max-height:calc(100dvh - 1.5rem);padding:clamp(1.25rem,3vw,2.2rem)}.info-modal-heading{margin-bottom:1.5rem}.info-modal-heading h2{letter-spacing:.06em;font-size:clamp(2.2rem,7vw,4rem)}.info-modal-text p,.info-modal-note{font-size:.94rem;line-height:1.8}}@media (width<=820px){:root{--header-height:48px;--footer-height:86px}.site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.55rem;padding:.75rem .7rem}.header-nav-left{display:flex}.header-nav{flex-wrap:nowrap;gap:.65rem;min-width:0}.header-nav a{letter-spacing:.1em;white-space:nowrap;font-size:.58rem}.header-monogram{letter-spacing:.04em;white-space:nowrap;justify-self:center;font-size:clamp(.95rem,2.8vw,1.2rem)}.header-nav-right{justify-content:end}.header-rsvp{letter-spacing:.1em;white-space:nowrap;min-height:32px;padding:.48rem .75rem;font-size:.58rem}.hero-section{gap:1.3rem;min-height:auto;padding:3rem 1.5rem 4rem}.hero-gallery{grid-template-columns:1fr 1fr;gap:.9rem;width:min(620px,100%)}.hero-photo-main{aspect-ratio:1.28;background-position:36%;background-size:cover;border-radius:1rem;order:1;grid-column:1/-1;width:100%;height:auto}.hero-photo-left,.hero-photo-right{aspect-ratio:1.35;border-radius:.9rem;order:2;width:100%;height:auto;margin-top:0}.hero-date-block{top:6%}.hero-date-block p{letter-spacing:.085em;font-size:clamp(2.8rem,8vw,4.6rem)}.hero-text{max-width:520px;margin-top:.4rem;font-size:.95rem;line-height:1.7}.countdown-card,.countdown-overlay{min-height:440px}.countdown-section{padding:5rem 1.5rem}.countdown-inner{width:min(720px,100%)}.countdown-inner h2{letter-spacing:.08em;max-width:680px;margin:0 auto 3rem;font-size:clamp(3rem,7vw,5rem);line-height:.95}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.8rem}.countdown-grid div{min-height:auto;padding:0}.countdown-grid strong{font-size:clamp(3.2rem,8vw,5.2rem);line-height:.9}.countdown-grid span{letter-spacing:.18em;margin-top:.45rem;font-size:.58rem;display:block}.countdown-grid div:not(:last-child):after{display:none}.about-layout{grid-template-columns:1fr}.about-text{text-align:center}.locations-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:2rem}.location-image{aspect-ratio:4/3}.location-info h3{letter-spacing:.08em;font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.05}.location-info p{font-size:.78rem}.plan-section:before{background-position:100%}.timeline:before{left:50%;transform:translate(-50%)}.timeline-item{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.timeline-left .timeline-content{text-align:right;grid-column:1;justify-self:end;padding-right:.2rem}.timeline-right .timeline-content{text-align:left;grid-column:3;justify-self:start;padding-left:.2rem}.timeline-marker{grid-column:2;justify-self:center;place-items:center;width:48px;height:48px;display:grid}.timeline-marker svg{width:35px;height:35px;margin:0;display:block;transform:translateY(.5px)}.timeline-time{margin-bottom:.28rem;font-size:.95rem;line-height:1}.timeline-content h3{letter-spacing:.07em;margin-bottom:.25rem;font-size:clamp(1rem,2.9vw,1.35rem);line-height:1.05}.timeline-content p{font-size:.7rem;line-height:1.35}.rsvp-preview-inner h2{font-size:clamp(2.8rem,12vw,4.8rem);line-height:.95}.rsvp-preview-text{font-size:.93rem}.rsvp-preview-button{width:100%;max-width:280px}.rsvp-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.2rem;width:min(760px,100%);padding:1.6rem}.form-field-full,.rsvp-note,.rsvp-submit-area,.submit-error,.submit-success{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea,.rsvp-form .custom-select-trigger{height:48px;min-height:48px;padding:0 .95rem;font-size:.86rem}.form-field textarea{height:auto;min-height:92px;padding-top:.85rem}.form-field>span,.custom-select-field>span{letter-spacing:.16em;font-size:.62rem}.rsvp-submit-button{width:auto;min-width:230px}.rsvp-page-heading h1{font-size:clamp(2.8rem,12vw,4.8rem)}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem}.info-card{border-radius:.55rem;flex-direction:column;min-height:180px;padding:1.25rem 1.1rem;display:flex}.info-card span{display:none}.info-card h2{letter-spacing:.065em;font-size:clamp(1.25rem,3.7vw,1.8rem);line-height:1.08}.info-card p{margin-top:.7rem;font-size:.76rem;line-height:1.45}.info-card small{letter-spacing:.14em;align-self:flex-end;margin-top:auto;font-size:.58rem}.info-page-video{object-position:right center}.info-modal-backdrop{padding:1rem}.info-modal{border-radius:.75rem;width:min(680px,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:1.8rem 1.6rem 1.5rem}.info-modal-heading{text-align:center;margin-bottom:1.5rem;padding:0 3rem}.info-modal-heading h2{letter-spacing:.045em;word-break:normal;overflow-wrap:normal;max-width:100%;margin:0 auto;font-size:clamp(2rem,6vw,3.3rem);line-height:1}.info-modal-content{padding-right:.45rem}.info-modal-text p,.info-modal-note{font-size:.92rem;line-height:1.75}.info-modal-close{width:34px;height:34px;font-size:1.35rem;top:1rem;right:1rem}.info-schedule-item{grid-template-columns:72px 1fr;gap:.9rem}.info-schedule-item span{font-size:1.35rem}.info-schedule-item h3{letter-spacing:.055em;font-size:1.35rem}.info-schedule-item p{font-size:.84rem;line-height:1.65}.faq-question{padding:.95rem 1rem}.faq-question span{font-size:.88rem;line-height:1.45}.faq-answer p{font-size:.84rem;line-height:1.7}.gallery-page{padding:clamp(4rem,12vw,6rem) 1.25rem}.gallery-page-inner h1{font-size:clamp(3rem,14vw,5rem)}.site-footer{grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;height:86px;min-height:86px;padding:0 1.1rem;overflow:hidden}.footer-links{justify-self:start;gap:.22rem}.footer-links div{gap:.24rem}.footer-center{text-align:center;justify-self:center}.footer-contact{text-align:right;justify-self:end}.footer-thanks,.footer-contact p:first-child{display:none}.footer-brand{letter-spacing:.16em;white-space:nowrap;font-size:.5rem;line-height:1.25}.footer-links a,.footer-links span{letter-spacing:.09em;font-size:.44rem;line-height:1.25}.footer-contact p{white-space:nowrap;font-size:.44rem;line-height:1.35}.footer-contact span{margin:0 .12rem}.info-card:hover{transform:none}.info-card:active{transform:scale(.985)}.location-card:hover .location-image{filter:grayscale();transform:none}.location-card:hover .location-button{transform:none}.location-button:active{transform:scale(.98)}.timeline-left .timeline-content,.timeline-right .timeline-content{--from-x:0}.timeline-content{transform:translateY(16px)}.timeline-item-visible .timeline-content{animation-name:planFadeUp}}@media (width<=760px){.hero-section{gap:1.2rem;padding:2.4rem 1rem 3.5rem}.hero-gallery{grid-template-columns:1fr 1fr;gap:.75rem;width:min(620px,100%)}.hero-photo-main{aspect-ratio:1.08;background-position:36%;background-size:cover;border-radius:1rem;order:1;grid-column:1/-1;width:100%;height:auto}.hero-photo-left,.hero-photo-right{aspect-ratio:1.25;order:2;justify-self:stretch;width:100%;height:auto;margin-top:0}.hero-date-block{top:6%}.hero-date-block p{letter-spacing:.075em;font-size:clamp(2rem,12vw,3.4rem)}.hero-text{max-width:520px;margin-top:.5rem}}@media (width<=520px){:root{--header-height:48px;--footer-height:74px}.site-header{grid-template-columns:auto 1fr;gap:.55rem;padding:.65rem .55rem}.header-nav-left{display:none}.header-monogram{letter-spacing:.035em;justify-self:start;font-size:1rem}.header-nav-right{justify-self:end;gap:.5rem}.header-nav-right a:not(.header-rsvp){letter-spacing:.08em;font-size:.55rem}.header-rsvp{letter-spacing:.09em;background:var(--color-lilac-dark);min-height:32px;color:var(--color-white);border-color:#9b99c8b8;padding:.48rem .75rem;font-size:.55rem;box-shadow:0 8px 22px #3f3a5224}.location-info h3{font-size:clamp(1.9rem,10vw,2.6rem)}.location-button{width:100%;max-width:260px}.section-heading h2,.gift-card h2,.rsvp-preview-card h2{font-size:clamp(2.4rem,13vw,3.8rem)}.locations-section .section-heading h2{letter-spacing:.1em;white-space:nowrap;max-width:100%;font-size:clamp(2rem,9.4vw,2.75rem);line-height:1}.about-images{grid-template-columns:1fr}.countdown-section{padding:3.4rem .9rem}.countdown-inner{width:min(100%,430px)}.countdown-inner h2{letter-spacing:.08em;max-width:340px;margin:0 auto 2rem;font-size:clamp(1.65rem,7vw,2.35rem);line-height:1.05}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.35rem}.countdown-grid div{min-height:auto;padding:0}.countdown-grid strong{font-size:clamp(2.05rem,11vw,3.2rem);line-height:.9}.countdown-grid span{letter-spacing:.13em;margin-top:.35rem;font-size:clamp(.42rem,1.7vw,.56rem);display:block}.countdown-grid div:not(:last-child):after{display:none}.about-photo-tall,.about-photo-wide{height:260px}.gift-card,.rsvp-preview-card{border-radius:1.4rem}.rsvp-page{padding:3.5rem 1rem}.rsvp-form{padding:1rem}.form-field input,.form-field select,.form-field textarea{padding:.85rem}.rsvp-submit-button{width:100%}.outline-page-button{width:100%;max-width:280px}.gallery-actions{flex-direction:column;align-items:center}.gallery-button{width:100%;max-width:280px}.gallery-note{font-size:.8rem}.info-page{min-height:calc(100dvh - var(--header-height) - var(--footer-height));background-position:92%;padding:3.2rem 1rem}.info-page-video{z-index:1;object-fit:cover;object-position:85% center;filter:grayscale();pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.02)}.info-page-inner{width:100%}.info-page-inner .section-kicker{margin-bottom:.75rem;font-size:.7rem}.info-page-inner h1{letter-spacing:.06em;white-space:nowrap;max-width:100%;font-size:clamp(2.35rem,11vw,3.1rem);line-height:.95;overflow:hidden}.info-page-inner>p:not(.section-kicker){max-width:300px;font-size:.78rem;line-height:1.55}.info-card h2{letter-spacing:.06em;font-size:clamp(.9rem,4.4vw,1.15rem);line-height:1.08}.info-card p{margin-top:.55rem;font-size:.62rem;line-height:1.35}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:2.4rem}.info-card{border-radius:.45rem;flex-direction:column;min-height:150px;padding:1rem .85rem;display:flex}.info-card small{letter-spacing:.14em;align-self:flex-end;margin-top:auto;font-size:.54rem}.info-card span{display:none}.info-modal-backdrop{padding:.6rem}.info-modal{border-radius:.65rem;width:calc(100vw - 1.2rem);max-height:calc(100dvh - 1.2rem);padding:1.35rem 1rem 1.25rem}.info-modal-heading{text-align:center;margin-bottom:1.25rem;padding:0 2.4rem 0 1rem}.info-modal-heading h2{letter-spacing:.035em;word-break:normal;overflow-wrap:anywhere;max-width:100%;margin:0 auto;font-size:clamp(1.55rem,7.8vw,2.25rem);line-height:1.02}.info-modal-close{width:31px;height:31px;font-size:1.25rem;top:.85rem;right:.85rem}.info-modal-content{padding-right:.4rem}.info-modal-text p,.info-modal-note{font-size:.86rem;line-height:1.7}.info-schedule-item{grid-template-columns:1fr;gap:.35rem}.faq-question{padding:.95rem}.hero-gallery{grid-template-columns:1fr 1fr;gap:.7rem;width:100%}.hero-photo-main{aspect-ratio:1.08;background-position:70% 35%;background-size:145%;border-radius:1rem;order:1;grid-column:1/-1;width:100%;height:auto}.hero-photo-left,.hero-photo-right{aspect-ratio:1.25;order:2;width:100%;height:auto;margin-top:0}.hero-date-block{top:6%}.hero-date-block p{letter-spacing:.075em;font-size:clamp(2rem,12vw,3.4rem)}.plan-section,.plan-section:before{background-position:90%}.plan-section .section-heading h2,.plan-section h2{letter-spacing:.08em;font-size:clamp(2.2rem,11vw,3.2rem);line-height:.95}.timeline:before{left:50%;transform:translate(-50%)}.timeline-item{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);align-items:center;gap:.45rem;display:grid}.timeline-left .timeline-content{text-align:right;grid-column:1;justify-self:end;padding-right:.15rem}.timeline-right .timeline-content{text-align:left;grid-column:3;justify-self:start;padding-left:.15rem}.timeline-marker{grid-column:2;justify-self:center;place-items:center;width:42px;height:42px;display:grid}.timeline-content p{font-size:.58rem;line-height:1.35}.timeline-marker{place-items:center;display:grid}.timeline-marker svg{flex-shrink:0;width:35px;height:35px;margin:0;display:block}.custom-select-trigger{min-height:48px;padding:.85rem .95rem;font-size:.9rem}.custom-select-option{padding:.8rem .85rem;font-size:.9rem}.site-footer{grid-template-columns:1fr auto 1fr;align-items:center;gap:.35rem;height:74px;min-height:74px;padding:0 .55rem;overflow:hidden}.footer-links{order:initial;justify-self:start;gap:.14rem}.footer-links div{justify-content:flex-start;gap:.16rem}.footer-center{order:initial;text-align:center;justify-self:center}.footer-contact{order:initial;text-align:right;justify-self:end}.footer-thanks,.footer-contact p:first-child{display:none}.footer-brand{letter-spacing:.1em;white-space:nowrap;font-size:.4rem;line-height:1.2}.footer-links a,.footer-links span{letter-spacing:.055em;font-size:.36rem;line-height:1.25}.footer-contact p{white-space:nowrap;font-size:.36rem;line-height:1.25}.info-card:hover{transform:none}.info-card:active{transform:scale(.985)}.location-card:hover .location-image{filter:grayscale();transform:none}.location-card:hover .location-button{transform:none}.location-button:active{transform:scale(.98)}.timeline-left .timeline-content,.timeline-right .timeline-content{--from-x:0}.timeline-content{transform:translateY(16px)}.timeline-item-visible .timeline-content{animation-name:planFadeUp}.locations-section{padding:3.6rem .8rem 4rem}.locations-section .section-heading{margin-bottom:2rem}.locations-section .section-heading h2{letter-spacing:.08em;white-space:nowrap;font-size:clamp(2.25rem,11vw,3rem);line-height:1}.locations-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.05rem;width:100%;max-width:390px}.location-card{gap:.85rem;min-width:0}.location-image{aspect-ratio:1/.78;background-position:50%;background-size:cover;border-radius:.42rem}.location-type{letter-spacing:.2em;margin:0 0 .45rem;font-size:.54rem;line-height:1}.location-info h3{letter-spacing:.055em;word-break:normal;max-width:100%;font-size:clamp(1.52rem,7.5vw,2rem);line-height:.95}.location-info p:not(.location-type){margin:.55rem 0 .9rem;font-size:.68rem;line-height:1.35}.location-button{letter-spacing:.14em;width:100%;max-width:172px;min-height:36px;padding:.6rem .55rem;font-size:.58rem}.locations-layout{align-items:stretch}.location-card{grid-template-rows:auto 1fr;height:100%;display:grid}.location-info{grid-template-rows:auto 5.8rem 1.5rem auto;place-items:start center;height:100%;display:grid}.location-type{grid-row:1}.location-info h3{grid-row:2;justify-content:center;align-items:center;min-height:5.8rem;display:flex}.location-info p:not(.location-type){grid-row:3;justify-content:center;align-items:center;min-height:1.5rem;margin:0;display:flex}.location-button{grid-row:4;place-self:start center;margin-top:.8rem}.gift-section{padding:2.8rem 1rem}.gift-kicker{letter-spacing:.065em;font-size:clamp(2.05rem,9.5vw,3rem);line-height:.95}.gift-text{max-width:320px;margin-top:1rem;font-size:.8rem;line-height:1.6}.gift-iban{margin-top:1.5rem;padding:1rem 0}.gift-iban span{letter-spacing:.22em;margin-bottom:.45rem;font-size:.55rem}.gift-iban strong{letter-spacing:.045em;font-size:clamp(1.15rem,5.8vw,1.65rem);line-height:1.15}.gift-iban small{margin-top:.4rem;font-size:.72rem}.gift-copy-button{width:100%;max-width:260px;min-height:38px;margin-top:1rem;font-size:.62rem}.gallery-page{padding:2.8rem 1rem}.gallery-page-inner h1{letter-spacing:.08em;margin-bottom:.9rem;font-size:clamp(2.7rem,13vw,4rem)}.gallery-page-inner>p:not(.section-kicker):not(.gallery-note){max-width:320px;font-size:.8rem;line-height:1.6}.gallery-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;width:100%;max-width:340px;margin-top:1.35rem}.gallery-qr-card{border-radius:.48rem;grid-template-rows:auto 2.1rem auto auto;padding:.7rem .55rem}.gallery-qr-placeholder,.gallery-qr-image{border-radius:.34rem;width:88px;margin-bottom:.65rem}.gallery-qr-placeholder span{font-size:1.25rem}.gallery-qr-card h2{letter-spacing:.06em;font-size:.9rem;line-height:1}.gallery-qr-card p{margin-top:.25rem;font-size:.55rem;line-height:1.35}.gallery-qr-card small{letter-spacing:.1em;margin-top:.55rem;font-size:.42rem}.gallery-info-card{border-radius:.48rem;max-width:340px;margin-top:1.1rem;padding:.8rem}.gallery-info-card p{font-size:.66rem;line-height:1.55}.timeline{gap:2.9rem}.timeline-item{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:.55rem}.timeline-content{max-width:145px}.timeline-time{margin-bottom:.3rem;font-size:.95rem;line-height:1}.timeline-content h3{letter-spacing:.065em;margin-bottom:.28rem;font-size:1.02rem;line-height:1.05}.timeline-content p{max-width:145px;font-size:.72rem;line-height:1.35}.timeline-item:last-child .timeline-content p{max-width:135px}.timeline-marker{width:46px;height:46px}.timeline-marker svg{width:36px;height:36px}.footer-contact p{letter-spacing:.015em;font-size:.46rem;line-height:1.35}.footer-contact span{margin:0 .1rem}}
