@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Tenor+Sans&family=Italianno&family=Tangerine:wght@700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.border{border-width:1px}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-widest{letter-spacing:.1em}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--cream: #ffffff;--cream-2: #ffffff;--cream-3: #fff9fa;--sage: #a50034;--sage-dark: #800028;--sage-deep: #5a001c;--sage-light: #f3b6c5;--sage-pale: #fff0f3;--sage-border: #ffdce3;--gold: #a50034;--gold-light: #d96684;--gold-pale: #ffdce3;--text-dark: #1c1c1e;--text-mid: #3a3a3c;--text-light: #a50034;--border: #ffdce3;--white: #fff;--shadow: 0 24px 64px -12px rgba(165, 0, 52, .12);--shadow-sm: 0 8px 24px rgba(165, 0, 52, .06);--shadow-md: 0 16px 48px -8px rgba(165, 0, 52, .1);--font-display: "Playfair Display", "Cormorant Garamond", Georgia, serif;--font-body: "Cormorant Garamond", Georgia, serif;--font-sans: "Tenor Sans", sans-serif;--font-script: "Italianno", cursive}img{transition:filter .5s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent!important}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--cream);color:var(--text-dark);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow-x:clip}img,video{-webkit-user-drag:none;user-drag:none;pointer-events:none;max-width:100%;display:block}button{cursor:pointer;background:none;border:none;font-family:inherit;outline:none!important}a{color:inherit;text-decoration:none}input,select,textarea{font-family:inherit;outline:none}@media (max-width: 768px){html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}}.gate-container-wrapper{--color-ivory: #FDFBF7;--color-ivory-dark: #F3EFE9;--color-deep-forest: #2D3A2F;--color-sage: #5F6D54;--color-sage-dark: #3E4A35;--color-gold: #C5A059;--color-gold-light: #E6C998;--color-gold-dark: #9C7B43;--color-door-bg: #2D1F1B;--color-door-border: #42302A;--font-serif-cormorant: "Cormorant Garamond", serif;--font-serif-playfair: "Playfair Display", serif;--font-sans: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999}.gate-container-wrapper .screen{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:100000;transition:opacity 1s cubic-bezier(.25,1,.5,1),transform 1s cubic-bezier(.25,1,.5,1);background-color:var(--color-ivory);opacity:1;transform:scale(1)}.gate-container-wrapper .screen.hidden{opacity:0;pointer-events:none;transform:scale(1.05)}.gate-container-wrapper #screen-welcome{z-index:100001;background:radial-gradient(circle,#a50034,#5a001c)}.gate-container-wrapper .welcome-message-content{animation:gateFadeInUp 1s ease-out forwards}@keyframes gateFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gate-container-wrapper #screen-envelope{z-index:100003}.gate-container-wrapper .envelope-header{margin-bottom:3rem;z-index:10;animation:gateFadeInDown 1s ease-out;color:#8a4f4c}@keyframes gateFadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.gate-container-wrapper .envelope-wrapper{perspective:1200px;width:320px;height:220px;position:relative;z-index:10;animation:gateFadeInUp 1.2s ease-out}.gate-container-wrapper .envelope{position:relative;width:100%;height:100%;background:linear-gradient(135deg,#a50034,#7a0026);border-radius:15px;box-shadow:0 15px 35px #00000026;transform-style:preserve-3d;transition:transform .6s ease}.gate-container-wrapper .flap{position:absolute;width:100%;height:100%;top:0;left:0}.gate-container-wrapper .back-flap{background:#7a0026;border-radius:15px;z-index:1}.gate-container-wrapper .top-flap{height:60%;background:linear-gradient(to bottom,#d96684,#a50034);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:20;transition:transform .6s cubic-bezier(.4,0,.2,1);transition-delay:.8s;filter:drop-shadow(0px 3px 5px rgba(0,0,0,.15));transform:rotateX(0) translateZ(4px);border-radius:15px}.gate-container-wrapper .left-flap{background:linear-gradient(to bottom,#d96684,#7a0026);clip-path:polygon(0 0,0 100%,53% 50%);z-index:15;transform:translateZ(3px);border-radius:15px}.gate-container-wrapper .right-flap{background:linear-gradient(to bottom,#d96684,#7a0026);clip-path:polygon(100% 0,100% 100%,47% 50%);z-index:15;transform:translateZ(3px);border-radius:15px}.gate-container-wrapper .bottom-flap{background:linear-gradient(to bottom,#8a022b,#7a0026);clip-path:polygon(0 100%,100% 100%,50% 50%);z-index:16;filter:drop-shadow(0px -2px 3px rgba(0,0,0,.08));transform:translateZ(3px);border-radius:15px}.gate-container-wrapper .invitation-card{position:absolute;width:92%;height:88%;bottom:6px;left:4%;background-color:var(--color-ivory);border:1px solid var(--color-ivory-dark);border-radius:4px;z-index:5;padding:16px;transform:translateY(0) translateZ(2px);transition:transform .8s cubic-bezier(.19,1,.22,1);transition-delay:0s}.gate-container-wrapper .card-border{border:1px dashed var(--color-gold);height:100%;width:100%;display:flex;align-items:center;justify-content:center;padding:10px}.gate-container-wrapper .card-content{width:100%}.gate-container-wrapper .divider{height:1px;background-color:var(--color-gold);width:60%;margin:8px auto;opacity:.5}.gate-container-wrapper .card-lines{display:flex;flex-direction:column;gap:6px;margin-top:12px;opacity:.35}.gate-container-wrapper .card-line,.gate-container-wrapper .card-line-short,.gate-container-wrapper .card-line-shorter{height:2px;background-color:var(--color-deep-forest);border-radius:1px;width:80%;margin:0 auto}.gate-container-wrapper .card-line-short{width:60%}.gate-container-wrapper .card-line-shorter{width:40%}.gate-container-wrapper .wax-seal-wrapper{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%) translateZ(5px);z-index:30;cursor:pointer;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s ease}.gate-container-wrapper .wax-seal{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,#fff,#fcfcfc);box-shadow:0 4px 10px #00000026,inset 0 2px 4px #ffffff80;display:flex;align-items:center;justify-content:center;border:1px solid rgba(165,0,52,.15)}.gate-container-wrapper .seal-inner{width:46px;height:46px;border-radius:50%;border:1px dashed #a50034;display:flex;align-items:center;justify-content:center}.gate-container-wrapper .seal-text{color:#a50034;font-family:var(--font-serif-playfair);font-weight:700;font-size:1.1rem;letter-spacing:.5px;text-shadow:none}.gate-container-wrapper .seal-ripple{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;border:2px solid #a50034;pointer-events:none;animation:gateRipple 2s infinite}@keyframes gateRipple{0%{transform:scale(.95);opacity:.8}to{transform:scale(1.6);opacity:0}}.gate-container-wrapper .envelope.open .top-flap{transform:rotateX(180deg) translateZ(1px);z-index:2;transition-delay:0s}.gate-container-wrapper .envelope.open .invitation-card{transform:translateY(-68%) translateZ(2px);transition-delay:.6s}.gate-container-wrapper .envelope.open .wax-seal-wrapper{transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none}.gate-container-wrapper #screen-doors{z-index:100002;background-color:transparent}.gate-container-wrapper .door-panel{position:absolute;top:0;width:50%;height:100%;background:linear-gradient(135deg,#a50034cc,#5a001cbf);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 0 40px #00000040;transition:transform 1.5s cubic-bezier(.77,0,.175,1);overflow:hidden;display:flex;align-items:center;border:1px solid rgba(255,255,255,.15);will-change:transform;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden}.gate-container-wrapper .door-left{left:0;border-right:2px solid rgba(255,255,255,.3);justify-content:flex-end}.gate-container-wrapper .door-right{right:0;border-left:2px solid rgba(255,255,255,.3);justify-content:flex-start}.gate-container-wrapper .door-inner-border{position:absolute;top:5%;bottom:5%;left:10%;right:10%;border:1px solid rgba(255,255,255,.12);border-radius:4px;pointer-events:none}.gate-container-wrapper .door-left .door-inner-border{right:5%}.gate-container-wrapper .door-right .door-inner-border{left:5%}.gate-container-wrapper .door-handle{width:8px;height:120px;background:linear-gradient(to right,#fff,#f0f0f0,#e0e0e0);border-radius:4px;box-shadow:0 4px 12px #00000040;position:relative;z-index:10}.gate-container-wrapper .left-handle{margin-right:15px}.gate-container-wrapper .right-handle{margin-left:15px}.gate-container-wrapper .door-handle:before,.gate-container-wrapper .door-handle:after{content:"";position:absolute;left:-4px;width:16px;height:4px;background:#fff}.gate-container-wrapper .door-handle:before{top:15px}.gate-container-wrapper .door-handle:after{bottom:15px}.gate-container-wrapper #screen-doors.open .door-left{transform:translate(-100%)}.gate-container-wrapper #screen-doors.open .door-right{transform:translate(100%)}#main-content{visibility:hidden;opacity:0;transition:opacity .8s;overflow:visible}#main-content.visible{visibility:visible;opacity:1}.sec-label{font-family:var(--font-sans);letter-spacing:.4em;text-transform:uppercase;text-align:center;margin-bottom:.75rem;font-size:.75rem;font-weight:400;display:block}.sec-heading{font-family:var(--font-display);color:var(--sage-dark);text-align:center;margin-bottom:.5rem;font-size:clamp(2.8rem,9vw,4.5rem);line-height:1.1}.shimmer{background:linear-gradient(105deg,var(--sage-deep) 15%,var(--sage-dark) 30%,var(--sage) 45%,var(--sage-light) 55%,var(--sage-dark) 70%,var(--sage-deep) 85%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:shimmer 4.5s linear infinite}@keyframes shimmer{to{background-position:200%}}#hero{background:var(--cream-2);display:flex;justify-content:center;align-items:center;min-height:100dvh;padding:3rem 1rem 6rem;position:relative;overflow:hidden}#hero:before{content:"";background:radial-gradient(ellipse 120% 80% at 50% 0%,rgba(226,180,177,.18) 0%,transparent 65%);position:absolute;top:0;right:0;bottom:0;left:0}.hero-corner{z-index:2;pointer-events:none;position:absolute;top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.hero-corner:before,.hero-corner:after,.hero-corner span:before,.hero-corner span:after{content:"";border-style:solid;border-color:var(--gold);opacity:.7;width:54px;height:54px;position:absolute}.hero-corner:before{border-width:2px 0 0 2px;top:0;left:0}.hero-corner:after{border-width:2px 2px 0 0;top:0;right:0}.hero-corner span:before{border-width:0 0 2px 2px;bottom:0;left:0}.hero-corner span:after{border-width:0 2px 2px 0;bottom:0;right:0}.hero-card{z-index:3;-webkit-backdrop-filter:blur(18px);width:100%;max-width:620px;text-align:center;background:#ffffff1a;display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:clamp(1.5rem,3vw,2rem) clamp(1.75rem,5vw,2.5rem);position:relative;overflow:visible;opacity:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 8px 32px #0000005e}.hero-icon{color:#fff;width:70px;height:70px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(212,175,55,.4));flex-shrink:0;animation:float 4s ease-in-out infinite}.god-quote{font-family:var(--font-body);color:#b3b0b0;letter-spacing:.04em;text-align:center;max-width:90%;font-size:1.05rem;font-style:italic;line-height:1.5}.intro-text{font-family:var(--font-body);color:#fff;letter-spacing:.02em;text-align:center;max-width:95%;font-size:1.1rem;font-style:italic;line-height:1.6}.couple-name{color:#ffffffb3;font-family:Segoe Script;text-align:center;letter-spacing:.02em;width:100%;font-size:clamp(2.5rem,12vw,5rem);font-weight:400;line-height:1.35;display:block}.amp-row{display:flex;justify-content:center;align-items:center;gap:1rem;width:100%}.amp-line{background:var(--border);width:44px;height:1px}.amp{color:#fff;font-family:Tangerine,cursive;font-size:2.6rem;font-weight:700;line-height:1}.parent-sub{font-family:var(--font-body);color:#fff;text-align:center;max-width:95%;font-size:1rem;font-style:italic;font-weight:500;line-height:1.5}.scroll-indicator{z-index:10;opacity:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);animation:fadeIn 1.5s 1.5s forwards}.scroll-indicator span{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-light)}.scroll-indicator svg{color:var(--sage-dark);animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes fadeIn{to{opacity:1}}.scratch-section{background:radial-gradient(circle at top,rgba(255,247,234,.9),transparent 42%),linear-gradient(180deg,#fbf6f0,#fff9f4);text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:3rem 1rem 1rem}.scratch-title-sub{font-family:var(--font-sans);letter-spacing:.45em;color:#a50034;text-transform:uppercase;margin-bottom:.75rem;font-size:.85rem;display:block}.scratch-title{font-family:var(--font-display);color:#a50034;margin-bottom:.75rem;font-size:clamp(3rem,9vw,4.6rem);line-height:1.02}.scratch-desc{font-family:var(--font-body);color:#b55e71;margin-bottom:3rem;font-size:1.05rem;max-width:40rem;line-height:1.8}.date-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.4rem;justify-items:center;width:min(100%,48rem)}.date-card{width:100%;min-width:120px;height:170px;border-radius:2rem;overflow:hidden;box-shadow:0 30px 110px #643e221a;border:1px solid rgba(252,226,191,.45);background:linear-gradient(180deg,#fcf4ebf5,#f7e5cae6);display:flex;justify-content:center;align-items:center;padding:1.2rem;transition:transform .35s ease,border-color .35s ease}.date-card:hover{transform:translateY(-6px);border-color:#d0904499}.date-card-value{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,3rem);color:#6b4d44;text-align:center}.countdown-wrapper{display:grid;gap:2rem;margin-top:3rem;width:min(100%,46rem)}.date-summary{background:#fff;border:1px solid rgba(165,0,52,.25);border-radius:2rem;padding:1.8rem 2rem;box-shadow:0 28px 90px #a5003414}.date-summary__label{display:block;font-family:var(--font-sans);color:#800028;letter-spacing:.35em;text-transform:uppercase;font-size:.78rem;margin-bottom:1rem}.date-summary__value{display:block;font-family:var(--font-display);color:#5a001c;font-size:clamp(2.4rem,6vw,3.6rem);line-height:1.05;margin-bottom:.8rem}.date-summary__couple{display:block;font-family:var(--font-body);color:#800028;font-size:1rem;line-height:1.8}.summary-scratch-wrapper{position:relative;width:min(100%,46rem);margin:0 auto 2rem}.summary-scratch-wrapper .date-summary{border-radius:1.6rem;padding:2rem 2.2rem}.summary-scratch-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair}.date-summary.revealed{box-shadow:0 36px 120px #56311c14;border-color:#d4aa6c73}.shimmer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,#ffffff0f,#ffffff2e,#ffffff0f);transform:translate(-100%);animation:shimmer 2.6s linear infinite;mix-blend-mode:overlay}.scratch-canvas,.summary-scratch-canvas{z-index:3}@keyframes shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}.scratch-canvas,.summary-scratch-canvas{touch-action:none}.countdown-wrapper{position:relative;width:calc(100% + 2rem);margin-left:-1rem;margin-right:-1rem;margin-top:3rem;overflow:hidden;perspective:1000px;transform-style:preserve-3d;box-shadow:inset 0 20px 40px #00000073,inset 0 -20px 40px #00000073;view-timeline:--countdown-wrapper block;padding:5rem 1rem}.countdown-wrapper-bg{position:absolute;top:-15%;left:0;width:100%;height:130%;background-size:cover;background-position:center;z-index:1;transform:scale(1.15)}@supports ((animation-timeline: view()) and (animation-range: entry)){@keyframes countdownBgParallax{0%{transform:translateY(-50px) rotateX(6deg) scale(1.1)}to{transform:translateY(50px) rotateX(-6deg) scale(1.28)}}.countdown-wrapper-bg{animation:countdownBgParallax linear both;animation-timeline:--countdown-wrapper;animation-range:entry 0% exit 100%}}.countdown-wrapper-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0804068c,#080406b8);z-index:2}.cd-card{position:relative;z-index:3;max-width:460px;text-align:center;margin:0 auto;padding:3rem 2rem;background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 8px 32px #1f26875e}.cd-quote{color:#b2afaf;margin-bottom:.5rem;font-size:1.15rem;font-style:italic;line-height:1.65}.cd-script{font-family:var(--font-display);color:#d68b8b;margin-bottom:.25rem;font-size:clamp(2rem,7vw,3rem);line-height:1.2;display:block}.cd-date{font-family:var(--font-sans);letter-spacing:.25em;text-transform:uppercase;color:#a7a4a4;margin-top:1.25rem;margin-bottom:2.5rem;font-size:.85rem;font-weight:400;display:block}.cd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.cd-unit{display:flex;flex-direction:column;align-items:center;gap:.4rem}.cd-num{font-family:var(--font-body);color:#bebcbc;font-size:clamp(2.6rem,9vw,3.4rem);font-weight:300;line-height:1;position:relative}.cd-num:after{content:"";background:linear-gradient(to right,transparent,var(--sage-light),transparent);height:1px;position:absolute;bottom:0;left:0;right:0}.cd-lbl{font-family:var(--font-sans);letter-spacing:.25em;text-transform:uppercase;color:#b0aeae;font-size:.65rem;font-weight:400}.story-stack-container{padding-bottom:10vh;position:relative}.story-card-wrapper{position:sticky;top:10vh;display:flex;justify-content:center;will-change:transform,opacity}.story-polaroid{background:#fff;border-radius:4px;display:flex;flex-direction:column;width:85vw;max-width:400px;height:480px;padding:15px 15px 60px;position:relative;box-shadow:0 15px 35px #0000001a,0 5px 15px #0000000d}.story-polaroid img{-o-object-fit:cover;object-fit:cover;border-radius:2px;width:100%;height:100%;pointer-events:auto}.story-polaroid-caption{text-align:center;width:100%;font-family:var(--font-display);color:var(--sage-deep);font-size:1.8rem;position:absolute;bottom:18px;left:0}.story-section{position:relative;overflow:hidden;background:radial-gradient(circle at top,rgba(255,245,236,.95),transparent 48%),linear-gradient(180deg,#fff8f1,#fef0e6);padding:6.5rem 1rem 7rem;text-align:center}.story-intro{max-width:44rem;margin:0 auto 2rem;font-size:1.05rem;color:#7b5f51;line-height:1.82;font-family:var(--font-body)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.8rem;margin-top:3rem}.photo-card{overflow:hidden;border-radius:2.4rem;box-shadow:0 36px 112px #2312082b;background:linear-gradient(180deg,#fff9f2fa,#fef5eefa);border:1px solid rgba(246,217,171,.35);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.photo-card:hover{transform:translateY(-9px);box-shadow:0 44px 126px #2312083d;border-color:#d4aa6c8c}.photo-card-image{position:relative;overflow:hidden;border-bottom:1px solid rgba(234,205,161,.24)}.photo-card-image img{width:100%;display:block;aspect-ratio:4 / 5;-o-object-fit:cover;object-fit:cover;transition:transform .45s ease}.photo-card:hover .photo-card-image img{transform:scale(1.06)}.photo-card-caption{padding:1.4rem 1.45rem 1.65rem;font-family:var(--font-body);font-size:1rem;color:#624c44;letter-spacing:.01em;line-height:1.85;position:relative}.photo-card-caption:before{content:"◆";position:absolute;top:.55rem;left:1.4rem;color:#c69b60;font-size:1.2rem}.events-stack{display:flex;flex-direction:column;align-items:center}.event-card{will-change:transform,opacity}.event-invite-frame{aspect-ratio:9 / 16;border:1px solid var(--border);max-width:420px;max-height:min(85vh,680px);box-shadow:var(--shadow-sm);border-radius:1rem;position:relative;overflow:hidden;margin:0 auto}.event-invite-bg{-o-object-fit:cover;object-fit:cover;-o-object-position:center bottom;object-position:center bottom;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.event-invite-overlay{text-align:center;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:18% 1rem 15%;position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(255,255,255,.3) 0%,transparent 30%,transparent 60%,rgba(255,255,255,.5) 100%)}.event-invite-overlay.dark{background:linear-gradient(to bottom,rgba(0,0,0,.25) 0%,transparent 30%,transparent 50%,rgba(0,0,0,.55) 100%)}.event-invite-title{font-family:var(--font-display);letter-spacing:.01em;color:var(--sage-deep);text-shadow:0 1px 8px #fff9;flex-shrink:0;font-size:clamp(2rem,7vw,2.8rem);font-weight:400;line-height:1.1}.event-invite-title.dark-text{color:#f5ecd4;text-shadow:0 2px 18px #00000073,0 0 36px #d4af3747}.event-invite-time{font-family:var(--font-body);letter-spacing:.06em;flex-shrink:0;margin-top:clamp(.25rem,2vw,.5rem);font-size:clamp(.95rem,3.2vw,1.1rem);font-weight:600}.event-invite-time.dark-text{color:#fffffff2;text-shadow:0 1px 12px #00000059}.event-invite-tagline{font-family:var(--font-body);font-style:italic;margin-top:auto;padding:0 .5rem;font-size:clamp(.9rem,3vw,1.05rem);line-height:1.4}.event-invite-tagline.dark-text{color:#f5ecd4;text-shadow:0 1px 8px #00000059}.event-invite-dresscode{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem}.dresscode-swatches{display:flex;gap:.5rem}.dresscode-swatch{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px #0000002e}.dresscode-names{font-family:var(--font-sans);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.dresscode-names.dark-text{color:#f5ecd4}.dresscode-note{font-family:var(--font-body);font-style:italic;font-size:.8rem;color:var(--text-mid)}.dresscode-note.dark-text{color:#f5ecd4cc}.event-invite-venue{font-family:var(--font-sans);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;margin-top:.75rem;padding:0 .5rem}.event-invite-venue.dark-text{color:#f5ecd4}.venue-card{background:var(--white);border:1px solid var(--sage-border);max-width:760px;box-shadow:var(--shadow-md);text-align:center;border-radius:1.5rem;margin:3rem auto 0;padding:2.5rem 2rem;position:relative}.venue-map-wrapper{border-radius:1.25rem;overflow:hidden;margin:1.5rem auto;width:100%;max-width:720px;min-height:320px;box-shadow:inset 0 0 0 1px #b7916d1f}.venue-map-wrapper iframe{width:100%;min-height:320px;border:0}.venue-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--sage-deep);color:#fff;padding:.8rem 1.8rem;border-radius:2rem;font-family:var(--font-sans);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.venue-btn:hover{filter:brightness(1.1)}.venue-btn:active{transform:scale(.95)}.rsvp-form{max-width:460px;margin:0 auto;text-align:left}.evt-details{text-align:center;background:#fff;border:1px solid #c8a06e26;border-radius:1rem;display:flex;flex-direction:column;justify-content:center;min-height:280px;padding:3rem 2rem;box-shadow:0 4px 24px #0000000a}.rsvp-input{width:100%;padding:.5rem 0;border:none;border-bottom:1px solid #dcd1c4;background:transparent;font-size:1.1rem;color:#333;outline:none;font-family:var(--font-body)}.rsvp-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#8a4f4c;margin-bottom:.5rem;font-weight:600}.btn-micro{display:block;border-radius:2rem;padding:1rem;text-align:center;margin-bottom:1rem;cursor:pointer;transition:all .3s;font-family:var(--font-body);font-size:1rem;letter-spacing:.1em;text-transform:uppercase}.btn-micro:active{transform:scale(.95)}.rsvp-select{width:100%;padding:.8rem;border:1px solid #dcd1c4;border-radius:.5rem;background:#fff;font-size:1rem;color:#333;font-family:var(--font-body)}.rsvp-submit{width:100%;background:#8a4f4c;color:#fff;padding:1.2rem;border-radius:2rem;font-family:var(--font-sans);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;transition:all .2s}.rsvp-submit:active{transform:scale(.97)}.song-result{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.5rem;cursor:pointer;transition:background .2s}.song-result:hover{background:#f7dcda40}.song-result img{width:40px;height:40px;border-radius:.25rem;pointer-events:auto}.footer-section{background:#a50034;padding:5rem 1.5rem 3rem;text-align:center;position:relative}.footer-msg{font-family:var(--font-body);color:#fff;max-width:580px;margin:0 auto 2.5rem;font-size:1.15rem;font-style:italic;line-height:1.75}.footer-name{font-family:var(--font-display);color:#ffffff3b;margin:1.5rem 0;font-size:clamp(3.5rem,10vw,5rem);line-height:1.1;display:block}.footer-credit{color:#ffffffbf;opacity:.85;border-top:1px solid rgba(255,255,255,.15);margin-top:3.5rem;padding-top:1.5rem;font-size:.8rem;font-family:var(--font-sans);letter-spacing:.15em}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}.reveal-d4{transition-delay:.4s}.music-toggle{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;width:48px;height:48px;border-radius:50%;background:var(--sage-deep);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:all .2s}.music-toggle:hover{filter:brightness(1.1)}.music-toggle:active{transform:scale(.92)}.music-toggle.playing svg{animation:spin 3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#petals-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100004}.fade-in{animation:fadeIn .5s ease forwards}.hero-parallax-bg{position:absolute;top:0;left:0;width:100%;height:135%;background-size:cover;background-position:center 30%;z-index:1;transform:scale(1.15)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#08040680,#383536ad 60%,#080406d9);z-index:2}#hero{view-timeline:--hero block;position:relative;overflow:hidden;perspective:1000px;transform-style:preserve-3d}@supports ((animation-timeline: view()) and (animation-range: entry)){@keyframes heroParallaxMove{0%{transform:translateY(0) rotateX(8deg) scale(1.1)}to{transform:translateY(160px) rotateX(-8deg) scale(1.35)}}.hero-parallax-bg{animation:heroParallaxMove linear both;animation-timeline:--hero;animation-range:exit 0% exit 100%}}.parallax-divider-wrapper{position:relative;height:380px;overflow:hidden;display:flex;justify-content:center;align-items:center;border-top:1px solid rgba(220,185,127,.2);border-bottom:1px solid rgba(220,185,127,.2);view-timeline:--parallax-divider block;perspective:1000px;transform-style:preserve-3d}.parallax-divider-bg{position:absolute;top:-15%;left:0;width:100%;height:130%;background-size:cover;background-position:center 30%;z-index:1;transform:scale(1.15)}@supports ((animation-timeline: view()) and (animation-range: entry)){@keyframes parallaxMove{0%{transform:translateY(-80px) rotateX(8deg) scale(1.1)}to{transform:translateY(80px) rotateX(-8deg) scale(1.35)}}.parallax-divider-bg{animation:parallaxMove linear both;animation-timeline:--parallax-divider;animation-range:entry 0% exit 100%}}.parallax-divider-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#080406a6,#0804064d,#080406a6);z-index:2}.parallax-divider-content{position:relative;z-index:3;text-align:center;padding:1rem}.parallax-script{font-family:var(--font-script);font-size:clamp(2.2rem,6vw,3.2rem);color:#d68b8b;text-shadow:0 3px 12px rgba(0,0,0,.7);display:block;margin-bottom:.5rem}.parallax-title{font-family:var(--font-display);font-size:clamp(1.6rem,5vw,2.4rem);color:#fff;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 3px 14px rgba(0,0,0,.7);margin:0}#venue-section{view-timeline:--venue block;position:relative;overflow:hidden;padding:2rem 1rem 6rem;background:transparent;perspective:1000px;transform-style:preserve-3d}.venue-parallax-bg{position:absolute;top:-20%;left:0;width:100%;height:140%;background-size:cover;background-position:center;z-index:1;transform:scale(1.15)}@supports ((animation-timeline: view()) and (animation-range: entry)){@keyframes venueParallaxMove{0%{transform:translateY(-80px) rotateX(8deg) scale(1.1)}to{transform:translateY(80px) rotateX(-8deg) scale(1.35)}}.venue-parallax-bg{animation:venueParallaxMove linear both;animation-timeline:--venue;animation-range:entry 0% exit 100%}}.venue-parallax-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#080406bf,#08040680,#080406bf);z-index:2}.venue-content-wrapper{position:relative;z-index:3;width:100%}.marquee-wrapper{width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;position:relative;overflow:hidden;padding:3rem 0}.marquee-track{display:flex;width:-moz-max-content;width:max-content;gap:1.8rem;animation:marqueeScroll 36s linear infinite}.marquee-wrapper:hover .marquee-track{animation-play-state:paused}.marquee-item{position:relative;width:320px;height:400px;border-radius:1.5rem;overflow:hidden;flex-shrink:0;box-shadow:0 15px 35px #36201226;border:1px solid rgba(220,185,127,.25);transition:transform .5s cubic-bezier(.25,1,.5,1),box-shadow .5s cubic-bezier(.25,1,.5,1),border-color .5s cubic-bezier(.25,1,.5,1);background:#0f0b0c}.marquee-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .8s cubic-bezier(.25,1,.5,1)}.marquee-item:hover{transform:translateY(-10px) scale(1.15);box-shadow:0 25px 45px #36201259;border-color:#d68b8bb3;z-index:10}.marquee-item:hover img{transform:scale(1.08)}.marquee-caption{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.5rem 1.5rem;background:linear-gradient(180deg,transparent 0%,rgba(10,5,6,.85) 100%);color:#fff;font-family:var(--font-body);font-size:1.02rem;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.6)}.marquee-caption span{display:inline-block;position:relative;padding-left:1.25rem}.marquee-caption span:before{content:"◆";position:absolute;left:0;color:#c9a270;font-size:.9rem;top:1px}@keyframes marqueeScroll{0%{transform:translate3d(-50%,0,0)}to{transform:translateZ(0)}}.agenda-container{max-width:780px;margin:0 auto 3rem;padding:2.2rem;background:#fff;border:1px solid rgba(165,0,52,.15);border-radius:2rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 20px 50px #a500340d}.agenda-title{font-family:var(--font-display);font-size:1.7rem;color:#a50034;margin-top:0;margin-bottom:1.5rem;letter-spacing:.05em;text-align:center}.agenda-table-wrapper{overflow-x:auto;width:100%}.agenda-table{width:100%;border-collapse:collapse;text-align:left;font-family:var(--font-body)}.agenda-table th{font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#a50034;padding:1rem;border-bottom:2px solid rgba(165,0,52,.15)}.agenda-table td{padding:1.1rem 1rem;border-bottom:1px solid rgba(165,0,52,.1);color:#1c1c1e;font-size:.95rem;vertical-align:middle}.agenda-row{transition:background-color .3s ease}.agenda-row:hover{background-color:#a500340d}.agenda-event-name{font-weight:700;font-size:16.5px}.agenda-event-col{font-weight:600;display:flex;align-items:center;gap:.75rem}.agenda-dot{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:0 0 5px #a500341a}.agenda-day{color:#1c1c1e}.agenda-date{color:#48484a}@media (max-width: 600px){.agenda-container{padding:1.2rem}.agenda-table thead{display:none}.agenda-table tbody,.agenda-table tr,.agenda-table td{display:block;width:100%;box-sizing:border-box}.agenda-row{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.2)}.agenda-row:last-child{border-bottom:none}.agenda-table td{padding:.3rem .5rem;border-bottom:none}.agenda-event-col{font-size:1.05rem;margin-bottom:.25rem}.agenda-date-col:before{content:"Date: ";font-family:var(--font-sans);font-size:.72rem;color:#a50034;text-transform:uppercase;letter-spacing:.05em;display:inline-block;width:65px}.agenda-time-col:before{content:"Time: ";font-family:var(--font-sans);font-size:.72rem;color:#a50034;text-transform:uppercase;letter-spacing:.05em;display:inline-block;width:65px}.agenda-venue-col:before{content:"Venue: ";font-family:var(--font-sans);font-size:.72rem;color:#a50034;text-transform:uppercase;letter-spacing:.05em;display:inline-block;width:65px}}.hero-card{transform-style:preserve-3d;transition:transform .58s ease}.hero-card>*{transform:translateZ(30px)}.hero-date-badge-bridge{position:absolute;bottom:-22px;left:50%;transform:translate(-50%) translateZ(40px);z-index:100;background:#a5003480;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);padding:.65rem 2.2rem;border-radius:50px;box-shadow:0 10px 30px #00000059,inset 0 2px 4px #fff3;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;width:320px;transition:all .5s cubic-bezier(.25,1,.5,1)}.hero-date-badge-bridge.scrolled{position:fixed;top:0;bottom:auto;left:0;transform:translate(0) translateZ(0);width:100vw;border-radius:0;border-left:none;border-right:none;border-top:none;box-shadow:0 10px 40px #00000040;z-index:99999;background:#a50034cc;border-bottom:1px solid rgba(255,255,255,.2);padding:1rem 2.2rem}.hero-date-badge-text{font-family:var(--font-sans);font-size:.88rem;letter-spacing:.25em;text-transform:uppercase;color:#fff;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.4)}.slideshow-blurred-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;filter:blur(40px) brightness(.65);background-size:cover;background-position:center;opacity:.45;transition:background-image .8s ease-in-out}.slideshow-image-wrapper img{transition:transform .8s cubic-bezier(.25,1,.5,1)}.slideshow-image-wrapper:hover img{transform:scale(1.08)}.photo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#080406b3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;opacity:0;animation:modalFadeIn .4s forwards cubic-bezier(.25,1,.5,1)}.photo-modal-card{position:relative;max-width:90vw;max-height:85vh;border-radius:2rem;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 30px 70px #00000080;transform:scale(.9);animation:cardZoomIn .4s forwards cubic-bezier(.25,1,.5,1);background:#0f0b0c}.photo-modal-card img{max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;display:block}.photo-modal-close{position:absolute;top:1.25rem;right:1.25rem;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.8rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10}.photo-modal-close:hover{background:#fff;color:#000;transform:scale(1.05)}@keyframes modalFadeIn{to{opacity:1}}@keyframes cardZoomIn{to{transform:scale(1)}}.collage-section{padding:80px 5vw;max-width:1200px;margin:0 auto;text-align:center}.collage-section h2{font-family:var(--font-display);font-size:clamp(24px,4vw,36px);margin-bottom:2rem;color:var(--text-dark)}.collage{position:relative;width:100%;height:480px;margin:2rem auto}.collage img{position:absolute;-o-object-fit:cover;object-fit:cover;border-radius:8px;box-shadow:0 20px 40px #0003;border:6px solid #fff;transition:transform .3s ease}.collage img:hover{transform:scale(1.03) rotate(0)!important;z-index:10!important}.p1{left:0%;top:10%;width:24%;height:65%;transform:rotate(-6deg);z-index:1}.p2{left:20%;top:30%;width:22%;height:55%;transform:rotate(4deg);z-index:2}.p3{left:34%;top:0%;width:30%;height:80%;transform:rotate(-3deg);z-index:3}.p4{left:56%;top:20%;width:26%;height:60%;transform:rotate(5deg);z-index:4}.p5{left:74%;top:5%;width:24%;height:68%;transform:rotate(-4deg);z-index:5}@media (max-width: 900px){.collage{height:380px}}@media (max-width: 600px){.collage{height:640px}.p1{left:0%;top:0%;width:55%;height:30%}.p2{left:40%;top:8%;width:55%;height:28%}.p3{left:5%;top:26%;width:65%;height:34%}.p4{left:30%;top:48%;width:60%;height:28%}.p5{left:8%;top:66%;width:60%;height:30%}}.guestbook-section{padding:6rem 1.5rem;background:var(--cream);text-align:center;max-width:1200px;margin:0 auto}.guestbook-layout{display:flex;flex-direction:column;gap:2rem;align-items:center;margin-top:2rem;width:100%}.guestbook-form-wrapper{width:100%;max-width:500px;background:#fff;padding:2.5rem 2rem;border-radius:16px;box-shadow:0 10px 30px #0000000d;border:1px solid var(--border);text-align:left}.guestbook-form-title{font-family:var(--font-display);font-size:1.5rem;margin-bottom:1.5rem;color:#a50034}.guestbook-input,.guestbook-textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--border);border-radius:8px;background-color:#fafafa;color:var(--text-dark);font-family:var(--font-sans);margin-bottom:1.25rem;outline:none;transition:border-color .3s ease}.guestbook-input:focus,.guestbook-textarea:focus{border-color:var(--text-light)}.guestbook-textarea{height:120px;resize:none}.guestbook-submit{width:100%;padding:.95rem;background:#a50034;color:#fff;border-radius:8px;border:none;font-family:var(--font-sans);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:opacity .3s ease}.guestbook-submit:hover{opacity:.9}.blessings-slideshow-container{width:100%;max-width:600px;position:relative;overflow:hidden;padding:2rem 0;margin-top:1rem}.blessings-track{display:flex;transition:transform .5s cubic-bezier(.25,1,.5,1);width:100%}.blessing-card{min-width:100%;box-sizing:border-box;padding:2.5rem 2rem;background:#fff;border-radius:12px;border:1px dashed var(--border);text-align:center;box-shadow:0 4px 15px #00000005}.blessing-message{font-family:var(--font-body);font-size:1.25rem;font-style:italic;line-height:1.6;color:var(--text-mid);margin-bottom:1rem}.blessing-author{font-family:var(--font-sans);font-size:.85rem;color:var(--text-light);letter-spacing:.1em;text-transform:uppercase}.slideshow-nav{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.slideshow-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;padding:0}.slideshow-dot.active{background:var(--text-light)}.view-gallery-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 2rem;background:#a50034;color:#fff;border:none;border-radius:8px;font-family:var(--font-sans);text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;cursor:pointer;transition:opacity .3s ease;margin-top:1.5rem}.view-gallery-btn:hover{opacity:.9}.calendar-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.8rem;background:#a50034;color:#fff;border:none;border-radius:8px;font-family:var(--font-sans);text-transform:uppercase;font-size:.8rem;letter-spacing:.15em;cursor:pointer;transition:opacity .3s ease}.calendar-btn:hover{opacity:.9}@media (max-width: 768px){.hero-card{width:90%;max-width:350px;gap:.75rem;padding:1.25rem 1rem}}.masonry-container{display:flex;gap:24px;width:100%;max-width:960px;margin:0 auto;padding:0 1.5rem 4rem}.masonry-column{display:flex;flex-direction:column;gap:24px;flex:1;width:50%}@keyframes floatAndFall{0%{opacity:0;transform:translateY(-60px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.masonry-card{position:relative;overflow:hidden;border-radius:24px;box-shadow:0 4px 15px #00000005;transition:transform .3s cubic-bezier(.25,1,.5,1),box-shadow .3s cubic-bezier(.25,1,.5,1);background:#fff;opacity:0;animation:floatAndFall .8s cubic-bezier(.25,1,.5,1) forwards;width:100%}.masonry-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px #a500341a}.masonry-card img{width:100%;height:auto;display:block;transition:transform .5s ease}.masonry-card:hover img{transform:scale(1.05)}@media (max-width: 800px){.masonry-container{gap:16px;padding:0 1rem 3rem}.masonry-column{gap:16px}.masonry-card{border-radius:16px}}@media (min-width: 768px){.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}}
