@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Italiana&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#243b33;--cream:#fffaf0;--turmeric:#e2ad2f;--terracotta:#b4543f;--leaf:#456454;--gold:#b28635}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--cream);margin:0;font-family:Cormorant Garamond,Georgia,serif;overflow-x:hidden}button,input,select,textarea{font:inherit}.envelopeScene{z-index:100;perspective:1200px;background:radial-gradient(circle at 50% 42%,#fffdf7 0 8%,#fff6df 48%,#eddfc5);place-items:center;transition:opacity .8s .8s,visibility .8s .8s;display:grid;position:fixed;inset:0;overflow:hidden}.envelopeScene:before,.envelopeScene:after{content:"❀  ✿  ❁";color:#b28635;opacity:.25;letter-spacing:20px;font-size:clamp(48px,9vw,105px);position:absolute}.envelopeScene:before{top:-15px;left:-25px;transform:rotate(-12deg)}.envelopeScene:after{bottom:-15px;right:-35px;transform:rotate(168deg)}.envelopeScene.isOpen{opacity:0;visibility:hidden;pointer-events:none}.openingPetals{pointer-events:none;position:absolute;inset:0}.openingPetals i{color:var(--terracotta);opacity:0;font-style:normal;position:absolute;top:48%;left:50%}.openingPetals i:first-child{--x:-190px;--y:-180px}.openingPetals i:nth-child(2){--x:-120px;--y:-235px}.openingPetals i:nth-child(3){--x:-50px;--y:-195px}.openingPetals i:nth-child(4){--x:40px;--y:-240px}.openingPetals i:nth-child(5){--x:125px;--y:-190px}.openingPetals i:nth-child(6){--x:190px;--y:-125px}.openingPetals i:nth-child(7){--x:-185px;--y:-85px}.openingPetals i:nth-child(8){--x:150px;--y:-35px}.openingPetals i:nth-child(9){--x:20px;--y:-285px}.envelopeScene.isOpen .openingPetals i{animation:1.35s cubic-bezier(.18,.7,.25,1) both petalBurst}.envelopeScene.isOpen .openingPetals i:nth-child(2n){animation-delay:80ms}.envelopeScene.isOpen .openingPetals i:nth-child(3n){animation-delay:.15s}.envelopeGlow{filter:blur(40px);background:#ffffffb8;border-radius:50%;width:560px;height:560px;animation:3s ease-in-out infinite pulseGlow;position:absolute}.envelopeButton{color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:60px 20px 20px;position:relative}.envelope{aspect-ratio:1.55;filter:drop-shadow(0 28px 32px #2a415c33);width:min(78vw,440px);transform-style:preserve-3d;transition:transform .7s;display:block;position:relative}.envelopeButton:hover .envelope{transform:translateY(-7px)rotateX(2deg)}.envelopeBack{background:#ead8b4;border-radius:8px;position:absolute;inset:0}.letter{background:linear-gradient(150deg,#fff,#f8fbfb);border:1px solid #d4e4e9;flex-direction:column;justify-content:center;align-items:center;gap:9px;height:90%;padding:20px;transition:transform 1s cubic-bezier(.2,.8,.2,1) .45s;display:flex;position:absolute;bottom:7%;left:7%;right:7%}.letter small{letter-spacing:.18em;text-transform:uppercase;font-size:14px}.letter strong{font-size:clamp(27px,6vw,42px);font-weight:500}.letter i{color:#7895ae;font-weight:400}.letter em{color:#9f8557;letter-spacing:.15em}.envelopeFront{background:linear-gradient(155deg,#0000 49.5%,#e4cfa8 50%) 0/50.5% 100% no-repeat,linear-gradient(205deg,#0000 49.5%,#eedcba 50%) 100%/50.5% 100% no-repeat,linear-gradient(25deg,#f5e7c9 49.5%,#0000 50%) bottom/100% 72% no-repeat;border-radius:8px;position:absolute;inset:0}.envelopeFlap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:4;background:linear-gradient(160deg,#f8ebce,#dec396);transition:transform .9s cubic-bezier(.3,.7,.2,1);position:absolute;inset:0 0 49%}.waxSeal{z-index:5;color:#fff7e8;background:radial-gradient(circle at 35% 30%,#d6b074,#9d7544 65%,#7b572f);border-radius:50%;place-items:center;width:58px;height:58px;font-family:Italiana,serif;font-size:18px;transition:opacity .3s .15s,transform .4s;display:grid;position:absolute;top:47%;left:50%;translate:-50% -50%;box-shadow:0 3px 9px #37261847}.isOpen .envelopeFlap{transform:rotateX(180deg)}.isOpen .letter{transform:translateY(-66%)}.isOpen .waxSeal{opacity:0;transform:scale(.6)}.openPrompt{letter-spacing:.2em;text-transform:uppercase;margin-top:34px;font-size:15px;animation:1.8s ease-in-out infinite prompt;display:block}.musicDock{z-index:50;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#243b33e6;border:1px solid #ffffffbf;border-radius:999px;align-items:center;gap:10px;padding:8px 8px 8px 14px;animation:.6s 1.35s both reveal;display:flex;position:fixed;top:16px;right:16px;box-shadow:0 8px 25px #233b2d2e}.musicEmbed{opacity:.01;pointer-events:none;width:1px;height:1px;position:absolute}.musicDock span{letter-spacing:.02em;flex-direction:column;font-size:13px;line-height:1.05;display:flex}.musicDock small{opacity:.72;letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px;font-size:9px}.musicControl{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff7a;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid}.hero{text-align:center;isolation:isolate;background:radial-gradient(circle at 24% 30%,#fffdf7 0 12%,#0000 43%),linear-gradient(145deg,#fff9e9,#f8efe0 58%,#f1dfcc);place-items:center;min-height:100svh;padding:72px 24px;display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";filter:blur(2px);opacity:.35;z-index:-1;border-radius:50%;width:420px;height:420px;position:absolute}.hero:before{background:#dfb741;top:12%;left:-220px}.hero:after{background:#b4543f;bottom:4%;right:-240px}.heroLayout{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(18px,5vw,70px);width:min(1180px,100%);display:grid}.heroContent{z-index:2;opacity:0;order:1;width:100%;position:relative}.heroContent:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#fffaf0e6 0 48%,#fffaf075 67%,#0000 82%);position:absolute;inset:-12% -7%}.botanical{opacity:.18;z-index:-1;background:radial-gradient(ellipse at 50% 12%,var(--leaf) 0 14%,transparent 15%),radial-gradient(ellipse at 28% 35%,var(--leaf) 0 15%,transparent 16%),radial-gradient(ellipse at 70% 55%,var(--leaf) 0 14%,transparent 15%);width:290px;height:410px;position:absolute;transform:rotate(-25deg)}.botanicalLeft{bottom:-130px;left:-90px}.botanicalRight{top:-120px;right:-80px;transform:rotate(155deg)}.couplePortrait{opacity:0;order:2;min-width:0;margin:0;position:relative}.invitationOpened .heroContent{animation:1s cubic-bezier(.2,.8,.2,1) 1s both cardReveal}.invitationOpened .couplePortrait{animation:1.15s cubic-bezier(.18,.82,.2,1) 1.18s both coupleReveal}.couplePortrait:before{content:"";background:radial-gradient(circle,#e2ad2f2e,#0000 70%);border-radius:50%;position:absolute;inset:12% 2% 3%}.couplePortrait img{z-index:1;object-fit:cover;object-position:center 60%;mix-blend-mode:multiply;-webkit-mask-composite:source-in;filter:saturate(.92)contrast(1.04)drop-shadow(0 18px 20px #3c2a1b0f);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;width:100%;height:670px;display:block;position:relative;-webkit-mask-image:linear-gradient(#0000 0,#000 12% 76%,#0000 100%),linear-gradient(90deg,#0000 0,#000 10% 90%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 12% 76%,#0000 100%),linear-gradient(90deg,#0000 0,#000 10% 90%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.eyebrow,.sectionKicker{letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px;font-size:clamp(16px,2.2vw,22px)}.monogram{color:var(--gold);margin:0 auto 10px;font-family:Italiana,serif;font-size:31px}.monogram span,h1 span{color:var(--terracotta);font-style:italic}h1{letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 18px #fffaf0f5,0 1px #ffffffbf;margin:0;font-size:clamp(50px,9vw,102px);font-weight:500;line-height:.9}.invitation{text-shadow:0 1px 12px #fffaf0fa;margin:28px 0 20px;font-size:clamp(21px,3vw,30px);font-style:italic;font-weight:500}.rule{width:min(340px,70%);color:var(--terracotta);align-items:center;gap:15px;margin:0 auto 20px;display:flex}.rule:before,.rule:after{content:"";background:linear-gradient(90deg,transparent,var(--gold));flex:1;height:1px}.rule:after{transform:scaleX(-1)}.date{letter-spacing:.09em;text-shadow:0 1px 10px #fffaf0;font-size:clamp(17px,2.3vw,23px);font-weight:700}.countdown{grid-template-columns:repeat(4,1fr);gap:10px;width:min(620px,100%);margin:30px auto;display:grid}.time{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffcf5e0;border:1px solid #243b333d;border-radius:18px;padding:14px 8px;box-shadow:0 8px 24px #4d3a210f}.time strong{font-family:Italiana,serif;font-size:clamp(26px,5vw,46px);font-weight:400;display:block}.time span{letter-spacing:.11em;text-transform:uppercase;font-size:13px}.primaryButton{color:#fff;background:var(--ink);text-transform:uppercase;letter-spacing:.11em;border-radius:999px;padding:15px 28px;font-size:14px;text-decoration:none;transition:all .25s;display:inline-block;box-shadow:0 12px 30px #283f5e2e}.primaryButton:hover{background:var(--leaf);transform:translateY(-2px)}.celebration{text-align:center;background:#fff;padding:100px 24px}.celebration>p:not(.sectionKicker){max-width:620px;margin:18px auto 42px;font-size:22px;line-height:1.6}.sectionKicker{color:var(--terracotta);font-size:14px}h2{margin:0;font-size:clamp(39px,6vw,64px);font-weight:500}.eventGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:min(950px,100%);margin:auto;display:grid}.eventGrid article{background:linear-gradient(150deg,#fff9e8,#fff6f0);border:1px solid #ead8ba;border-radius:30px;padding:46px 24px;box-shadow:0 18px 50px #3d322014}.eventIcon{color:var(--gold);font-size:28px}.eventLabel{text-transform:uppercase;letter-spacing:.14em;margin:16px 0 12px;font-size:13px}h3{margin:0;font-size:27px;font-weight:600}.eventGrid article>p:last-child{margin:12px 0 0;font-size:18px}.actionRow{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.actionRow a{color:var(--ink);background:#fff;border:1px solid #b8ccd9;border-radius:999px;padding:11px 17px;text-decoration:none;transition:all .2s}.actionRow a:hover{background:#edf7fa;transform:translateY(-1px)}footer{text-align:center;color:#fff9eb;background:#243b33;padding:60px 24px}footer p{margin:8px}.footerMonogram{font-family:Italiana,serif;font-size:34px}.footerMonogram span{color:#e2c6cc;font-style:italic}@keyframes reveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes cardReveal{0%{opacity:0;transform:translateY(28px)scale(.985)}to{opacity:1;transform:none}}@keyframes coupleReveal{0%{opacity:0;transform:translateY(44px)scale(.92)}to{opacity:1;transform:none}}@keyframes petalBurst{0%{opacity:0;transform:translate(0)scale(.2)rotate(0)}25%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(1.25) rotate(160deg)}}@keyframes float{0%,to{margin-top:0}50%{margin-top:10px}}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}@keyframes prompt{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media (width<=900px){.hero{min-height:auto;padding:28px 18px 46px}.heroLayout{grid-template-columns:1fr;gap:0}.couplePortrait{order:1;width:min(390px,88vw);height:310px;margin:0 auto -18px}.couplePortrait img{object-position:center 61%;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;height:100%;max-height:none;-webkit-mask-image:linear-gradient(#0000 0,#000 10% 78%,#0000 100%),linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 10% 78%,#0000 100%),linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.heroContent{order:2}h1{font-size:clamp(44px,13vw,66px);line-height:.88}}@media (width<=760px){.envelope{width:min(86vw,390px)}.envelopeButton{padding-inline:12px}.musicDock{max-width:calc(100vw - 24px);padding:7px;top:auto;bottom:12px;right:12px}.musicDock span{display:none}.eyebrow{letter-spacing:.14em;margin-bottom:10px;font-size:13px}.monogram{margin-bottom:6px;font-size:23px}.invitation{margin:18px 0 14px;font-size:20px}.rule{margin-bottom:14px}.date{margin:0;font-size:16px;line-height:1.35}.countdown{gap:6px;margin:20px auto}.time{border-radius:13px;padding:10px 2px}.time strong{font-size:26px}.time span{letter-spacing:.06em;font-size:9px}.primaryButton{width:100%;max-width:330px;padding:14px 20px}.celebration{padding:68px 16px}.celebration>p:not(.sectionKicker){margin:14px auto 28px;font-size:19px;line-height:1.5}h2{font-size:40px;line-height:1}.eventGrid{grid-template-columns:1fr;gap:14px}.eventGrid article{border-radius:22px;padding:30px 18px}h3{font-size:23px;line-height:1.15}.actionRow{grid-template-columns:1fr;gap:9px;display:grid}.actionRow a{width:100%;padding:13px 14px}footer{padding:45px 18px}}@media (width<=380px){.couplePortrait{height:270px;margin-bottom:-12px}h1{font-size:41px}.time strong{font-size:22px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.invitationOpened .heroContent,.invitationOpened .couplePortrait{opacity:1!important}.envelopeScene.isOpen{opacity:0!important;visibility:hidden!important}}
