@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Noto+Naskh+Arabic:wght@400&display=swap";:root{--ease-out:cubic-bezier(.23, 1, .32, 1);--paper:#f9f6f1;--canvas:#ede8e1;--ink:#54483f;--ink-soft:#75604f;--frame:#d8bd9f;--rule:#c7ad8b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--canvas);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Cormorant Garamond,Georgia,serif}*{box-sizing:border-box}body{margin:0}.invitation-page{padding:clamp(1.5rem,5vw,4rem) 1rem}.invitation{isolation:isolate;background:var(--paper);--floral-size:clamp(8rem, 42cqi, 19rem);max-width:43rem;min-height:64.5rem;margin:0 auto;position:relative;box-shadow:0 1px 3px #54483f0a,0 12px 28px #54483f0d,0 32px 64px #54483f0f;container-type:inline-size}.invitation:before{content:"";border:1px solid var(--frame);z-index:-1;pointer-events:none;position:absolute;inset:1rem}.invitation:after{content:"";border:3px double var(--frame);opacity:.3;z-index:-1;pointer-events:none;border-radius:50% 50% 0 0/24% 24% 0 0;position:absolute;inset:3rem 3rem 4rem}.floral-corner{width:var(--floral-size);aspect-ratio:1;mix-blend-mode:multiply;pointer-events:none;z-index:-1;background-image:url(/invitation-border.png);background-repeat:no-repeat;background-size:240%;position:absolute}.top-left{background-position:0 0;top:0;left:0;-webkit-mask-image:radial-gradient(at 0 0,#000 40%,#0000 73%);mask-image:radial-gradient(at 0 0,#000 40%,#0000 73%)}.bottom-right{background-position:100% 100%;bottom:0;right:0;-webkit-mask-image:radial-gradient(at 100% 100%,#000 40%,#0000 73%);mask-image:radial-gradient(at 100% 100%,#000 40%,#0000 73%)}.top-right,.bottom-left{width:calc(var(--floral-size) * .65);background-size:300%}.top-right{background-position:100% 0;top:0;right:0;-webkit-mask-image:radial-gradient(at 100% 0,#000 30%,#0000 70%);mask-image:radial-gradient(at 100% 0,#000 30%,#0000 70%)}.bottom-left{background-position:0 100%;bottom:0;left:0;-webkit-mask-image:radial-gradient(at 0 100%,#000 30%,#0000 70%);mask-image:radial-gradient(at 0 100%,#000 30%,#0000 70%)}.invitation-content{max-width:31rem;padding:calc(var(--floral-size) * .4 + 2rem) 2rem calc(var(--floral-size) * .45 + 2rem);text-align:center;margin:0 auto}p{text-wrap:pretty;margin:0}h1{text-wrap:balance}.invocation{margin-bottom:1.5rem;font-family:Noto Naskh Arabic,serif;font-size:1.65rem;line-height:1.8}.occasion{letter-spacing:.06em;margin-bottom:1.75rem;font-size:1.3rem;font-weight:500}.invitation-opening{font-size:1.1rem;line-height:1.6}.couple-names{letter-spacing:-.035em;margin:2.5rem 0 2.25rem;font-size:clamp(4.5rem,15cqi,6.5rem);font-weight:400;line-height:.88}.couple-and{letter-spacing:0;color:var(--ink-soft);font-size:2rem;font-style:italic;line-height:1.8;display:block}.blessing{font-size:1.1rem;font-style:italic;line-height:1.6}.invitation-rule{background:var(--rule);width:7rem;height:1px;margin:2rem auto 1.8rem}.ceremony-date{font-size:1.5rem;font-weight:500;line-height:1.4}.ceremony-time{margin-top:.4rem;font-size:1.1rem;line-height:1.5}.ceremony-venue{margin-top:1.5rem;font-size:1.45rem;font-weight:500;line-height:1.4}.ceremony-address{font-size:1.1rem;line-height:1.5}.invitation-rule.short{width:3rem;margin:1.8rem auto 1.5rem}.closing{font-size:1.1rem;font-style:italic;line-height:1.6}@media (width<=600px){:root{background:var(--paper)}.invitation-page{padding:0}.invitation{min-height:100svh;box-shadow:none}.invitation-content{padding:calc(var(--floral-size) * .3 + 2rem) 2.8rem calc(var(--floral-size) * .5 + 2rem)}.invocation{margin-bottom:1rem;font-size:1.4rem}.occasion{margin-bottom:1.25rem;font-size:1.2rem}.invitation-opening,.blessing,.ceremony-time,.ceremony-address,.closing{font-size:1rem}.couple-names{margin-block:1.75rem}.invitation-rule{margin-block:1.5rem}.invitation:after{inset:2.5rem 1.75rem}.ceremony-date,.ceremony-venue{font-size:1.3rem}}@media (width<=350px){.invitation-content{padding-inline:2rem}}@media print{:root{background:#fff}.invitation-page{padding:0}.invitation{max-width:none;box-shadow:none;margin:0}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@keyframes gentle-arrival{0%{opacity:0;transform:translateY(var(--arrival-offset))}to{opacity:1;transform:none}}@media screen and (prefers-reduced-motion:no-preference){.invitation-content{--arrival-offset:8px;animation:gentle-arrival .8s var(--ease-out) both}.floral-corner{--arrival-offset:-6px;animation:gentle-arrival 1.2s var(--ease-out) both}.bottom-left,.bottom-right{--arrival-offset:6px;animation-delay:.12s}}
