body:has(.castle-entrance)>header{display:none}html:has(.castle-entrance){--page-edge:var(--sage)}.castle-entrance{--exterior-opacity:1;--title-opacity:1;--welcome-opacity:0;--welcome-stroke:1;--welcome-caption:0;background:var(--ivory);isolation:isolate;position:relative}.castle-entrance[data-motion=ready]{height:260svh}.entrance-stage{background:var(--ivory);height:100dvh;min-height:520px;position:sticky;top:0;overflow:hidden}.castle-illustration,.castle-interior{position:absolute;inset:0}.castle-illustration{opacity:var(--exterior-opacity);will-change:opacity}.castle-illustration img,.castle-interior img{object-fit:cover}.castle-interior:after{content:"";background:radial-gradient(#1e231d08 15%,#1e231d33 100%);position:absolute;inset:0}.entrance-vignette{pointer-events:none;background:linear-gradient(90deg,#14241b55,#0000 70%),linear-gradient(#14241b22,#0000 30% 70%,#14241b44);position:absolute;inset:0}.entrance-title{color:#fff9e9;text-shadow:0 2px 24px #22251a55;pointer-events:none;opacity:var(--title-opacity);position:absolute;top:24%;left:8%}.entrance-title>p{letter-spacing:3.5px;margin-bottom:20px;font-size:10px}.entrance-title h2{font:400 clamp(64px, 7.5vw, 112px)/.95 var(--serif);letter-spacing:-2.5px;margin:0 0 30px}.entrance-title h2 em{font-weight:400}.entrance-title>span{letter-spacing:2.3px;font-size:9px}.arrival-chrome{z-index:10;color:#fff6e3;text-shadow:0 1px 8px #1d231a88;justify-content:space-between;align-items:center;padding:25px 5%;display:flex;position:absolute;inset:0 0 auto}.arrival-chrome a{color:inherit;font:10px var(--sans);letter-spacing:.8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#26392c45;border:1px solid #fff7e345;align-items:center;gap:10px;padding:10px 15px;display:flex}.entrance-scroll{bottom:calc(40px + env(safe-area-inset-bottom,0px));color:#fff9e9;letter-spacing:2.5px;white-space:nowrap;text-shadow:0 1px 8px #18281988;opacity:var(--title-opacity);flex-direction:column;align-items:center;gap:12px;font-size:9px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.illustrated-welcome{color:#fff9e9;pointer-events:none;opacity:var(--welcome-opacity);background:radial-gradient(#161d1640,#0000 70%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.welcome-script{filter:drop-shadow(0 2px 8px #17221966);width:min(680px,80vw);overflow:visible}.welcome-script path{stroke:currentColor;stroke-width:3.8px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:var(--welcome-stroke)}.illustrated-welcome p{font:10px var(--sans);letter-spacing:3.5px;text-shadow:0 2px 14px #172219;opacity:var(--welcome-caption);margin:0}.home-revealed{background:var(--ivory);outline:none;position:relative}.home-revealed .hero-copy{padding-bottom:38px}.home-revealed .hero .castle-art,.home-revealed .hero .scroll-cue{display:none}@media (max-width:700px){.castle-entrance[data-motion=ready]{height:235svh}.entrance-stage{min-height:440px}.castle-illustration img{object-position:42% center}.castle-interior img{object-position:44% center}.entrance-title{top:20%;left:7%}.entrance-title h2{max-width:290px;font-size:70px}.entrance-title>span{letter-spacing:1.4px;font-size:8px}.arrival-chrome{padding:20px 6%}.arrival-chrome a{padding:10px;font-size:9px}.welcome-script{width:90vw}.illustrated-welcome p{letter-spacing:2.5px;font-size:8px}}.arrival-chrome{padding-top:calc(25px + env(safe-area-inset-top,0px));padding-left:max(5%, calc(env(safe-area-inset-left,0px) + 12px));padding-right:max(5%, calc(env(safe-area-inset-right,0px) + 12px))}@media (prefers-reduced-motion:reduce){.castle-entrance[data-motion=ready]{height:auto}.castle-illustration{opacity:1;will-change:auto}.entrance-title,.entrance-scroll{opacity:1}.illustrated-welcome{display:none}}
@font-face{font-family:Invitation Garamond;src:url(/fonts/EBGaramond-normal-400.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Invitation Garamond;src:url(/fonts/EBGaramond-normal-500.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Invitation Garamond;src:url(/fonts/EBGaramond-italic-400.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}.card-unwrapping{--cover-opacity:1;--card-gutter:clamp(16px, 3svh, 32px);--card-top:max(var(--card-gutter), env(safe-area-inset-top,0px));--card-bottom:max(var(--card-gutter), env(safe-area-inset-bottom,0px));isolation:isolate;background:#dfe1d3;position:relative;overflow:clip}.invitation-scene{isolation:isolate;height:100svh;padding:var(--card-top) max(18px, env(safe-area-inset-right,0px)) var(--card-bottom) max(18px, env(safe-area-inset-left,0px));position:sticky;top:0}.invitation-tabletop{z-index:-1;pointer-events:none;background:#dfe1d3 url(/images/invitation-sage-paper.webp) 50%/640px 640px;position:absolute;inset:0}.invitation-tabletop:after{content:"";background:radial-gradient(at 30% 20%,#f5f2e838,#dfe1d326 65%,#80907812);position:absolute;inset:0}.card-scroll-space{display:none}.card-unwrapping[data-animated=true] .card-scroll-space{height:55svh;display:block}.card-stage{isolation:isolate;width:100%;max-width:740px;margin:auto;position:relative}.invitation-setting{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.invitation-setting>div{position:absolute}.invitation-setting img{object-fit:contain;filter:drop-shadow(2px 7px 5px #34452b16)}.invitation-setting-fern{aspect-ratio:2/3;width:clamp(280px,35vw,480px);top:-4%;left:clamp(-290px,-23vw,-150px);transform:rotate(-12deg)}.invitation-setting-feather{aspect-ratio:2/3;width:clamp(180px,22vw,280px);top:8%;right:clamp(-230px,-20vw,-120px);transform:rotate(19deg)}.invitation-setting-ribbon{aspect-ratio:3/2;width:clamp(320px,42vw,540px);bottom:-6%;right:clamp(-320px,-27vw,-150px);transform:rotate(-14deg)}.card-paper{height:calc(100svh - var(--card-top) - var(--card-bottom));isolation:isolate;position:relative;box-shadow:0 2px 4px #3f493326,0 18px 45px #3f49331a,0 45px 70px -50px #28332260}.invitation-letter{--invitation-font:"Invitation Garamond", Georgia, serif;scrollbar-width:thin;scrollbar-color:#baad8d #f7f1e4;text-align:center;color:#354634;height:100%;font-family:var(--invitation-font);background:#f7f1e4 url(/images/cotton-paper.svg) 0 0/400px;border:1px solid #d9d0ba;outline:none;flex-direction:column;padding:clamp(18px,3.8svh,43px) clamp(20px,5vw,50px) clamp(18px,3.2svh,36px);display:flex;position:relative;overflow-y:auto}.invitation-letter>*{flex-shrink:0}.letter-heading{margin-top:auto}.invitation-letter:before{content:"";pointer-events:none;border:1px solid #baad8d5c;position:absolute;inset:12px;box-shadow:inset 1px 1px #fffdf78f}.invitation-letter h1,.invitation-letter p,.invitation-letter span,.invitation-letter a{font-family:var(--invitation-font)}.letter-heading .eyebrow{letter-spacing:2.5px;margin:0;font-size:11px;font-weight:400}.letter-heading h1{letter-spacing:-1.6px;margin:clamp(10px,2svh,20px) 0 clamp(8px,1.3svh,13px);font-size:clamp(34px,min(5.8vw,7.2svh),69px);font-weight:400;line-height:1.05}.letter-heading h1 em{color:#7d846b;padding:0 5px;font-size:.75em;font-weight:400}.letter-place{margin:0;font-size:clamp(17px,2.5svh,21px);line-height:1.4}.letter-heading:after{content:"";background:#b7a680;width:58px;height:1px;margin:clamp(12px,2.4svh,23px) auto;display:block}.letter-body{width:100%;max-width:550px;margin:0 auto;font-size:clamp(17px,2.6svh,23px);line-height:1.38}.letter-body p{text-wrap:pretty;margin:0 0 clamp(10px,1.6svh,16px)}.letter-body .letter-greeting{margin-bottom:clamp(12px,2svh,20px);font-size:clamp(19px,2.9svh,25px);font-style:italic}.letter-date{margin:clamp(12px,2.5svh,26px) auto clamp(12px,2.2svh,22px)}.letter-date p{margin:0 0 8px;font-size:clamp(24px,3.5svh,31px);line-height:1.2}.letter-date span{letter-spacing:.1px;font-size:clamp(14px,1.8svh,16px)}.letter-signoff{font-size:clamp(17px,2.4svh,21px);line-height:1.4}.letter-signoff p{margin:0 0 clamp(6px,1svh,10px)}.letter-signoff>span{font-size:clamp(16px,2.2svh,19px);font-style:italic;display:block}.letter-signoff .letter-signature{margin:4px 0 clamp(12px,2svh,20px);font-size:clamp(25px,3.4svh,30px);font-style:italic}.letter-rsvp{letter-spacing:.4px;align-self:center;min-height:44px;margin-bottom:auto;font-size:15px}.invitation-cover{z-index:2;opacity:var(--cover-opacity);pointer-events:none;background:#f7f1e4 url(/images/cotton-paper.svg) 0 0/400px;border:1px solid #d9d0ba;display:none;position:absolute;inset:0}.invitation-cover img{object-fit:contain;padding:16px 12px 64px}.card-unwrapping[data-animated=true] .invitation-cover{display:block}.card-open-button{z-index:3;color:#4a5742;letter-spacing:.3px;white-space:nowrap;min-height:44px;opacity:var(--cover-opacity);background:#f7f1e4e8;border:0;padding:10px 22px;font:15px/1.4 Invitation Garamond,Georgia,serif;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.card-open-button>span:first-child{margin-left:10px}.card-open-alternative{letter-spacing:.2px;font-size:12px;display:block}.card-open-button[hidden]{display:none}.home-next{grid-template-columns:1fr 1fr;gap:24px;padding:40px;display:grid}.home-next-link{color:#fff8e9;align-items:flex-end;min-height:470px;display:flex;position:relative;overflow:hidden}.home-next-link>img{object-fit:cover}.home-next-link:after{content:"";background:linear-gradient(#0000 25%,#17291d50 52%,#15271ee8);position:absolute;inset:0}.home-next-copy{z-index:1;max-width:520px;padding:40px;position:relative}.home-next-copy h2{margin:12px 0;font-size:clamp(36px,3.5vw,52px)}.home-next-copy p{margin-bottom:16px;font-size:14px}.home-next-copy .text-link{color:inherit;border-color:#d7caa4}@media (max-width:700px){.invitation-setting-fern{top:-3%;left:-156px;transform:rotate(-20deg)}.invitation-setting-feather{top:14%;right:-122px;transform:rotate(24deg)}.invitation-setting-ribbon{bottom:-3%;right:-164px;transform:rotate(-24deg)}.invitation-letter{padding-inline:20px}.invitation-letter:before{inset:8px}.letter-heading h1{letter-spacing:-1.1px;font-size:clamp(32px,min(9vw,6svh),48px)}.letter-heading h1 em{padding:0}.letter-heading .eyebrow{letter-spacing:1.7px;font-size:8px}.letter-place{font-size:clamp(16px,2.2svh,18px)}.letter-body{font-size:clamp(17px,2.5svh,21px)}.letter-desktop-break{display:none}.letter-date p{font-size:clamp(23px,3.3svh,27px)}.letter-date span{font-size:14px;display:block}.letter-rsvp{font-size:14px}.home-next{grid-template-columns:1fr;gap:24px;padding:24px 18px}.home-next-link{min-height:470px}.home-next-copy{padding:30px 25px}}@media (prefers-reduced-motion:reduce){.card-unwrapping[data-animated=true] .card-scroll-space{display:none}.invitation-cover,.card-open-button{display:none!important}}
