.tpl-pearl-ivory{--radius: 0px;--radius-sm: 2px;--btn-radius: 0px;--shadow: 0 30px 60px -40px color-mix(in srgb,var(--c-secondary) 38%,transparent);--names-size: clamp(2.7rem,12.5vw,6.4rem);--title-size: clamp(2rem,6.4vw,3.1rem);--eyebrow-spacing: .42em;--section-pad: clamp(5rem,13vw,9rem);--content-width: 40rem;--rule: color-mix(in srgb,var(--c-primary) 55%,var(--c-accent));--rule-soft: color-mix(in srgb,var(--c-accent) 75%,transparent);--pearl: radial-gradient(circle at 34% 30%,#fff 0 14%,#f7f3ee 30%,color-mix(in srgb,var(--c-accent) 55%,#efe9e2) 68%,color-mix(in srgb,var(--c-accent) 80%,#a79c8f) 100%);--sheen: linear-gradient(118deg,color-mix(in srgb,var(--c-surface) 92%,#f3e6ea) 0%,var(--c-surface) 28%,color-mix(in srgb,var(--c-surface) 90%,#e6ecf2) 52%,var(--c-surface) 72%,color-mix(in srgb,var(--c-surface) 90%,var(--c-accent)) 100%);--double: 0 0 0 1px var(--rule-soft),inset 0 0 0 7px var(--c-surface),inset 0 0 0 8px var(--rule-soft);--intro-bg: color-mix(in srgb,var(--c-accent) 40%,var(--c-bg));--door-bg: color-mix(in srgb,var(--c-accent) 30%,var(--c-surface));--door-edge: color-mix(in srgb,var(--c-primary) 30%,transparent);--seal-bg: var(--pearl);--seal-fg: var(--c-secondary);--intro-duration: 1.6s}.tpl-pearl-ivory strong{font-weight: 500}.tpl-pearl-ivory.bg-sheen{background-image: radial-gradient(60rem 40rem at 10% 0%,color-mix(in srgb,#f4e4ea 45%,transparent),transparent 70%),radial-gradient(50rem 40rem at 95% 40%,color-mix(in srgb,#e3ebf3 45%,transparent),transparent 70%),radial-gradient(50rem 40rem at 20% 90%,color-mix(in srgb,var(--c-accent) 30%,transparent),transparent 70%);background-attachment: fixed}.tpl-pearl-ivory.bg-linen{background-image: repeating-linear-gradient(0deg,color-mix(in srgb,var(--c-primary) 5%,transparent) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,color-mix(in srgb,var(--c-primary) 4%,transparent) 0 1px,transparent 1px 5px)}.tpl-pearl-ivory .pi-p{fill: color-mix(in srgb,var(--c-accent) 70%,var(--c-primary))}.tpl-pearl-ivory .pi-hl{fill: #fff;opacity: .75}.tpl-pearl-ivory .inv-intro__door{background-image: linear-gradient(100deg,transparent 8%,color-mix(in srgb,#fff 55%,transparent) 22%,transparent 36%,color-mix(in srgb,#fff 30%,transparent) 58%,transparent 74%,color-mix(in srgb,var(--c-primary) 8%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,#fff 40%,transparent),transparent 40%,color-mix(in srgb,var(--c-primary) 8%,transparent))}.tpl-pearl-ivory .inv-intro__door--right{background-image: linear-gradient(-100deg,transparent 8%,color-mix(in srgb,#fff 55%,transparent) 22%,transparent 36%,color-mix(in srgb,#fff 30%,transparent) 58%,transparent 74%,color-mix(in srgb,var(--c-primary) 8%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,#fff 40%,transparent),transparent 40%,color-mix(in srgb,var(--c-primary) 8%,transparent))}.tpl-pearl-ivory .inv-intro__door-face::before{content: "";position: absolute;inset: clamp(1rem,4vw,2.2rem);border: 1px solid color-mix(in srgb,var(--c-primary) 30%,transparent);outline: 1px solid color-mix(in srgb,var(--c-primary) 18%,transparent);outline-offset: -7px}.tpl-pearl-ivory .inv-intro__door--left .inv-intro__door-face::before{right: 1.6rem}.tpl-pearl-ivory .inv-intro__door--right .inv-intro__door-face::before{left: 1.6rem}.tpl-pearl-ivory .inv-intro__door-face .orn{color: color-mix(in srgb,var(--c-primary) 45%,transparent)}.tpl-pearl-ivory .inv-intro__content{width: min(24rem,calc(100vw - 3rem));padding: 2.6rem 1.6rem 2.2rem;gap: .8rem;background: var(--sheen);box-shadow: var(--double),0 40px 80px -40px color-mix(in srgb,var(--c-secondary) 55%,transparent)}.tpl-pearl-ivory .inv-intro__seal{width: 4.8rem;height: 4.8rem;font-size: 1.3rem;font-style: italic;box-shadow: 0 8px 18px -8px color-mix(in srgb,var(--c-secondary) 55%,transparent),inset 0 -3px 6px color-mix(in srgb,var(--c-primary) 18%,transparent)}.tpl-pearl-ivory .inv-intro__eyebrow{font-weight: 500;font-size: .68rem;color: var(--c-primary)}.tpl-pearl-ivory .inv-intro__title{font-size: clamp(2rem,9vw,3rem);line-height: 1.12}.tpl-pearl-ivory .inv-intro__guest{font-family: var(--f-display);font-style: italic}.tpl-pearl-ivory .inv-intro__date{font-size: .82rem;letter-spacing: .3em;text-transform: uppercase}.tpl-pearl-ivory .inv-intro__open{background: var(--c-secondary);color: var(--c-bg);font-size: .72rem;letter-spacing: .34em;padding: 1.1rem 2.4rem;box-shadow: inset 0 0 0 3px var(--c-secondary),inset 0 0 0 4px color-mix(in srgb,var(--c-accent) 70%,transparent);animation: none}.tpl-pearl-ivory .inv-intro__open:hover{background: var(--c-primary);box-shadow: inset 0 0 0 3px var(--c-primary),inset 0 0 0 4px color-mix(in srgb,#fff 60%,transparent)}.pi-hero{padding: clamp(3rem,8vh,5rem) clamp(1rem,4vw,3rem) clamp(5.5rem,12vh,7rem)}.pi-hero::after{content: "";position: absolute;inset: 0;z-index: -1;pointer-events: none;background: radial-gradient(70% 55% at 50% 42%,color-mix(in srgb,var(--c-surface) 85%,transparent),transparent 75%)}.pi-hero.has-cover::after{display: none}.pi-hero__frame{position: relative;width: min(100%,44rem);gap: 1.15rem;padding: clamp(2.2rem,7vw,4rem) clamp(1.1rem,6vw,4rem) clamp(2.6rem,8vw,4.2rem);background: var(--sheen);box-shadow: 0 0 0 1px var(--rule),inset 0 0 0 9px var(--c-surface),inset 0 0 0 10px var(--rule),var(--shadow)}.pi-hero.has-cover .pi-hero__frame{color: var(--c-text);background: color-mix(in srgb,var(--c-surface) 92%,transparent)}.pi-corner{position: absolute;width: 14px;height: 14px;border-radius: 50%;background: var(--pearl);box-shadow: 0 2px 5px -1px color-mix(in srgb,var(--c-secondary) 35%,transparent)}.pi-corner--tl{top: -7px;left: -7px}.pi-corner--tr{top: -7px;right: -7px}.pi-corner--bl{bottom: -7px;left: -7px}.pi-corner--br{bottom: -7px;right: -7px}.pi-hero__swag{width: min(300px,78%);margin-top: -.4rem;color: var(--rule)}.tpl-pearl-ivory .pi-hero__eyebrow,.tpl-pearl-ivory .pi-hero.has-cover .pi-hero__eyebrow{font-size: .72rem;letter-spacing: .5em;padding-left: .5em;color: var(--c-primary)}.pi-hero__names{font-weight: 400;text-transform: uppercase;letter-spacing: .06em;line-height: 1;gap: .12em;max-width: 100%;overflow-wrap: anywhere}.tpl-pearl-ivory .pi-hero.has-cover .pi-hero__names{color: var(--c-secondary)}.pi-hero__names .inv-hero__amp{font-family: var(--f-display);font-style: italic;text-transform: none;font-size: .5em;letter-spacing: 0;color: var(--c-primary)}.pi-hero__line{max-width: 22rem;font-family: var(--f-display);font-style: italic;font-size: clamp(1rem,3.4vw,1.15rem);color: var(--c-muted);line-height: 1.5}.pi-hero__date{display: grid;gap: .5rem;justify-items: center;margin-top: .6rem;padding-top: 1.3rem;border-top: 1px solid var(--rule-soft);width: min(100%,22rem)}.pi-hero__numerals{display: flex;align-items: center;gap: clamp(.6rem,3vw,1.1rem);font-family: var(--f-display);font-size: clamp(1.9rem,8vw,2.8rem);line-height: 1;color: var(--c-secondary);font-variant-numeric: lining-nums}.pi-hero__numerals i{width: 7px;height: 7px;border-radius: 50%;background: var(--pearl);box-shadow: 0 0 0 1px color-mix(in srgb,var(--c-primary) 25%,transparent)}.pi-hero__when{font-size: .74rem;letter-spacing: .32em;text-transform: uppercase;color: var(--c-muted)}.pi-hero__venue{font-family: var(--f-display);font-style: italic;font-size: clamp(1.1rem,3.8vw,1.35rem);color: var(--c-secondary)}.tpl-pearl-ivory .pi-hero__hashtag{font-size: .8rem;letter-spacing: .18em;color: var(--c-primary)}.tpl-pearl-ivory .inv-hero__scroll{width: 1px;height: 56px;margin-left: 0;border: 0;border-radius: 0;background: linear-gradient(var(--rule),transparent);opacity: .9}.tpl-pearl-ivory .inv-hero__scroll span{width: 7px;height: 7px;left: -3px;margin: 0;top: 0;border-radius: 50%;background: var(--pearl);box-shadow: 0 0 0 1px color-mix(in srgb,var(--c-primary) 30%,transparent)}.pi-strand{display: block;width: min(200px,56%);margin: 0 auto;color: var(--rule)}.tpl-pearl-ivory .inv-section__head{gap: .8rem;margin-bottom: clamp(2.4rem,7vw,3.6rem)}.tpl-pearl-ivory .inv-section__head::after{content: "";width: 88px;height: 9px;margin-top: .4rem;background: radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--c-primary) 70%,var(--c-accent)) 0 3.5px,transparent 4.5px) center / 9px 9px no-repeat,linear-gradient(var(--rule-soft),var(--rule-soft)) left center / 36px 1px no-repeat,linear-gradient(var(--rule-soft),var(--rule-soft)) right center / 36px 1px no-repeat}.tpl-pearl-ivory .inv-eyebrow{font-size: .68rem;font-weight: 500;color: var(--c-primary);padding-left: var(--eyebrow-spacing)}.tpl-pearl-ivory .inv-section__title{font-weight: 400;letter-spacing: .01em}.tpl-pearl-ivory .inv-section__lead{font-family: var(--f-display);font-style: italic;font-size: 1.08rem}.tpl-pearl-ivory .inv-welcome__guest{font-size: .78rem;letter-spacing: .3em;text-transform: uppercase;color: var(--c-muted)}.tpl-pearl-ivory .inv-welcome__guest strong{color: var(--c-secondary)}.tpl-pearl-ivory .inv-welcome__message{font-family: var(--f-display);font-size: clamp(1.25rem,3.8vw,1.6rem);line-height: 1.6;color: var(--c-secondary)}.tpl-pearl-ivory .inv-welcome__message p:first-child::before,.tpl-pearl-ivory .inv-welcome__message p:last-child::after{font-style: italic;color: var(--c-primary)}.tpl-pearl-ivory .inv-welcome__message p:first-child::before{content: "\201C"}.tpl-pearl-ivory .inv-welcome__message p:last-child::after{content: "\201D"}.tpl-pearl-ivory .inv-divider{width: min(180px,50%);color: var(--rule);margin-bottom: 2rem}.tpl-pearl-ivory .inv-people>*{max-width: 52rem}.tpl-pearl-ivory .inv-people__photo{padding: 10px;background: var(--c-surface);box-shadow: var(--double),var(--shadow)}.tpl-pearl-ivory .inv-person{gap: .5rem;padding: 1.2rem .6rem}.tpl-pearl-ivory .inv-person__photo{border-radius: 50%;border: 0;box-shadow: 0 0 0 5px var(--c-surface),0 0 0 6px var(--rule)}.tpl-pearl-ivory .inv-person__role{font-weight: 500;font-size: .66rem;letter-spacing: .42em}.tpl-pearl-ivory .inv-person__name{font-size: clamp(1.8rem,6vw,2.4rem);line-height: 1.15}.tpl-pearl-ivory .inv-person__family{font-family: var(--f-display);font-style: italic;font-size: 1rem}.tpl-pearl-ivory .inv-people__amp{font-family: var(--f-display);font-style: italic;font-size: 3rem;line-height: 1;color: var(--c-primary)}.tpl-pearl-ivory .inv-countdown__grid{gap: 0;max-width: 36rem;padding: 1.8rem .4rem;background: var(--sheen);box-shadow: var(--double)}.tpl-pearl-ivory .inv-countdown__unit{position: relative;background: none;border: 0;border-radius: 0;padding: .4rem .2rem}.tpl-pearl-ivory .inv-countdown__unit + .inv-countdown__unit::before{content: "";position: absolute;left: -3px;top: 38%;width: 6px;height: 6px;border-radius: 50%;background: var(--pearl);box-shadow: 0 0 0 1px color-mix(in srgb,var(--c-primary) 25%,transparent)}.tpl-pearl-ivory .inv-countdown__value{font-size: clamp(2rem,8.5vw,3.4rem);font-weight: 400;font-variant-numeric: lining-nums tabular-nums}.tpl-pearl-ivory .inv-countdown__label{font-size: .6rem;letter-spacing: .3em;padding-left: .3em}.tpl-pearl-ivory .inv-sessions>*{max-width: 56rem}.tpl-pearl-ivory .inv-sessions__list{gap: 0;padding: clamp(1rem,4vw,2.2rem) clamp(1.2rem,5vw,3rem);background: var(--sheen);box-shadow: var(--double),var(--shadow)}.tpl-pearl-ivory .inv-session{position: relative;grid-template-columns: 1fr;align-content: start;justify-items: center;text-align: center;gap: .9rem;padding: 2.2rem 0;background: none;border: 0;border-radius: 0;box-shadow: none}.tpl-pearl-ivory .inv-session + .inv-session{border-top: 1px solid var(--rule-soft)}.tpl-pearl-ivory .inv-session + .inv-session::before{content: "";position: absolute;top: -5px;left: 50%;margin-left: -5px;width: 9px;height: 9px;border-radius: 50%;background: var(--pearl);box-shadow: 0 0 0 1px color-mix(in srgb,var(--c-primary) 30%,transparent),0 0 0 5px var(--c-surface)}.tpl-pearl-ivory .inv-session__date,.tpl-pearl-ivory .inv-session:nth-child(n) .inv-session__date{grid-auto-flow: column;align-items: baseline;justify-content: center;gap: .55rem;width: auto;min-width: 0;padding: 0;background: none;color: var(--c-secondary)}.tpl-pearl-ivory .inv-session__day{font-family: var(--f-display);font-size: 2.6rem;line-height: 1}.tpl-pearl-ivory .inv-session__month{font-size: .72rem;letter-spacing: .34em;color: var(--c-primary)}.tpl-pearl-ivory .inv-session__year{font-size: .72rem;letter-spacing: .2em}.tpl-pearl-ivory .inv-session__body{justify-items: center}.tpl-pearl-ivory .inv-session__title{font-style: italic;font-size: clamp(1.6rem,5vw,2rem)}.tpl-pearl-ivory .inv-session__when{justify-content: center;font-size: .9rem}.tpl-pearl-ivory .inv-session__time{color: var(--c-secondary);font-weight: 500}.tpl-pearl-ivory .inv-session__place{justify-items: center}.tpl-pearl-ivory .inv-session__venue{font-weight: 500;letter-spacing: .14em;text-transform: uppercase;font-size: .84rem}.tpl-pearl-ivory .inv-session__desc{font-family: var(--f-display);font-style: italic}.tpl-pearl-ivory .inv-session__actions{justify-content: center}.tpl-pearl-ivory .inv-calendar__menu{left: 50%;transform: translateX(-50%);border-radius: 0;box-shadow: var(--double),var(--shadow)}@media (min-width: 820px){.tpl-pearl-ivory .inv-sessions__list{grid-template-columns: 1fr 1fr;column-gap: 3rem}.tpl-pearl-ivory .inv-session:nth-child(2){border-top: 0}.tpl-pearl-ivory .inv-session:nth-child(2)::before{display: none}.tpl-pearl-ivory .inv-session:nth-child(odd):not(:last-child)::after{content: "";position: absolute;top: 2.2rem;bottom: 2.2rem;right: -1.5rem;width: 1px;background: var(--rule-soft)}}.tpl-pearl-ivory .inv-dress-code{gap: .5rem}.tpl-pearl-ivory .inv-dress-code__label{font-weight: 500;font-size: .66rem;letter-spacing: .42em}.tpl-pearl-ivory .inv-dress-code__value{font-style: italic;font-size: 1.8rem}.tpl-pearl-ivory .inv-card{border: 0;background: var(--sheen);box-shadow: var(--double),var(--shadow);padding: clamp(1.8rem,6vw,3rem)}.tpl-pearl-ivory .inv-label{font-weight: 500;font-size: .68rem;letter-spacing: .26em;text-transform: uppercase;color: var(--c-muted)}.tpl-pearl-ivory .inv-choice legend.inv-label{margin-bottom: .7rem}.tpl-pearl-ivory .inv-input{background: color-mix(in srgb,var(--c-surface) 70%,transparent);border-color: color-mix(in srgb,var(--c-primary) 30%,transparent)}.tpl-pearl-ivory .inv-input:focus{box-shadow: 0 0 0 3px color-mix(in srgb,var(--c-accent) 55%,transparent)}.tpl-pearl-ivory .inv-choice__option span{border-color: color-mix(in srgb,var(--c-primary) 30%,transparent);letter-spacing: .04em;background: color-mix(in srgb,var(--c-surface) 70%,transparent)}.tpl-pearl-ivory .inv-choice__option input:checked + span{background: var(--c-secondary);border-color: var(--c-secondary);color: var(--c-bg);box-shadow: inset 0 0 0 3px var(--c-secondary),inset 0 0 0 4px color-mix(in srgb,var(--c-accent) 70%,transparent)}.tpl-pearl-ivory .inv-btn{text-transform: uppercase;letter-spacing: .24em;font-size: .7rem;font-weight: 400;padding-inline: 1.7rem}.tpl-pearl-ivory .inv-btn--primary{min-height: 54px;background: var(--c-secondary);color: var(--c-bg);box-shadow: inset 0 0 0 3px var(--c-secondary),inset 0 0 0 4px color-mix(in srgb,var(--c-accent) 70%,transparent)}.tpl-pearl-ivory .inv-btn--primary:hover{background: var(--c-primary);box-shadow: inset 0 0 0 3px var(--c-primary),inset 0 0 0 4px color-mix(in srgb,#fff 55%,transparent)}.tpl-pearl-ivory .inv-btn--ghost{color: var(--c-secondary);border-color: var(--rule);background: color-mix(in srgb,var(--c-surface) 60%,transparent)}.tpl-pearl-ivory .inv-btn--ghost:hover{background: color-mix(in srgb,var(--c-accent) 30%,var(--c-surface))}.tpl-pearl-ivory .inv-dropzone{border: 1px solid var(--rule-soft);outline: 1px dashed color-mix(in srgb,var(--c-primary) 35%,transparent);outline-offset: -8px;border-radius: 0;padding: 2.4rem 1.2rem}.tpl-pearl-ivory .inv-dropzone:focus-within{outline: 3px solid color-mix(in srgb,var(--c-primary) 60%,transparent);outline-offset: 3px}.tpl-pearl-ivory .inv-dropzone__title{font-weight: 500}.tpl-pearl-ivory .inv-rsvp__thanks{font-style: italic;font-size: 1.8rem}.tpl-pearl-ivory .inv-gallery__grid{gap: .8rem}.tpl-pearl-ivory .inv-gallery__item{border-radius: 0;padding: 6px;background: var(--c-surface);box-shadow: 0 0 0 1px var(--rule-soft)}.tpl-pearl-ivory .inv-guestbook__list{gap: 0}.tpl-pearl-ivory .inv-guestbook__entry{background: none;border: 0;border-bottom: 1px solid var(--rule-soft);border-radius: 0;padding: 1.8rem .4rem;text-align: center}.tpl-pearl-ivory .inv-guestbook__entry blockquote{font-family: var(--f-display);font-size: 1.15rem;line-height: 1.6;color: var(--c-secondary)}.tpl-pearl-ivory .inv-guestbook__author{font-size: .68rem;letter-spacing: .3em;text-transform: uppercase}.tpl-pearl-ivory .inv-contact__name,.tpl-pearl-ivory .inv-gift__holder{font-size: 1.45rem}.tpl-pearl-ivory .inv-contact__role,.tpl-pearl-ivory .inv-gift__bank{font-size: .7rem;letter-spacing: .3em;text-transform: uppercase}.tpl-pearl-ivory .inv-gift__iban code{display: inline-block;padding: .5rem 0;border-block: 1px solid var(--rule-soft);color: var(--c-secondary);font-size: .88rem;letter-spacing: .02em}.tpl-pearl-ivory .inv-footer{padding: 5rem 1.25rem 3.5rem;gap: 1rem}.tpl-pearl-ivory .inv-footer__ornament{width: 110px;color: var(--rule)}.tpl-pearl-ivory .inv-footer__names{font-size: clamp(1.8rem,7vw,2.6rem);text-transform: uppercase;letter-spacing: .08em}.tpl-pearl-ivory .inv-footer__text{font-family: var(--f-display);font-style: italic;font-size: 1.1rem}.tpl-pearl-ivory .inv-footer__hashtag{font-size: .8rem;letter-spacing: .18em}.tpl-pearl-ivory .inv-music{background: var(--pearl);color: var(--c-secondary);box-shadow: 0 0 0 1px var(--rule-soft),var(--shadow)}@media (min-width: 900px){.tpl-pearl-ivory .inv-section{padding-inline: 3rem}.pi-hero__frame{padding-inline: 5rem}}