.print-invitation {
  --paper:#f6ecdb; --ink:#47302b; --accent:#813d52; --ground:#505136;
  --soft:#e9cec5; --lace:url('/art/ribbon-lace.svg'); --flowers:url('/art/ribbon-flowers.svg');
  --grain:url('/art/print-grain.svg'); --bow:url('/art/print-bow.svg');
  --cloth:var(--grain), repeating-linear-gradient(90deg,#ead1c8 0 21px,#f4e5d5 21px 42px);
  --hand:"URW Chancery L","Apple Chancery","Palatino Linotype","Book Antiqua",Georgia,serif;
  margin:0; color:var(--ink); background:#f4e9d9; font:clamp(1rem, .95rem + .19vw, 1.14rem)/1.65 Georgia,serif;
  overflow-wrap:anywhere;
}
.print-invitation *, .print-invitation *::before, .print-invitation *::after {box-sizing:border-box}
.print-invitation h1,.print-invitation h2,.print-invitation h3,.print-invitation figure {margin:0}
.print-invitation h1,.print-invitation h2 {font:italic 400 clamp(2.2rem,5vw,4.1rem)/1.08 var(--hand); color:var(--accent)}
.print-invitation h1 {font-size:clamp(2.5rem,8vw,6.15rem); letter-spacing:-.04em}
.print-invitation h1 span {display:block}
.print-invitation h1 i {display:block;font-size:.46em;margin:.13em 0}
.print-invitation a {color:inherit;text-underline-offset:.22em}
.print-invitation .overline,.pi-nav,.pi-down,.print-invitation .cover-date {
  font:600 .68rem/1.5 Georgia,serif; letter-spacing:.17em; text-transform:uppercase;
}
.print-invitation :focus-visible {outline:2px solid currentColor;outline-offset:4px}
.print-invitation main h1[tabindex="-1"]:focus {outline:none}
.pi-nav {display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem;align-items:center;padding:.8rem clamp(.8rem,4vw,3rem);background:var(--paper)}
.pi-nav span {grid-column:2;text-align:center}
.pi-nav a {text-decoration:none;min-height:32px;display:flex;align-items:center}
.pi-nav a:last-child {grid-column:3;justify-self:end}
.pi-cover {position:relative;display:grid;place-items:center;align-content:center;gap:1.6rem;padding:clamp(3.7rem,7vw,7rem) clamp(1.15rem,5vw,4rem) 2.4rem;background:var(--grain),radial-gradient(ellipse at 43% 25%,#777553,var(--ground) 72%);color:var(--paper);overflow:hidden}
.ribbon-lace .pi-cover::before {content:"";position:absolute;inset:1rem;border:1px solid #e9d6a360;pointer-events:none}
.pi-hero-art {position:relative;width:min(100%,30rem);isolation:isolate}
.pi-hero-art::before,.pi-hero-art::after {content:"";position:absolute;width:clamp(7rem,30vw,16rem);aspect-ratio:1;background:var(--flowers) center/contain no-repeat;filter:drop-shadow(4px 9px 5px #251a1955);pointer-events:none}
.pi-hero-art::before {left:-14%;top:0;transform:rotate(-22deg)}
.pi-hero-art::after {right:-17%;bottom:-6%;transform:rotate(116deg);z-index:1}
.pi-paper {background:var(--grain),var(--paper);box-shadow:0 12px 25px #49322326,0 2px 5px #49322330}
.pi-stock {position:relative;display:grid;place-items:center;align-content:center;text-align:center;min-height:clamp(25rem,65vw,37rem);padding:3.8rem clamp(2rem,8vw,4.4rem);color:var(--ink);background:var(--lace) center/100% 100% no-repeat;box-shadow:none;filter:drop-shadow(2px 17px 12px #1e1c146e)}
.pi-stock .overline {margin:0 0 1.1rem}.pi-stock .cover-date {margin:1.35rem 0 0}
.pi-bow {position:absolute;width:55%;aspect-ratio:460/236;top:-7%;left:22%;background:var(--bow) center/contain no-repeat;filter:drop-shadow(1px 4px 2px #6c364862);pointer-events:none}
.pi-down {position:relative;min-height:44px;display:grid;place-items:center}
.pi-spread {background:var(--cloth);display:grid;justify-items:center;align-items:center;gap:2rem;padding:clamp(3.5rem,9vw,7rem) max(1.4rem,calc((100% - 57rem)/2));}
.pi-portrait {position:relative;width:min(76%,18rem);padding:.6rem .6rem 1.45rem;transform:rotate(-6deg)}
.pi-portrait::before {content:"";position:absolute;top:-.6rem;left:32%;width:39%;height:1.4rem;transform:rotate(8deg);background:#a3a279bc}
.pi-portrait img,.pi-postcard img {display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.print-invitation .welcome {position:relative;width:min(100%,29rem);text-align:center;padding:2.5rem clamp(1.4rem,5vw,3rem);border:1px solid #c5aa93;outline:1px dashed #ad8e77;outline-offset:-8px;border-radius:1.7rem .8rem 1.8rem .8rem}
.ribbon-lace .welcome::before {content:"";position:absolute;top:-2.1rem;left:calc(50% - 3.8rem);width:7.6rem;height:4rem;background:var(--bow) center/contain no-repeat}
.print-invitation .welcome>p,.print-invitation .dress>p,.location-copy>p {white-space:pre-line}
.print-invitation .sign {font:italic 1.38rem/1.45 var(--hand);color:var(--accent)}
.pi-date-band {display:grid;place-items:center;padding:clamp(3.6rem,8vw,6.6rem) 1.35rem;background:var(--grain),#e9d7bc}
.pi-calendar {position:relative;text-align:center;width:min(100%,29rem);padding:2rem clamp(1.2rem,5vw,3rem) 2.4rem;border-radius:.25rem .25rem 1.2rem .5rem;border-top:.45rem solid var(--accent)}
.pi-calendar::before {content:"";position:absolute;inset:8px;border:1px solid #ad8e775e;pointer-events:none}
.pi-month:not(:empty) {padding-bottom:1.25rem;margin-bottom:1.35rem;border-bottom:1px solid #a88c7559}
.pi-month > span {color:var(--accent);font-style:italic;font-size:1.5rem}
.pi-month > div {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.32rem;font-size:.82rem;margin-top:.75rem}
.pi-month mark {background:var(--accent);color:white;border-radius:50%;width:1.5rem;justify-self:center}
.print-invitation .ni-date h2 {font-size:.78rem;margin:0 0 1rem}
.print-invitation .digits {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}
.print-invitation .digits b,.print-invitation .digits span {display:block}
.print-invitation .digits b {font:400 clamp(1.3rem,5vw,2.1rem)/1.2 Georgia,serif}
.print-invitation .digits span {font-size:.72rem}
.print-invitation .schedule,.print-invitation .dress,.print-invitation .response {padding:clamp(3.4rem,8vw,7rem) max(1.35rem,calc((100% - 54rem)/2))}
.print-invitation .section-title,.print-invitation .dress,.print-invitation .response>div {text-align:center}
.print-invitation .schedule ol {padding:0;list-style:none;margin:2.2rem auto 0;max-width:38rem}
.print-invitation .schedule li {display:grid;grid-template-columns:3.25rem 1fr;gap:1.05rem;padding:1rem .2rem;border-top:1px solid #956b5c47}
.print-invitation .schedule li:last-child {border-bottom:1px solid #956b5c47}
.print-invitation .schedule h3 {font:400 1.24rem/1.25 Georgia,serif}.print-invitation .schedule p {margin:.3rem 0 0}
.print-invitation .schedule time {color:var(--accent);font-style:italic}.print-invitation .event-number {display:none}
.pi-venue {display:grid;justify-items:center;align-items:center;gap:0;padding:3.8rem max(1.4rem,calc((100% - 54rem)/2));background:var(--cloth)}
.pi-postcard {width:min(88%,25rem);padding:.55rem;transform:rotate(4deg)}
.pi-postcard img {aspect-ratio:4/3}
.pi-venue .location-copy {z-index:1;width:min(100%,27rem);padding:2rem 1.4rem;text-align:center;border:1px solid #b5997e;outline:1px solid #b5997e;outline-offset:-6px}
.pi-venue h2 {font-size:clamp(1.9rem,5vw,3.1rem)}
.print-invitation .dress>p {max-width:32rem;margin-inline:auto}
.pi-swatches {list-style:none;padding:0;margin:1.65rem auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1rem}
.pi-swatches li {display:grid;justify-items:center;gap:.35rem;font-size:.7rem}
.pi-swatches i {width:clamp(2.15rem,10vw,3.4rem);aspect-ratio:1;border-radius:50%;background:var(--grain),var(--swatch);border:1px solid #47302b29}
.print-invitation .response {background:var(--grain),var(--soft);display:grid;align-items:start;gap:1.3rem}
.print-invitation .response form {display:grid;gap:.55rem;padding:1.35rem;background:var(--grain),var(--paper);border:1px solid #8b706457}
.print-invitation .response input:not([type=radio]),.print-invitation .response textarea {width:100%;border:1px solid #856b65;background:#fffcf4;color:var(--ink);border-radius:0;padding:.75rem;font:inherit}
.print-invitation .response fieldset {margin:.5rem 0;padding:.6rem;border:1px solid #856b6580}
.print-invitation .response fieldset label {display:block}.print-invitation input[type=radio] {accent-color:var(--accent)}
.print-invitation .response button,.pi-opening button {background:var(--accent);color:white;border:1px solid transparent;padding:.7rem 1rem;min-height:44px;font:inherit;cursor:pointer}
.print-invitation .response button:hover,.pi-opening button:hover {filter:brightness(1.12)}
.pi-footer {padding:2.6rem 1.3rem;text-align:center;background:var(--ground);color:var(--paper)}
.pi-footer>span {font:italic clamp(1.75rem,6vw,3rem)/1.2 var(--hand)}
.pi-footer>p,.pi-footer>a {font-size:.8rem}
@media (min-width:720px) {
  .pi-spread,.pi-venue {grid-template-columns:.95fr 1.05fr;gap:1.4rem}
  .print-invitation .response {grid-template-columns:1fr 1.15fr;gap:3rem;align-items:center}
}
.pi-opening[hidden] {display:none}
.pi-opening {
  --opening-ready:1;
  border:0;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;
  color:var(--paper);background:var(--grain),radial-gradient(ellipse at 45% 32%,#747052,var(--ground) 72%);
  padding:1.2rem;overflow:auto;
}
.pi-opening::backdrop {background:var(--ground)}
.pi-opening-set {display:grid;justify-items:center;align-content:center;min-height:100%;gap:1.2rem}
.pi-parcel {width:min(83vw,21rem,47svh);aspect-ratio:4/5;position:relative;perspective:850px;isolation:isolate}
.pi-insert {position:absolute;inset:0;text-align:center;display:grid;align-content:center;padding:11%;filter:drop-shadow(1px 10px 8px #25241488);background:var(--lace) center/100% 100% no-repeat;color:var(--ink);box-shadow:none}
.pi-insert h2 {font-size:clamp(1.5rem,5.4vw,2.8rem);line-height:1.05}
.pi-insert p {font-size:.72rem;margin:.6rem 0}
.ribbon-lace .pi-insert {transform-origin:50% 0}
.pi-band {position:absolute;inset:0 44%;background:linear-gradient(90deg,#7c3e52,#d28a94 24%,#efb2af 47%,#a15c72 90%);box-shadow:3px 3px 4px #79395255;pointer-events:none}
.pi-tie {position:absolute;top:31%;left:-10%;width:120%;aspect-ratio:460/236;pointer-events:none;filter:drop-shadow(3px 4px 3px #4f293b9c)}
.pi-tie i,.pi-tie b {position:absolute;inset:0;background:var(--bow) center/100% 100% no-repeat}
.pi-tie i {clip-path:inset(0 50% 0 0);transform-origin:50% 40%}.pi-tie b {clip-path:inset(0 0 0 50%);transform-origin:50% 40%}
.pi-opening-actions {display:grid;justify-items:center;gap:.2rem}
.pi-opening-actions [data-open] {border:1px solid #fbf0dd;background:var(--paper);color:var(--ink)}
.pi-opening-actions form button {background:transparent;color:inherit;text-decoration:underline;font-size:.84rem}

.blue-heirloom {
  --paper:#f8efe1;--ink:#293a45;--accent:#385769;--ground:#435d70;--soft:#d7e0e4;
  --lace:url('/art/heirloom-lace.svg');--flowers:url('/art/heirloom-flowers.svg');
  --silk:var(--grain),repeating-linear-gradient(118deg,#526c7e 0%,#728b9d 18%,#9badba 25%,#617b8e 40%,#4d667a 62%);
  --cloth:var(--grain),#e9e5dc;
  background:var(--grain),#f6efe5;
}
.blue-heirloom .pi-cover,.blue-heirloom .pi-opening {background:var(--silk)}
.blue-heirloom .pi-cover {min-height:min(47rem,92svh);padding-top:4rem}
.blue-heirloom .pi-hero-art {width:min(100%,46rem)}
.blue-heirloom .pi-stock {min-height:clamp(22rem,51vw,34rem);padding:3.1rem clamp(2rem,8vw,5rem);filter:drop-shadow(4px 20px 13px #243443a0)}
.blue-heirloom .pi-stock .overline {margin-bottom:1rem}
.blue-heirloom .pi-hero-art::before {left:-16%;top:-12%;z-index:1}
.blue-heirloom .pi-hero-art::after {right:-15%;bottom:-12%;opacity:.86}
.blue-heirloom .pi-spread {background:var(--grain),#f5ecdf}
.blue-heirloom .pi-portrait {border-radius:50%;transform:none;padding:.45rem;outline:1px solid #a08d70;outline-offset:4px}
.blue-heirloom .pi-portrait::before {inset:auto auto -10% -25%;width:65%;height:auto;aspect-ratio:1;background:var(--flowers) center/contain no-repeat;transform:rotate(-22deg);pointer-events:none}
.blue-heirloom .pi-portrait img {border-radius:50%;filter:saturate(.68)}
.blue-heirloom .welcome {background:none;border:0;outline:none;box-shadow:none;padding:1rem .3rem}
.blue-heirloom .pi-date-band {background:var(--silk)}
.blue-heirloom .pi-calendar {width:min(100%,33rem);border:3px double #9c8c75;border-radius:48% 48% 1rem 1rem / 12% 12% 1rem 1rem;padding-top:3rem}
.blue-heirloom .pi-calendar::before {border-radius:inherit}
.blue-heirloom .schedule li {grid-template-columns:1.5rem 3rem 1fr;border-color:#64778755}
.blue-heirloom .event-number {display:block;color:#516772;font-size:.7rem;padding-top:.15rem}
.blue-heirloom .pi-venue {background:var(--grain),#dae2e5;gap:1.3rem}
.blue-heirloom .pi-postcard {transform:none;border-radius:50% 50% 0 0;padding:.4rem;outline:1px solid #7c8789;outline-offset:4px}
.blue-heirloom .pi-postcard img {aspect-ratio:4/4;border-radius:inherit}
.blue-heirloom :is(.pi-portrait, .pi-postcard) img[src$="/blue-heirloom.webp"] {
  object-position: 70% top;
}
.blue-heirloom .pi-venue .location-copy {background:none;box-shadow:none;border:0;outline:0}
.blue-heirloom .pi-footer {background:var(--silk);text-shadow:0 1px 4px #243443;color:#fff}
@media (min-width:720px) {
  .blue-heirloom .pi-stock h1 span {display:inline}
  .blue-heirloom .pi-stock h1 i {display:inline-block;vertical-align:middle;margin:0 .2em}
  .blue-heirloom .pi-venue .pi-postcard {grid-column:2;grid-row:1}
  .blue-heirloom .pi-venue .location-copy {grid-column:1;grid-row:1}
}
@media (max-width:430px) {
  .pi-nav {letter-spacing:.09em}
  .pi-spread {gap:2.7rem}
}
@font-face {
  font-family:"Print Script";src:url('/fonts/MarckScript-Regular.ttf') format('truetype');
  font-display:swap;font-style:normal;font-weight:400;
}
.ribbon-lace h1,.ribbon-lace .welcome h2,.ribbon-lace .pi-insert h2,.blue-heirloom h1,.blue-heirloom .pi-insert h2 {
  font-family:"Print Script",var(--hand);font-style:normal;letter-spacing:0;
}
.ribbon-lace .pi-insert {align-content:start;padding-top:14%;padding-bottom:26%}
.ribbon-lace .pi-insert h2 {font-size:clamp(1.45rem,5.2vw,2.55rem)}
.pi-band {inset:71% 2% 19%;background:linear-gradient(0deg,#7c3e52,#d28a94 24%,#efb2af 47%,#a15c72 90%)}
.pi-tie {top:48%;left:9%;width:82%}
.blue-heirloom .pi-hero-art::after {z-index:0}
.blue-heirloom .pi-hero-art::before {pointer-events:none}
@media(min-width:720px) {
  .blue-heirloom .pi-stock h1 {font-size:clamp(3.1rem,6.1vw,5.8rem)}
}
.print-invitation:has(.pi-opening[open]) {overflow:hidden}
@keyframes pi-clear-backdrop {to {opacity:0}}
.pi-opening.is-opening::backdrop {animation:pi-clear-backdrop .42s .9s ease both}
.blue-heirloom .pi-opening.is-opening::backdrop {animation-delay:1.59s}
@media (prefers-reduced-motion:reduce) {
  .pi-opening.is-opening::backdrop {animation:none}
}
