@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/playfair-400-C9R13A4T.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/cormorant-400-CcMwh_Oo.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/cormorant-500-Ds4LXQkf.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/cormorant-600-DnEJjOV_.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/cormorant-400i-CdQ3g9dB.woff2) format("woff2")}@font-face{font-family:Marck Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/marck-400-CIXT_YHY.woff2) format("woff2")}:root{--cream: #f8f2e7;--cream-deep: #f1e5dc;--paper: #fdfaf4;--ink: #141210;--ink-body: #2b2620;--ink-soft: #6f6558;--ink-faint: #746b60;--wine: #7b1e2b;--wine-deep: #5a1220;--wine-soft: #96525a;--wine-wash: #7b1e2b14;--rule: #ddd0be;--rule-soft: #948e85;--error: #a3302b;--success: #4f6b45;--font-display: "Playfair Display", "Times New Roman", serif;--font-body: "Cormorant Garamond", "Times New Roman", serif;--font-script: "Marck Script", "Segoe Script", cursive;--page-width: 620px;--stage-width: 684px;--art-width: 420px;--art-band: 460px;--gutter: 32px;--section-gap: 72px;--radius-sm: 8px;--radius-pill: 999px;--shadow-soft: 0 2px 20px rgba(20, 18, 16, .06);--ease-out: cubic-bezier(.22, .61, .36, 1);--reveal-duration: .72s}@media(max-width:560px){:root{--gutter: 22px;--section-gap: 56px}}@media(min-width:900px){:root{--page-width: 720px;--stage-width: 900px;--art-width: 600px;--art-band: 720px;--gutter: 40px;--section-gap: 104px}}@media(min-width:1280px){:root{--page-width: 760px;--stage-width: 1040px;--art-width: 660px;--art-band: 820px;--section-gap: 120px}}@media(prefers-reduced-motion:reduce){:root{--reveal-duration: 1ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--cream);color:var(--ink-body);font-family:var(--font-body);font-size:18px;line-height:1.62;font-weight:400;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;overflow-x:clip}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}.page{max-width:var(--page-width);margin:0 auto;padding:0 var(--gutter)}.section{padding:var(--section-gap) 0}.section--tight{padding-top:calc(var(--section-gap) * .5)}h1,h2,h3,.section-title,.lead,.script-line{-webkit-hyphens:none;hyphens:none}.section-title{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,6vw,34px);line-height:1.2;color:var(--ink);text-align:center;text-wrap:balance;margin-bottom:36px}.eyebrow{font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.lead{font-size:clamp(18px,4.4vw,21px);line-height:1.6;text-align:center;text-wrap:balance;color:var(--ink-body)}.muted{color:var(--ink-soft)}.rule{height:1px;background:var(--rule);border:0}.rule-art{display:block;width:min(100%,var(--art-band));margin:8px auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 28px;border:0;border-radius:var(--radius-pill);background:var(--wine);color:var(--cream);font-family:var(--font-body);font-size:20px;font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease-out),transform .2s var(--ease-out)}.button:hover{background:var(--wine-deep)}.button:active{transform:translateY(1px)}.button--ghost{background:transparent;color:var(--wine);border:1px solid var(--wine)}.button--ghost:hover{background:var(--wine);color:var(--cream)}.link{color:inherit;text-decoration:underline;text-decoration-color:var(--wine-soft);text-decoration-thickness:1px;text-underline-offset:.22em;transition:text-decoration-color .18s var(--ease-out)}.link:hover{text-decoration-color:var(--wine)}:focus-visible{outline:2px solid var(--wine);outline-offset:3px}.stage{width:var(--stage-width);max-width:calc(100vw - var(--gutter) * 2);margin-left:50%;transform:translate(-50%)}.art{display:block;margin:0 auto}.art--line{opacity:.9}.reveal{transition:opacity var(--reveal-duration) var(--ease-out),transform var(--reveal-duration) var(--ease-out)}.reveal.is-armed{opacity:0;transform:translateY(18px)}.reveal.is-armed.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal.is-armed{opacity:1;transform:none;transition:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(min-width:900px){body{font-size:22px;line-height:1.6}.section-title{font-size:clamp(40px,4vw,50px);margin-bottom:52px}.lead{font-size:clamp(23px,2.3vw,27px)}.rule-art{width:min(100%,560px)}}@media(min-width:1280px){body{font-size:24px}}@media(max-height:520px)and (orientation:landscape){:root{--section-gap: 44px}.hero{padding-top:28px}}@media(forced-colors:active){.button{border:1px solid ButtonBorder}.calendar__grid .is-stay{text-decoration:underline}}.hero{padding:56px 0 40px}.hero__top{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-body);font-size:18px;letter-spacing:.16em;color:var(--ink-soft);margin-bottom:30px}.hero__names{font-family:var(--font-display);font-weight:400;font-size:clamp(40px,12.4vw,72px);line-height:1.04;letter-spacing:-.005em;color:var(--ink);text-transform:uppercase;margin-bottom:28px;-webkit-hyphens:none;hyphens:none}.hero__name{display:block;white-space:nowrap}.hero__amp{font-style:italic;letter-spacing:0;margin-right:.3em}.hero__date-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.hero__date{font-family:var(--font-display);font-size:clamp(38px,11vw,62px);line-height:1.04;color:var(--wine)}.hero__date span{display:block}.hero__disco{width:clamp(96px,26vw,150px);height:auto;flex:none;margin-top:6px}.scene{position:relative;margin:4px calc(var(--gutter) * -1) 0}.scene__table{width:100%;height:auto;position:relative;z-index:2;mask-image:linear-gradient(180deg,#000 72%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%)}.scene__kids{position:absolute;left:50%;bottom:44%;transform:translate(-50%);width:46%;max-width:360px;height:auto;z-index:1}@media(max-width:560px){.hero{padding-top:40px}.hero__top{margin-bottom:22px}.scene__kids{width:50%}}@media(min-width:900px){.hero{padding:88px 0 56px}.hero__top{font-size:26px;letter-spacing:.2em;margin-bottom:52px}.hero__names{font-size:clamp(72px,7.4vw,104px);margin-bottom:40px}.hero__date{font-size:clamp(56px,5.6vw,78px)}.hero__disco{width:clamp(150px,15vw,210px)}.scene{width:min(1600px,100vw);max-width:none;margin-left:50%;translate:-50% 0}.scene__table{width:100%;mask-image:linear-gradient(180deg,#000 72%,transparent 100%),linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%),linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}.scene__kids{width:38%;max-width:560px}}@media(max-width:340px){.hero__names{font-size:clamp(28px,11.8vw,40px)}:root{--gutter: 16px}}.calendar{margin-top:40px}.calendar__month{font-family:var(--font-script);font-size:30px;line-height:1.2;color:var(--wine);text-align:center;margin-bottom:14px}.calendar__grid{width:100%;max-width:400px;margin:0 auto;border-collapse:collapse;font-family:var(--font-body);text-align:center;font-variant-numeric:lining-nums tabular-nums}.calendar__grid th{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding-bottom:10px}.calendar__grid td{font-size:18px;color:var(--ink-body);width:14.2857%;padding:9px 0;vertical-align:middle;position:relative}.calendar__grid .is-empty{color:transparent}.calendar__grid .is-stay{color:var(--wine-soft)}.calendar__grid .is-stay:after{content:"";position:absolute;left:50%;bottom:4px;width:16px;height:1px;background:var(--wine-soft);transform:translate(-50%);opacity:.6}.calendar__grid .is-wedding{color:var(--cream);font-weight:500}.calendar__day{position:relative;z-index:1}.calendar__heart{position:absolute;inset:50% auto auto 50%;width:2.5em;height:auto;transform:translate(-50%,-42%);fill:var(--wine)}.calendar__note{text-align:center;font-size:15px;margin-top:16px;text-wrap:balance}@media(max-width:400px){.calendar__grid td{font-size:16px}}@media(min-width:900px){.calendar{margin-top:56px}.calendar__month{font-size:38px}.calendar__grid{max-width:540px}.calendar__grid td{font-size:20px;padding:12px 0}}.calendar-add{margin-top:34px;text-align:center}.calendar-add__title{font-family:var(--font-display);font-size:22px;color:var(--ink);margin-bottom:16px}.calendar-add__buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.calendar-add__hint{font-size:16px;margin-top:14px;text-wrap:balance}@media(min-width:900px){.calendar-add{margin-top:46px}.calendar-add__title{font-size:26px}.calendar-add__hint{font-size:18px}}@media(forced-colors:active){.calendar__heart{fill:Highlight}.calendar__grid .is-wedding{color:HighlightText;forced-color-adjust:none}}.timeline{list-style:none;counter-reset:none;position:relative}.timeline__item{display:grid;grid-template-columns:92px 1fr;gap:22px;align-items:start;padding-bottom:44px;position:relative}.timeline__item:not(:last-child):before{content:"";position:absolute;left:46px;top:96px;bottom:14px;border-left:2px dotted var(--wine-soft);opacity:.55}.timeline__art{width:92px;height:auto;justify-self:center}.timeline__time{font-family:var(--font-display);font-size:32px;line-height:1.1;color:var(--wine)}.timeline__label{font-family:var(--font-body);font-size:22px;font-weight:500;color:var(--ink);margin-bottom:10px}.timeline__place{font-size:21px;color:var(--ink)}.timeline__address{font-size:18px;line-height:1.5;margin-bottom:12px}.timeline__body>p+p{margin-top:10px}.note{margin-top:16px;padding:16px 20px;background:var(--wine-wash);border-left:2px solid var(--wine);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:18px;line-height:1.62;color:var(--ink-body)}@media(min-width:900px){.timeline{max-width:620px;margin:0 auto}.timeline__item{grid-template-columns:104px 1fr;gap:30px;padding-bottom:56px}.timeline__art{width:104px}.timeline__item:not(:last-child):before{left:52px;top:118px}.timeline__time{font-size:40px}.timeline__label{font-size:25px}.timeline__place{font-size:24px}.timeline__address,.note{font-size:20px}}@media(max-width:560px){.timeline__item{grid-template-columns:64px 1fr;gap:16px}.timeline__art{width:64px}.timeline__item:not(:last-child):before{left:32px;top:70px}.timeline__time{font-size:26px}}.schedule-note{margin-top:34px;padding:24px 26px;background:var(--cream-deep);border-radius:var(--radius-sm)}.schedule-note__title{font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--wine);margin-bottom:16px}.schedule-note__list{list-style:none;display:grid;gap:12px}.schedule-note__list li{position:relative;padding-left:22px;font-size:18px;line-height:1.55}.schedule-note__list li:before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;background:var(--wine);transform:rotate(45deg);opacity:.75}@media(min-width:900px){.schedule-note{margin-left:134px;padding:28px 32px}.schedule-note__list li{font-size:20px}}.details__art{width:100%;max-width:var(--art-width);margin:0 auto 36px}.details{display:grid;gap:30px}.detail__title{font-family:var(--font-display);font-style:italic;font-size:25px;font-weight:400;color:var(--wine);margin-bottom:6px}.detail p{font-size:20px;line-height:1.62}@media(min-width:900px){.details__art{margin-bottom:52px}.details{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;width:min(var(--stage-width),780px);max-width:calc(100vw - var(--gutter) * 2);margin-left:50%;transform:translate(-50%)}.detail__title{font-size:28px}.detail p{font-size:21px}}.rsvp__art{width:100%;max-width:var(--art-width);margin:0 auto 28px}.form{margin-top:36px;display:grid;gap:30px}.form__trap{position:absolute;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none}.field{border:0;display:grid;gap:8px}.field__label{font-family:var(--font-body);font-size:20px;font-weight:500;color:var(--ink);padding:0}.field__label--small{font-size:16px;font-weight:400}.field__hint{font-size:17px;margin-top:-4px}.field__input{width:100%;font-size:19px;font-family:var(--font-body);color:var(--ink-body);background:var(--paper);border:1px solid var(--rule-soft);border-radius:var(--radius-pill);padding:13px 20px;min-height:48px;transition:border-color .18s var(--ease-out)}.field__input:hover{border-color:var(--wine-soft)}.field__input:focus:not(:focus-visible){border-color:var(--wine);outline:none}.field__input:focus-visible{border-color:var(--wine)}.field__input--area{border-radius:var(--radius-sm);resize:vertical;line-height:1.55}.field__input[aria-invalid=true]{border-color:var(--error)}.field__error{font-size:15px;color:var(--error)}.field__nested{margin-top:6px;padding-left:30px}.choice{display:flex;align-items:center;gap:14px;min-height:40px;cursor:pointer;font-size:20px;color:var(--ink-body)}.choice input{appearance:none;flex:none;width:22px;height:22px;margin:0;border:1px solid var(--wine-soft);background:var(--paper);cursor:pointer;transition:border-color .16s var(--ease-out),background-color .16s var(--ease-out)}.choice input[type=radio]{border-radius:50%}.choice input[type=checkbox]{border-radius:5px}.choice input:checked{border-color:var(--wine);background:var(--wine);box-shadow:inset 0 0 0 4px var(--paper)}.choice input[type=checkbox]:checked{box-shadow:inset 0 0 0 3px var(--paper)}.choice:hover input{border-color:var(--wine)}.form__submit{justify-self:start;min-width:180px}.form__submit[disabled]{background:var(--wine-soft);cursor:progress}.form__status{font-size:16px;color:var(--error);margin-top:-14px}.form__status:empty{visibility:hidden;min-height:1em}.form__done{text-align:center;padding:40px 24px;background:var(--cream-deep);border-radius:var(--radius-sm)}.form__done-title{font-family:var(--font-display);font-size:30px;color:var(--wine);margin-bottom:8px}@media(max-width:560px){.form__submit{justify-self:stretch}}@media(min-width:900px){.rsvp__art{margin-bottom:40px}.form{max-width:620px;margin:44px auto 0;gap:34px}.field--columns{grid-template-columns:1fr 1fr;column-gap:24px}.field--columns>.field__label,.field--columns>.field__hint{grid-column:1 / -1}}@media(forced-colors:active){.choice input{border:1px solid ButtonBorder;background:Canvas;box-shadow:none}.choice input:checked{background:Highlight;border:4px solid Canvas;outline:1px solid ButtonBorder;outline-offset:-5px}.choice input[type=checkbox]:checked{border-width:3px;outline-offset:-4px}}.script-line{font-family:var(--font-script);font-size:clamp(30px,8vw,40px);line-height:1.25;color:var(--wine);text-align:center;margin-bottom:28px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);max-width:440px;margin:0 auto;text-align:center}.countdown__cell{display:grid;gap:2px;padding:0 6px;border-left:1px solid var(--rule)}.countdown__cell:first-child{border-left:0}.countdown__value{font-family:var(--font-display);font-size:clamp(24px,6.5vw,32px);line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}.countdown__unit{font-family:var(--font-body);font-size:14px;letter-spacing:.06em;color:var(--ink-soft)}.countdown--done{font-family:var(--font-display);font-size:26px;color:var(--wine);display:block}@media(min-width:900px){.script-line{font-size:clamp(40px,4.2vw,52px);margin-bottom:40px}.countdown{max-width:520px}.countdown__value{font-size:40px}.countdown__unit{font-size:15px}}.contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:32px}.contact{display:grid;gap:4px;justify-items:center;padding:22px 18px;border:1px solid var(--rule);border-radius:var(--radius-pill);background:var(--paper);text-decoration:none;transition:border-color .2s var(--ease-out),background-color .2s var(--ease-out)}.contact:hover{border-color:var(--wine);background:var(--cream-deep)}.contact__name{font-family:var(--font-display);font-size:26px;color:var(--ink)}.contact__handle{font-size:17px;color:var(--wine)}.footer{padding:40px 0 64px;text-align:center}.footer__garland{width:100%;max-width:var(--art-band);margin:0 auto 34px}.footer__line{font-family:var(--font-display);font-size:clamp(24px,6vw,30px);line-height:1.3;color:var(--ink);margin-bottom:10px;text-wrap:balance}.footer__meta{display:block;margin-bottom:30px}.footer__dancers{width:100%;max-width:var(--art-band);margin:0 auto}@media(min-width:900px){.footer{padding:56px 0 96px}.footer__garland{margin-bottom:48px}}@media print{*,*:before,*:after{transition:none!important;animation:none!important}.reveal,.reveal.is-armed{opacity:1!important;transform:none!important}body{background:#fff;color:#000;font-size:12pt}.page{max-width:none;padding:0}.section{padding:14pt 0}#rsvp .form,#rsvp .form__done,#rsvp .rsvp__art,.countdown,.calendar-add__buttons{display:none!important}.button{background:none!important;color:#000!important;border:1pt solid #000;padding:4pt 10pt;min-height:0}.rule{border-top:.5pt solid #999;height:0;background:none}h1,h2,h3,.section-title,.calendar__month{break-after:avoid;page-break-after:avoid}.timeline__item,.place,.detail,.calendar,.contact{break-inside:avoid;page-break-inside:avoid}.contact:after{content:" — " attr(href);font-size:9pt;color:#444}.place .button:after{content:""}.calendar-add__hint,.calendar-add__title{display:none!important}.art{max-height:55mm;width:auto}.scene__table{max-height:70mm}}
