:root{--green:#103e32;--cream:#f1e5c9;--gold:#d1a65a;--coral:#b86145;--serif:"Cormorant Garamond", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--cream);font-family:var(--serif);background:#eae7e0;margin:0;font-size:20px;line-height:1.4}button,input{font:inherit}a{color:inherit}img{object-fit:cover;max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500;line-height:1.06}h2{font-size:clamp(2rem,4vw,3rem)}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.skip{z-index:10;color:#123;background:#fff;padding:12px;position:absolute;top:-100px}.skip:focus{top:0}.demo-bar{color:#243649;background:#fffdf8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 5%;font:500 12px/1.5 Jost,sans-serif;display:flex}.demo-bar img{object-fit:contain;width:100px;height:35px}.demo-bar nav{align-items:center;gap:8px;display:flex}.demo-bar a{text-decoration:none}.choose{border-bottom:1px solid #243649}.textile{background:var(--green) url(/assets/wedding/bordado/linen.webp) repeat;background-size:600px;max-width:1180px;margin:auto;overflow:clip;box-shadow:0 0 70px #0002}.loading{text-align:center;padding:80px 24px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:12px;font-weight:600}.hero{isolation:isolate;grid-template-columns:minmax(0,1fr) 70px;padding:35px 24px 0;display:grid;position:relative}.hero-copy{padding-right:12px}.hero .eyebrow{letter-spacing:.35em;margin-bottom:15px;font-size:10px}h1{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(3.3rem,10.8vw,6.6rem);line-height:.92}h1 span{display:block}h1 i{color:var(--gold);margin-left:24%;font-size:.58em;font-weight:400;line-height:.8;display:block}.love-note{margin-top:18px;font-family:Caveat,cursive;font-size:clamp(1.3rem,4.5vw,2rem);line-height:1.15}.date-ribbon{letter-spacing:.1em;text-transform:uppercase;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;gap:13px;padding-left:14px;font-size:24px;display:flex;position:relative}.date-ribbon:before{content:"";border-left:2px dashed var(--gold);transform-origin:top;position:absolute;inset:-35px auto -5px 0}.date-ribbon span:not(:first-child):before{content:"";background:var(--gold);width:13px;height:1px;margin:0 auto 12px;display:block;transform:rotate(-23deg)}.date-ribbon small{letter-spacing:0;text-align:center;font:400 10px Jost,sans-serif}.hero-embroidery{z-index:-1;grid-column:1/-1;height:105px;margin:2px -24px -12px;position:relative}.flowers{object-fit:contain;width:100%;height:100%}.hero-embroidery>.flowers{object-fit:fill}.bird{width:78px;height:78px;display:block;position:absolute;bottom:6px}.bird img{object-fit:contain;transform-origin:50% 85%;width:100%;height:100%}.bird--left{left:7%}.bird--right{right:7%;transform:scaleX(-1)}.countdown{text-align:center;border-bottom:2px dashed var(--gold);grid-column:1/-1;padding:0 0 13px;font-size:16px}.countdown small{letter-spacing:.14em;opacity:.8;margin-top:3px;font:400 9px Jost,sans-serif;display:block}.story-photo{position:relative}.story-photo>img{aspect-ratio:1.55;object-position:center 43%;width:100%}.story-photo figcaption{white-space:nowrap;background:var(--coral);outline:3px solid var(--coral);z-index:1;border:1px dashed #edc698;padding:7px 25px;font-size:23px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(-1deg);box-shadow:0 4px 5px #0003}.story-photo figcaption:before,.story-photo figcaption:after{content:"×";color:var(--gold);margin:0 10px}.story-chapter{color:#512e27;background-color:#dfbba1;background-image:linear-gradient(#ecccb3dc,#ecccb3dc),url(/assets/wedding/bordado/linen.webp);background-size:500px;border-block:2px dashed #e7d1b5;grid-template-columns:30% 1fr;gap:15px;padding:25px 24px;display:grid}.story-chapter h2{margin-bottom:10px;font-size:30px}.story-chapter h2:after{content:"";background:currentColor;width:24px;height:1px;margin-top:10px;display:block}.story-chapter p{max-width:320px;font-size:20px;line-height:1.15}.chapter-flower{min-height:100px;position:relative;overflow:hidden}.chapter-flower .flowers{object-fit:cover;width:330%;max-width:none;height:140px;position:absolute;top:-8px;left:-55%;transform:rotate(-24deg)}.contact-strip{background:var(--cream);border-bottom:2px dashed var(--cream);grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;display:grid}.contact-strip figure{overflow:hidden}.contact-strip img{aspect-ratio:1.18;object-fit:cover;width:100%;height:100%}.contact-strip figure:nth-child(2) img{object-position:65% center}.itinerary{border-bottom:2px dashed var(--gold);--progress:1;margin:0 24px;padding:25px 5px 5px 55px;position:relative}.itinerary article{padding:0 0 27px;position:relative}.itinerary .eyebrow{color:var(--gold);margin:0 0 5px}.itinerary h2{font-size:31px}.itinerary p:not(.eyebrow){margin:6px 0 9px;font-size:18px}.itinerary p.address{opacity:.8;font:400 11px Jost,sans-serif}.itinerary-thread{border-left:2px dashed #d1a65a35;position:absolute;top:0;bottom:0;left:25px}.itinerary-thread span{border-left:2px dashed var(--gold);transform:scaleY(var(--progress));transform-origin:top;display:block;position:absolute;top:0;bottom:0;left:-2px}.thread-flower{color:var(--gold);text-shadow:1px 2px #644821;font-size:32px;line-height:1;position:absolute;top:20px;left:-42px}.stitched-link{border:1px solid var(--gold);border-radius:3px;align-items:center;gap:15px;min-height:44px;padding:6px 15px;font-size:16px;text-decoration:none;transition:background .2s;display:inline-flex}.stitched-link:hover{background:#d1a65a25}.details{padding:24px}.details>h2{margin-bottom:14px;font-size:30px}.detail-item{border-top:1px dashed #e4d4ab9c}.detail-toggle{text-align:left;width:100%;color:inherit;font:500 25px/1.2 var(--serif);background:0 0;border:0;padding:14px 35px 14px 5px;display:block;position:relative}.detail-toggle small{margin-top:4px;font-size:16px;line-height:1.4;display:block}.detail-toggle>span{font-size:30px;transition:transform .35s;position:absolute;top:24px;right:8px}.detail-toggle[aria-expanded=true]>span{transform:rotate(45deg)}.detail-panel{visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .35s,visibility .35s;display:grid}.detail-panel.is-open{visibility:visible;grid-template-rows:1fr}.detail-panel>div{font:400 14px/1.7 Jost,sans-serif;overflow:hidden}.detail-panel p{margin:0 5px 18px}.detail-panel ul{padding-left:24px}.gift-links{flex-wrap:wrap;gap:10px;display:flex}.is-open .gift-links{padding:8px 5px 18px}.rsvp-wrap{padding:14px 29px 0}.rsvp-card{text-align:center;color:#25372c;background-color:#eadcc3;background-image:linear-gradient(#f4e7d1ed,#f4e7d1ed),url(/assets/wedding/bordado/linen.webp);background-size:500px;border:2px dashed #aa8861;outline:4px solid #e8d9be;padding:30px 18px 24px;position:relative;transform:rotate(-1.8deg);box-shadow:0 10px 20px #0005}.rsvp-card .eyebrow{letter-spacing:.14em;font-size:9px}.rsvp-card h2{margin:8px 0;font-size:33px}.rsvp-card p{font-size:18px}.corner{color:#9b6438;text-shadow:1px 1px #f5e8c8;font:32px Georgia;position:absolute}.tl{top:0;left:4px}.tr{top:0;right:4px}.bl{bottom:0;left:4px}.br{bottom:0;right:4px}form{margin-top:15px}form>label{margin-bottom:8px;font:400 10px Jost,sans-serif;display:block}.pass-stepper{border:1px solid #52604c;border-radius:9px;justify-content:center;width:168px;margin:0 auto 15px;display:flex;overflow:hidden}.pass-stepper button{width:48px;min-height:44px;color:inherit;background:0 0;border:0;font-size:28px}.pass-stepper input{-moz-appearance:textfield;appearance:textfield;text-align:center;border:0;width:65px;color:inherit;font:500 28px var(--serif);background:0 0;border-inline:1px solid #52604c33;border-radius:0;padding:0}.pass-stepper input::-webkit-inner-spin-button,.pass-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.confirm{background:var(--green);border:1px dashed var(--gold);outline:2px solid var(--green);width:100%;min-height:48px;color:var(--cream);border-radius:2px;padding:10px;font-size:20px;transition:background .2s}.confirm:hover{background:#1c5140}.rsvp-card .deadline{margin-top:12px;font:400 10px/1.5 Jost,sans-serif}.demo-note{opacity:.7;margin-top:4px;font:400 9px/1.5 Jost,sans-serif;display:block}#rsvp-error{color:#813b2b;margin-top:10px;font:400 13px Jost,sans-serif}#rsvp-result{padding:15px 0}#rsvp-result h3{font-size:29px}.stitched-check{width:56px;height:56px;stroke:var(--green);stroke-width:3px;fill:none;stroke-linecap:round}.signature{text-align:center;padding:0 25px 25px;font-size:16px}.signature a{text-decoration:none}.signature-embroidery{max-width:350px;height:95px;margin:10px auto 0;position:relative}.signature-embroidery .bird{width:70px;height:70px;bottom:20px;left:43%}.motion-enabled .date-ribbon:before{animation:1.1s both sew}.motion-enabled .hero-copy{animation:.85s .35s both unfold}.motion-enabled .reveal{opacity:0;transition:opacity .7s calc(var(--order,0) * .12s), transform .7s calc(var(--order,0) * .12s);transform:translateY(18px)}.motion-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-enabled .rsvp-card.reveal{transform:translateY(20px)rotate(-5deg)}.motion-enabled .rsvp-card.is-visible{transform:translateY(0)rotate(-1.8deg)}.motion-enabled .stitched-check path{stroke-dasharray:60;animation:.8s both check-sew}@keyframes sew{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes unfold{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes check-sew{0%{stroke-dashoffset:60px}to{stroke-dashoffset:0}}@media (width>=600px){.hero{grid-template-columns:minmax(0,1fr) 110px;padding:50px 8% 0}.hero .eyebrow{font-size:13px}.date-ribbon{font-size:32px}.hero-embroidery{height:155px;margin-inline:-9.6%}.bird{width:115px;height:115px}.countdown{font-size:21px}.story-chapter{gap:25px;padding:35px 9%}.story-chapter h2{font-size:38px}.story-chapter p{font-size:25px}.chapter-flower{max-width:180px}.itinerary{margin-inline:9%;padding-left:85px}.itinerary-thread{left:40px}.thread-flower{left:-60px}.details{padding:35px 9%}.rsvp-wrap{max-width:650px;margin:auto;padding:30px 35px 0}.rsvp-card{padding:40px}.rsvp-card h2{font-size:43px}.rsvp-card .eyebrow{font-size:12px}.signature-embroidery{max-width:440px;height:135px}}@media (width>=900px){.textile{margin:24px auto}.hero{grid-template-columns:minmax(0,1fr) 170px;padding-top:65px}.hero-copy{padding-left:35px}h1{font-size:110px}.love-note{font-size:36px}.date-ribbon{font-size:40px}.hero-embroidery{height:185px}.hero-embroidery .bird{width:145px;height:145px}.story-photo>img{aspect-ratio:2.2}.story-photo figcaption{font-size:30px}.story-chapter{grid-template-columns:180px 1fr;padding-block:35px}.story-chapter>div:last-child{align-items:center;gap:45px;display:flex}.story-chapter h2{white-space:nowrap}.contact-strip img{aspect-ratio:1.8}.celebration-layout{grid-template-columns:1fr 1fr;gap:45px;padding:45px 6% 0;display:grid}.itinerary{border-bottom:0;margin:0;padding:0 0 0 65px}.itinerary-thread{left:22px}.thread-flower{left:-56px}.details{padding:0}.details>h2{font-size:34px}.rsvp-wrap{padding-top:40px}.signature{padding-bottom:35px}}@media (width<=359px){.hero{grid-template-columns:minmax(0,1fr) 58px;padding-inline:16px}h1{font-size:48px}.hero-embroidery{margin-inline:-16px}.date-ribbon{font-size:20px}.love-note{font-size:21px}.story-chapter{padding-inline:16px}.rsvp-wrap{padding-inline:19px}.rsvp-card{padding-inline:12px}.demo-bar{gap:8px}.choose{font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1!important}.itinerary-thread span{transform:none}}.itinerary-events{position:relative}.itinerary>#itinerary-title{margin:0 0 28px;font-size:30px}.itinerary .itinerary-thread{left:-30px}.attire-preview{background:#f1e5c9;border:1px dashed #d1a65a88;margin:0 5px 18px;padding:12px}.attire-preview img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:auto;max-height:230px;display:block}@media (width>=600px){.itinerary .itinerary-thread{left:-45px}}@media (width>=900px){.hero-embroidery{aspect-ratio:3;width:min(100%,900px);height:auto;margin:12px auto -20px}.hero-embroidery>.flowers{object-fit:contain}.hero-embroidery .bird{width:120px;height:120px;bottom:14%}.hero-embroidery .bird--left{left:11%}.hero-embroidery .bird--right{right:11%}.celebration-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"itinerary itinerary""details rsvp";align-items:start;gap:48px 56px;padding:52px 7% 16px}.itinerary{grid-area:itinerary;margin:0;padding:0}.itinerary>#itinerary-title{text-align:center;margin-bottom:30px;font-size:38px}.itinerary-events{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.itinerary article{border-bottom:1px dashed #d1a65a77;flex-direction:column;align-items:flex-start;min-width:0;padding:44px 24px 24px;display:flex}.itinerary .itinerary-thread{border-top:2px dashed #d1a65a35;border-left:0;height:2px;inset:12px 24px auto}.itinerary-thread span{border-left:0;border-top:2px dashed var(--gold);height:2px;transform:scaleX(var(--progress));transform-origin:0;inset:-2px 0 auto}.thread-flower{background:var(--green);padding-inline:4px;top:-3px;left:12px}.itinerary article h2{font-size:35px}.itinerary article .stitched-link{margin-top:auto}.itinerary article p.address{margin-bottom:18px}.details{grid-area:details;padding:0}.details>h2{margin-bottom:20px;font-size:34px}.detail-toggle{padding-block:16px}.attire-preview{margin-bottom:20px;padding:16px}.attire-preview img{max-height:250px}.celebration-layout>.rsvp-wrap{grid-area:rsvp;align-self:center;width:100%;max-width:none;margin:0;padding:24px 10px}.rsvp-card{padding:38px 24px 30px}.rsvp-card h2{font-size:38px}.rsvp-card .eyebrow{letter-spacing:.12em;font-size:10px}}@media (prefers-reduced-motion:reduce){.itinerary-thread span{transform:none}}
