@font-face{font-family:Amoresa Aged;src:url(/fonts/amoresa-aged.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IM Fell English SC;src:url(/fonts/im-fell-english-sc.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-latin-ext.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-italic-latin-ext.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-ink-blue: #00507f;--color-powder-blue: #b5d1e6;--color-warm-beige: #e6cbb6;--color-chestnut: #704a33;--color-paper: #eff6f3;--color-taupe: #9a8a70;--color-earth: #68533e;--color-slate-blue: #8297a8;--color-charcoal-blue: #374756;--color-white: #ffffff;--color-text: #27333b;--color-overlay: rgba(17, 29, 37, .48);--color-paper-warm: #f6f2ec;--color-paper-edge: #e2ebe6;--color-ink-blue-soft: rgba(0, 80, 127, .14);--color-line: rgba(55, 71, 86, .16);--color-line-strong: rgba(0, 80, 127, .32);--color-text-muted: #5a6a75;--color-envelope: #f4efe6;--color-envelope-shade: #e7dfd1;--color-envelope-deep: #d9cfbd;--font-script: "Amoresa Aged", "Pinyon Script", "Snell Roundhand", "Apple Chancery", "Times New Roman", cursive;--font-display: "IM Fell English SC", "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Cormorant Garamond", Georgia, "Times New Roman", serif;--step--1: clamp(.82rem, .79rem + .15vw, .92rem);--step-0: clamp(1rem, .95rem + .25vw, 1.16rem);--step-1: clamp(1.18rem, 1.08rem + .5vw, 1.5rem);--step-2: clamp(1.45rem, 1.25rem + .95vw, 2.1rem);--step-3: clamp(1.8rem, 1.45rem + 1.7vw, 3rem);--step-4: clamp(2.4rem, 1.6rem + 3.6vw, 4.6rem);--tracking-wide: .14em;--tracking-wider: .24em;--measure: 46rem;--page-gutter: clamp(1.25rem, 5vw, 4rem);--sheet-max: 52rem;--sheet-gap: clamp(.85rem, 4vw, 5rem);--sheet-width: min(var(--sheet-max), calc(100vw - 2 * var(--sheet-gap)));--letter-height: 190svh;--envelope-width: min(calc(var(--sheet-width) * 1.05), 92vw, 66svh);--letter-mouth: calc(100svh - var(--envelope-width) / 1.5 - 4rem);--letter-lift: calc((100svh - var(--envelope-width) / 1.5) / 2);--section-gap: clamp(3rem, 7vw, 5.5rem);--block-gap: clamp(1.25rem, 3vw, 2.25rem);--radius-soft: 2px;--shadow-card: 0 1px 2px rgba(39, 51, 59, .05), 0 12px 30px -12px rgba(39, 51, 59, .22);--shadow-envelope: 0 2px 4px rgba(23, 35, 45, .14), 0 26px 60px -22px rgba(12, 22, 30, .6);--shadow-lift: 0 18px 44px -20px rgba(12, 22, 30, .45);--ease-soft: cubic-bezier(.33, .02, .2, 1);--ease-out-quiet: cubic-bezier(.22, .61, .36, 1);--dur-quick: .22s;--dur-calm: .48s;--grain-opacity: .055}@media(max-width:47.99em){:root{--letter-height: 170svh;--sheet-gap: 6vw}}@media(prefers-reduced-motion:reduce){:root{--letter-height: 100svh;--letter-mouth: 100svh}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100svh;background-color:var(--color-charcoal-blue);color:var(--color-text);font-family:var(--font-body);font-size:var(--step-0);line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body.is-locked{position:fixed;inset:0;width:100%;overflow:hidden;overscroll-behavior:none}img,svg,picture{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button,.button,.envelope,.envelope-trigger,.botanical,.dress-code__chip,.monogram,.script{-webkit-user-select:none;user-select:none}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3{font-weight:400;line-height:1.18;text-wrap:balance}p{text-wrap:pretty}a{color:var(--color-ink-blue);text-underline-offset:.22em;text-decoration-thickness:1px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;top:0;left:50%;z-index:200;padding:.85rem 1.5rem;background:var(--color-paper);color:var(--color-ink-blue);font-family:var(--font-display);letter-spacing:var(--tracking-wide);text-decoration:none;transform:translate(-50%,-120%);transition:transform var(--dur-quick) var(--ease-out-quiet)}.skip-link:focus-visible{transform:translate(-50%)}:focus-visible{outline:2px solid var(--color-ink-blue);outline-offset:3px;border-radius:1px}.paper-sheet{position:relative;background-color:var(--color-paper);background-image:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.9),transparent 60%),linear-gradient(180deg,var(--color-paper) 0%,var(--color-paper-warm) 100%)}.grain:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:140px 140px}.eyebrow{font-family:var(--font-display);font-size:var(--step--1);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-slate-blue)}.script{font-family:var(--font-script);font-weight:400;line-height:1.06}.monogram{font-family:var(--font-script);font-size:var(--step-2);line-height:1;color:var(--color-ink-blue);letter-spacing:.04em}.rule{width:min(6rem,30vw);height:1px;border:0;background:var(--color-line-strong)}.section{position:relative;overflow:hidden;padding-block:var(--section-gap);padding-inline:var(--page-gutter)}.section__inner{position:relative;z-index:1;width:100%;max-width:var(--measure);margin-inline:auto}.prose{font-size:var(--step-0);color:var(--color-text)}.prose+.prose{margin-top:1.1em}.button{--button-fg: var(--color-white);--button-bg: var(--color-ink-blue);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.75rem 1.6rem;border:1px solid var(--button-bg);border-radius:var(--radius-soft);background:var(--button-bg);color:var(--button-fg);font-family:var(--font-display);font-size:var(--step--1);letter-spacing:var(--tracking-wide);text-decoration:none;cursor:pointer;transition:transform var(--dur-quick) var(--ease-out-quiet),background-color var(--dur-quick) var(--ease-out-quiet),color var(--dur-quick) var(--ease-out-quiet)}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button--ghost{--button-fg: var(--color-ink-blue);--button-bg: transparent;border-color:var(--color-line-strong)}.button--ghost:hover{background:var(--color-ink-blue-soft)}.button--quiet{min-height:44px;padding:.6rem .75rem;border:0;background:none;color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--step--1);letter-spacing:var(--tracking-wide);text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px;cursor:pointer}.button--quiet:hover{color:var(--color-ink-blue)}.button__icon{flex:none;width:1.15em;height:1.15em}.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease-soft),transform .7s var(--ease-soft)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.button:hover{transform:none}}.photo{position:relative;overflow:hidden;background-color:var(--photo-placeholder, var(--color-charcoal-blue));background-image:linear-gradient(170deg,#ffffff0f,#00000024)}.photo picture,.photo__img{display:block;width:100%;height:100%}.photo__img{object-fit:cover;object-position:var(--photo-position-mobile, 50% 50%);opacity:0;transition:opacity .9s var(--ease-soft)}.photo--loaded .photo__img{opacity:1}@media(min-width:48em){.photo__img{object-position:var(--photo-position-desktop, 50% 50%)}}@media(prefers-reduced-motion:reduce){.photo__img{transition:none}}.page-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;background-color:var(--color-charcoal-blue);pointer-events:none}.page-backdrop__photo{width:100%;height:100%;transform:translateY(calc(var(--doc-p, 0) * -4svh)) scale(calc(1.16 - var(--letter-p, 0) * .14 + var(--doc-p, 0) * .07));transform-origin:50% 45%;will-change:transform}.page-backdrop__scrim{position:absolute;inset:0;opacity:calc(1 - var(--letter-p, 0) * .34 + var(--doc-p, 0) * .26);background:radial-gradient(105% 75% at 50% 50%,#111d2538,#111d259e),linear-gradient(180deg,#111d2566,#111d253d 42%,#111d258a)}@media(prefers-reduced-motion:reduce){.page-backdrop__photo{transform:none;will-change:auto}.page-backdrop__scrim{opacity:1}}@property --letter-open{syntax: "<number>"; inherits: true; initial-value: 0;}.letter{--letter-gone: clamp(0, calc((var(--letter-p, 0) - .06) / .24), 1);--letter-open: 0;position:relative;display:grid;grid-template-areas:"stage";height:var(--letter-height)}.letter--open{--letter-open: 1}.letter__stage{grid-area:stage;align-self:start;position:sticky;top:0;display:grid;justify-items:center;align-content:end;height:100svh;padding:var(--page-gutter) var(--page-gutter) 0;opacity:0;transition:opacity .8s var(--ease-soft)}.letter--ready .letter__stage{opacity:1}.letter__stage{pointer-events:none}.letter--sealed .envelope-trigger,.letter--sealed .letter__skip{pointer-events:auto}.letter__stage--back{z-index:1}.letter__stage--front{z-index:3}.letter__envelope-wrap{opacity:calc(1 - var(--letter-gone));transform:translateY(calc((var(--letter-open) - 1) * var(--letter-lift) + var(--letter-gone) * 10svh)) scale(calc(1 - var(--letter-gone) * .05));transition:--letter-open .9s var(--ease-soft);will-change:transform,opacity}.letter--open .letter__stage--front .letter__envelope-wrap{pointer-events:none}.envelope-trigger{display:flex;flex-direction:column-reverse;align-items:center;gap:clamp(1.1rem,3vw,1.6rem);padding:0;border:0;background:none;cursor:pointer}.envelope-trigger:disabled{cursor:default}.envelope-trigger__label{position:relative;padding-bottom:.5rem;color:var(--color-white);font-family:var(--font-display);font-size:var(--step-0);letter-spacing:var(--tracking-wide);text-shadow:0 1px 12px rgba(12,22,30,.6)}.envelope-trigger__label:after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:#ffffff8c;transform-origin:center;transition:transform var(--dur-quick) var(--ease-out-quiet)}.envelope-trigger:hover .envelope-trigger__label:after{transform:scaleX(1.14)}.envelope-trigger__label{transition:opacity .25s var(--ease-out-quiet)}.letter--opening .envelope-trigger__label{opacity:0}.letter--open .envelope-trigger__label{display:none}.envelope{position:relative;display:block;width:var(--envelope-width);aspect-ratio:1.5 / 1;perspective:1400px}.letter__stage--back .envelope{filter:drop-shadow(0 24px 46px rgba(9,18,26,.5))}.envelope__back,.envelope__pocket,.envelope__flap{position:absolute;display:block;background-color:var(--color-envelope);background-image:radial-gradient(140% 120% at 20% 0%,rgba(255,255,255,.85),transparent 55%),linear-gradient(160deg,var(--color-envelope) 0%,var(--color-envelope-shade) 100%)}.envelope__back{inset:0;border-radius:var(--radius-soft)}.envelope__pocket{inset:0;clip-path:polygon(0 0,50% 62%,100% 0,100% 100%,0 100%);border-radius:var(--radius-soft);filter:drop-shadow(0 -1px .5px rgba(104,83,62,.22))}.envelope__sprig{position:absolute;bottom:5%;left:4%;width:30%;height:auto;opacity:.55}.envelope__flap{top:0;left:0;width:100%;height:62%;clip-path:polygon(0 0,100% 0,50% 100%);background-image:linear-gradient(170deg,var(--color-envelope) 0%,var(--color-envelope-shade) 62%,var(--color-envelope-deep) 100%);transform-origin:top center;transform:rotateX(0);filter:drop-shadow(0 1px 1.5px rgba(104,83,62,.26));will-change:transform}.letter--open .envelope__flap{transform:rotateX(-168deg)}.envelope__seal-anchor{position:absolute;top:62%;left:50%;z-index:2;display:block;transform:translate(-50%,-50%)}.envelope__seal{display:grid;place-items:center;width:clamp(2.4rem,9vw,3.1rem);aspect-ratio:1;border-radius:48% 52% 51% 49%/50% 48% 52% 50%;background:radial-gradient(120% 120% at 32% 28%,rgba(255,255,255,.3) 0%,transparent 48%),linear-gradient(150deg,#0a5c8d 0%,var(--color-ink-blue) 52%,#003f66 100%);box-shadow:0 1px 1px #ffffff40 inset,0 5px 12px -5px #09121ab3;will-change:transform,opacity}.envelope__seal-text{font-family:var(--font-script);font-size:clamp(.58rem,2vw,.74rem);line-height:1;color:var(--color-paper);text-shadow:0 1px 1px rgba(0,20,35,.35)}.letter--open .envelope__seal{opacity:0}.letter__controls{position:absolute;top:clamp(1.25rem,5vh,3rem);left:50%;display:flex;justify-content:center;transform:translate(-50%)}.letter--open .letter__controls{visibility:hidden}.letter__skip{min-height:44px;padding:.6rem 1rem;border:0;background:none;color:#ffffffd1;font-family:var(--font-display);font-size:var(--step--1);letter-spacing:var(--tracking-wide);text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px;cursor:pointer;transition:color var(--dur-quick) var(--ease-out-quiet)}.letter__skip:hover{color:var(--color-white)}.letter :focus-visible{outline:2px solid var(--color-white);outline-offset:6px}@media(pointer:coarse){.envelope-trigger:focus-visible{outline:none}}@media(max-height:34rem){.envelope{width:min(20rem,62vw)}}@media(prefers-reduced-motion:reduce){.letter__stage{position:relative;opacity:1;transition:none}.letter--open{height:0;overflow:hidden}.letter--open .letter__stage{display:none}.letter__envelope-wrap{opacity:1;transform:none;transition:none}}.botanical{--botanical-size: clamp(4.5rem, 13vw, 12rem);position:absolute;z-index:0;width:var(--botanical-size);opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity 1.1s var(--ease-soft),transform 1.1s var(--ease-soft)}.botanical__art{width:100%;height:auto;aspect-ratio:var(--botanical-ratio, 1);opacity:.55}.is-visible .botanical,.botanical.is-visible{opacity:1;transform:none}.botanical--top-right{top:clamp(.75rem,3vw,2.75rem);right:clamp(.25rem,2vw,3rem)}.botanical--top-left{top:clamp(.75rem,3vw,2.75rem);left:clamp(.25rem,2vw,3rem);transform:translateY(6px) scaleX(-1)}.is-visible .botanical--top-left{transform:scaleX(-1)}.botanical--bottom-left{bottom:clamp(.75rem,3vw,2.75rem);left:clamp(.25rem,2vw,3rem);transform:translateY(6px) scaleX(-1) rotate(180deg)}.is-visible .botanical--bottom-left{transform:scaleX(-1) rotate(180deg)}.botanical--bottom-right{right:clamp(.25rem,2vw,3rem);bottom:clamp(.75rem,3vw,2.75rem);transform:translateY(6px) rotate(180deg)}.is-visible .botanical--bottom-right{transform:rotate(180deg)}.botanical--bloom-open{--botanical-size: clamp(5rem, 15vw, 13rem)}@media(max-width:47.99em){.botanical{--botanical-size: clamp(3.75rem, 20vw, 6.5rem)}.botanical--bloom-open{--botanical-size: clamp(4.25rem, 22vw, 7.5rem)}.botanical__art{opacity:.4}}@media(prefers-reduced-motion:reduce){.botanical{opacity:1;transform:none;transition:none}.botanical--top-left{transform:scaleX(-1)}.botanical--bottom-left{transform:scaleX(-1) rotate(180deg)}.botanical--bottom-right{transform:rotate(180deg)}}.sheet-header{position:relative;overflow:visible;padding:clamp(2.5rem,7vw,4rem) var(--page-gutter) clamp(1.25rem,3.5vw,2rem)}.sheet-header__flowers .botanical{--botanical-size: clamp(7rem, 24vw, 15rem)}.sheet-header__flowers--top .botanical{top:-12%;right:-6%}.sheet-header__flowers--bottom .botanical{--botanical-size: clamp(5.5rem, 19vw, 11.5rem);bottom:-22%;left:-8%;transform:none}.sheet-header__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:var(--measure);margin-inline:auto;text-align:center}.sheet-header__motto{color:var(--color-slate-blue);font-family:var(--font-display);font-size:clamp(.95rem,2.6vw,1.3rem);letter-spacing:.06em}.sheet-header__names{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 clamp(.35rem,1.4vw,.8rem);margin-top:clamp(.9rem,2.6vw,1.5rem);color:var(--color-ink-blue);font-size:clamp(2.6rem,11vw,5rem);line-height:1}.sheet-header__names:focus-visible{outline:1px solid var(--color-slate-blue);outline-offset:14px}@media(pointer:coarse){.sheet-header__names:focus-visible{outline:none}}.sheet-header__name{display:inline-block}.sheet-header__first{display:block}.sheet-header__last{display:block;margin-top:-.28em;padding-right:.12em;color:var(--color-slate-blue);font-family:var(--font-display);font-size:.23em;letter-spacing:var(--tracking-wide);text-align:right}.sheet-header__amp{color:var(--color-slate-blue);font-size:.62em}.sheet-header__announcement{max-width:30rem;margin-top:clamp(1.1rem,3vw,1.75rem);color:var(--color-ink-blue);font-family:var(--font-display);font-size:clamp(.95rem,2.5vw,1.25rem);line-height:1.45}@media(max-width:30em){.sheet-header__last{text-align:center;padding-right:0}}.event-details__list{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,2.25rem);margin:0;padding:0}.event-details__item{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon label" "icon value";align-items:center;column-gap:1.1rem;padding-bottom:clamp(1.25rem,3vw,1.75rem);border-bottom:1px solid var(--color-line)}.event-details__item:last-child{padding-bottom:0;border-bottom:0}.event-details__icon{grid-area:icon;width:clamp(1.65rem,5vw,2rem);height:auto;color:var(--color-slate-blue)}.event-details__label{grid-area:label;margin:0;color:var(--color-slate-blue);font-family:var(--font-display);font-size:var(--step--1);letter-spacing:var(--tracking-wider)}.event-details__value{grid-area:value;margin:0;color:var(--color-ink-blue);font-family:var(--font-display);font-size:var(--step-1);line-height:1.35}.event-details__link{color:inherit;text-decoration-color:var(--color-line-strong);text-decoration-thickness:1px;text-underline-offset:.24em;transition:text-decoration-color var(--dur-quick) var(--ease-out-quiet)}.event-details__link:hover{text-decoration-color:currentcolor}.event-details__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:clamp(2.25rem,6vw,3rem)}.event-details__error{margin-top:.9rem;color:var(--color-chestnut);font-size:var(--step--1)}@media(min-width:40em){.event-details__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,6vw,4rem)}.event-details__item:nth-last-child(2){padding-bottom:0;border-bottom:0}}.photo-break{--p: .5;margin:0;padding-inline:var(--page-gutter);padding-block:clamp(1rem,4vw,2rem)}.photo-break__frame{position:relative;width:min(24rem,100%);margin-inline:auto;padding:clamp(.7rem,2vw,1.1rem) clamp(.75rem,2.1vw,1.2rem) clamp(.9rem,2.4vw,1.4rem) clamp(.65rem,1.9vw,1rem);background-color:var(--color-white);background-image:linear-gradient(168deg,#ffffff 0%,var(--color-paper) 100%);box-shadow:var(--shadow-lift);clip-path:polygon(.35% .8%,99.7% 0%,100% 99.2%,.6% 100%)}.photo-break__media{aspect-ratio:2 / 3;overflow:clip}.photo-break__media .photo__img{object-fit:contain}.section-heading{display:flex;flex-direction:column;gap:.9rem;margin-bottom:var(--block-gap)}.section-heading--center{align-items:center;text-align:center}.section-heading--start{align-items:flex-start;text-align:left}.section-heading__eyebrow{margin:0}.section-heading__title{margin:0;font-family:var(--font-display);font-size:var(--step-2);letter-spacing:.04em;color:var(--color-ink-blue)}.section-heading__title.script{font-family:var(--font-script);font-size:var(--step-3);letter-spacing:.01em}.dress-code__swatches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,5vw,2.5rem) clamp(1rem,4vw,2rem);margin:clamp(2rem,5vw,2.75rem) 0 0;padding:0;list-style:none}.dress-code__swatch{display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center}.dress-code__chip{display:block;width:clamp(3.75rem,15vw,5.5rem);aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 1px #fff9 inset,0 8px 20px -12px #0c161e8c;transition:transform var(--dur-calm) var(--ease-out-quiet)}.dress-code__swatch:hover .dress-code__chip,.dress-code__swatch:focus-within .dress-code__chip{transform:scale(1.04)}.dress-code__name{color:var(--color-ink-blue);font-family:var(--font-display);font-size:var(--step-0);line-height:1.3}@media(min-width:44em){.dress-code__swatches{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.dress-code__chip{transition:none}.dress-code__swatch:hover .dress-code__chip,.dress-code__swatch:focus-within .dress-code__chip{transform:none}}.flowers__illustration{width:clamp(6rem,22vw,9rem);height:auto;aspect-ratio:203 / 252;margin:clamp(1.75rem,5vw,2.5rem) auto 0;opacity:0;transform:translateY(8px);transition:opacity .9s var(--ease-soft) .15s,transform .9s var(--ease-soft) .15s}.is-visible .flowers__illustration{opacity:.6;transform:none}@media(prefers-reduced-motion:reduce){.flowers__illustration{opacity:.6;transform:none;transition:none}}.details-group__blocks{display:flex;flex-direction:column;gap:clamp(2.25rem,6vw,3.5rem);margin-top:clamp(1.5rem,4vw,2.25rem)}.detail-block{position:relative;display:flex;flex-direction:column;align-items:center;max-width:40rem;margin-inline:auto;text-align:center;opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease-soft),transform .7s var(--ease-soft)}.detail-block.is-visible{opacity:1;transform:none}.detail-block__title{margin:0 0 clamp(.85rem,2.5vw,1.25rem);color:var(--color-slate-blue);font-family:var(--font-display);font-size:var(--step-1);letter-spacing:var(--tracking-wide)}.detail-block__text{max-width:34rem;color:var(--color-ink-blue);font-family:var(--font-display);font-size:var(--step-0);line-height:1.62}@media(prefers-reduced-motion:reduce){.detail-block{opacity:1;transform:none;transition:none}}.gallery__text{max-width:34rem;margin-inline:auto;color:var(--color-ink-blue);font-family:var(--font-display);font-size:var(--step-0);line-height:1.62;text-align:center}.gallery__qr-block{display:flex;flex-direction:column;align-items:center;gap:clamp(1.5rem,4vw,2rem);margin-top:clamp(2.25rem,6vw,3rem)}.gallery__qr-frame{padding:clamp(.75rem,2.5vw,1.1rem);background:var(--color-white);box-shadow:var(--shadow-card)}.gallery__qr,.gallery__qr-placeholder{display:block;width:clamp(13.75rem,52vw,17rem);height:auto;aspect-ratio:1}.gallery__qr-placeholder{background:repeating-linear-gradient(135deg,var(--color-paper) 0 10px,var(--color-paper-edge) 10px 20px)}.gallery__link{max-width:100%;text-align:center}.gallery__missing{max-width:34rem;margin:clamp(2rem,5vw,2.5rem) auto 0;padding:1.1rem 1.35rem;border:1px dashed var(--color-chestnut);color:var(--color-earth);font-size:var(--step--1);line-height:1.6;text-align:left}.gallery__missing code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.92em}.wedding-footer{padding:clamp(3.5rem,8vw,5.5rem) var(--page-gutter) clamp(2.5rem,6vw,3.5rem);background-color:var(--color-charcoal-blue);background-image:linear-gradient(180deg,#3f5060 0%,var(--color-charcoal-blue) 100%);color:var(--color-paper);text-align:center}.wedding-footer__inner{display:flex;flex-direction:column;align-items:center;max-width:var(--measure);margin-inline:auto}.wedding-footer__monogram{color:var(--color-powder-blue);font-size:clamp(1.35rem,5vw,1.9rem)}.wedding-footer__names{margin-top:clamp(.75rem,2vw,1.1rem);color:var(--color-white);font-size:clamp(2rem,8vw,3rem)}.wedding-footer__motto{margin-top:clamp(.5rem,2vw,.9rem);color:var(--color-powder-blue);font-family:var(--font-display);font-size:var(--step-0);font-style:italic;letter-spacing:var(--tracking-wide)}.wedding-footer__rule{margin-block:clamp(1.75rem,5vw,2.5rem);background:#b5d1e659}.wedding-footer__meta{color:#eff6f3c7;font-family:var(--font-display);font-size:var(--step--1);letter-spacing:var(--tracking-wide)}.wedding-footer__replay{margin-top:clamp(1.5rem,4vw,2rem);color:#eff6f3e0}.wedding-footer__replay:hover{color:var(--color-white)}.wedding-footer :focus-visible{outline:2px solid var(--color-powder-blue);outline-offset:4px}@property --sheet-tuck{syntax: "<number>"; inherits: false; initial-value: 0;}.paper-scroll,.paper-scroll-footer{position:relative;z-index:2;width:min(var(--sheet-width),100%);margin-inline:auto}.paper-scroll{--sheet-tuck: 0;--sheet-grow: clamp(0, calc(var(--letter-p, 0) / .42), 1);overflow:hidden;margin-top:calc(var(--letter-mouth, 52svh) - var(--letter-height, 190svh));transform-origin:50% 0;transform:translateY(calc(var(--sheet-tuck) * 16svh)) perspective(3000px) rotateX(calc((1 - var(--sheet-grow)) * -6deg)) scale(calc(.62 + var(--sheet-grow) * .38));opacity:calc(1 - var(--sheet-tuck));transition:--sheet-tuck .9s var(--ease-soft) .85s;will-change:transform;background-color:var(--color-paper);background-image:linear-gradient(180deg,#ffffff 0%,var(--color-paper) 18%,#e9f1ee 100%);box-shadow:0 2px 4px #17232d1a,0 22px 50px -18px #0c161e8c}.paper-scroll.is-tucked{--sheet-tuck: 1;pointer-events:none}.paper-scroll-footer.is-tucked{opacity:0;transform:translateY(16svh);pointer-events:none}.paper-scroll-footer.is-out{opacity:1;transform:none;transition:opacity .7s var(--ease-soft),transform 1s var(--ease-soft)}.paper-scroll .section{background:none}.paper-scroll .botanical{--botanical-size: clamp(4.5rem, 12vw, 10rem)}.paper-scroll .botanical--bloom-open{--botanical-size: clamp(5rem, 14vw, 11.5rem)}.paper-scroll .botanical--top-right,.paper-scroll .botanical--top-left{top:clamp(.5rem,2vw,1.5rem)}.paper-scroll .botanical--bottom-left,.paper-scroll .botanical--bottom-right{bottom:clamp(.5rem,2vw,1.5rem)}.paper-scroll-footer{margin-bottom:clamp(3rem,12vh,8rem)}@media(prefers-reduced-motion:reduce){.paper-scroll,.paper-scroll-footer,.paper-scroll.is-tucked,.paper-scroll-footer.is-tucked{opacity:1;transform:none;transition:none;pointer-events:auto}.paper-scroll{margin-top:0}}
