/* Independent invitation design system. No scrapbook, ticket or ornament CSS. */
/* MAKE A WISH — a birthday postcard with ink outlines and static doodles. */
.collection-page.c-design-wish{font-size:15px;line-height:1.8}
.collection-page.c-design-wish .c-cover{min-height:0;overflow:visible;padding:0;background:var(--c-bg);z-index:1}
.c-design-wish .wish-topbar{display:flex;justify-content:space-between;gap:20px;padding:16px max(24px,calc((100vw - 1120px)/2));border-bottom:2px solid var(--c-ink);font:500 10px/1.5 var(--c-body);letter-spacing:.06em}
.c-design-wish .wish-topbar a{text-decoration:none}
.c-design-wish .wish-hero{position:relative;isolation:isolate;text-align:center;padding:64px 24px 154px}
.c-design-wish .wish-name{position:relative;font:400 clamp(36px,4.5vw,62px)/1.3 'Patrick Hand',cursive;overflow-wrap:anywhere;max-width:700px;margin:auto}
.collection-page.c-design-wish .c-kicker{font-size:11px;letter-spacing:.06em;line-height:1.8;color:inherit}
.c-design-wish .wish-hero>.c-kicker{margin:12px 0 8px}
.collection-page.c-design-wish .wish-title{font:800 calc(clamp(92px,13vw,172px) * var(--c-scale))/1.16 var(--c-heading);color:var(--c-accent);letter-spacing:-.045em;max-width:1000px;margin:auto;white-space:pre-line;overflow-wrap:anywhere;text-wrap:balance}
.c-design-wish .wish-subtitle{font:700 13px/1.8 var(--c-body);letter-spacing:.12em;margin-top:14px;white-space:pre-line;overflow-wrap:anywhere}
.c-design-wish .wish-date{display:block;margin-top:28px;font:600 13px/1.6 var(--c-body);letter-spacing:.04em}
.c-design-wish .wish-portrait{width:140px;aspect-ratio:1;margin:24px auto 0;border:2px solid var(--c-ink);border-radius:50%;overflow:hidden}
.c-design-wish .wish-portrait .c-photo{height:100%}
.collection-page.c-design-wish .c-nav{display:none}
.c-design-wish .wish-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.c-design-wish .wish-speck{position:absolute;width:22px;height:22px;rotate:18deg;color:var(--c-ink)}
.c-design-wish .wish-speck .doodle{display:block;width:100%;height:100%;fill:var(--c-accent);stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.c-design-wish .wish-speck:nth-child(3n) .doodle{fill:var(--c-secondary)}
.c-design-wish .wish-speck:nth-child(3n + 1) .doodle{fill:#ff927c}
.c-design-wish .wish-speck:nth-child(even){width:14px;height:14px;rotate:-20deg}
.c-design-wish .wish-speck-0{left:8%;top:12%}.c-design-wish .wish-speck-1{left:22%;top:4%}.c-design-wish .wish-speck-2{right:8%;top:10%}.c-design-wish .wish-speck-3{left:29%;top:40%}.c-design-wish .wish-speck-4{left:12%;top:49%}.c-design-wish .wish-speck-5{right:25%;top:30%}.c-design-wish .wish-speck-6{right:10%;top:65%}.c-design-wish .wish-speck-7{left:7%;top:80%}.c-design-wish .wish-speck-8{right:7%;top:42%}.c-design-wish .wish-speck-9{left:25%;top:75%}.c-design-wish .wish-speck-10{right:28%;top:87%}.c-design-wish .wish-speck-11{right:22%;top:5%}
.c-design-wish .wish-cake{display:block;width:160px;height:190px;flex-shrink:0;color:var(--c-ink)}
.collection-page.c-design-wish .c-section{padding:80px max(24px,calc((100vw - 1080px)/2));scroll-margin-top:20px}
.collection-page.c-design-wish .c-section :is(h2,h3){font-family:var(--c-heading);font-weight:700;line-height:1.3;letter-spacing:-.03em}
.collection-page.c-design-wish .c-section h2{font-size:clamp(30px,3.5vw,48px)}
.collection-page.c-design-wish .c-section h3{font-size:clamp(22px,2.4vw,30px)}
.collection-page.c-design-wish .c-section-heading{margin-bottom:22px}
.collection-page.c-design-wish .c-section-heading>.c-kicker{margin-bottom:16px;color:var(--c-ink)}
.collection-page.c-design-wish .c-section-intro{font-size:15px;line-height:1.8;max-width:46ch;white-space:pre-line}
.collection-page.c-design-wish .wish-party{position:relative;z-index:2;background:var(--c-secondary);border-top:2px solid var(--c-ink);padding-top:0}
.c-design-wish .wish-invite-card{position:relative;isolation:isolate;max-width:680px;margin:-30px auto 0;border:2px solid var(--c-ink);background:var(--c-bg);padding:142px 70px 56px;text-align:center}
.c-design-wish .wish-invite-card>.wish-cake{position:absolute;left:50%;top:-105px;transform:translateX(-50%) rotate(-7deg)}
.c-design-wish .wish-invite-card>.c-section-intro{margin:auto}
.collection-page.c-design-wish .c-message{font:400 15px/1.9 var(--c-body);max-width:46ch;margin:24px auto 0}
.collection-page.c-design-wish .c-appointments{display:block;margin-top:32px}
.collection-page.c-design-wish .c-appointment{border:0;padding:0}
.collection-page.c-design-wish .c-appointment-date{font:600 24px/1.5 var(--c-body);margin-top:10px;letter-spacing:0}
.collection-page.c-design-wish .c-appointment h3{font-size:22px;margin:22px 0 8px}
.collection-page.c-design-wish .c-small{font-size:13px;letter-spacing:0}
.c-design-wish .wish-event-note{font-size:13px;white-space:pre-line;margin-top:28px}
.collection-page.c-design-wish .c-link{font:600 12px/1.6 var(--c-body);letter-spacing:0;border:1.5px solid currentColor;min-height:44px;padding:10px 18px;gap:18px;border-radius:0;text-transform:none}
.collection-page.c-design-wish .c-appointment>.c-link{margin:16px 6px 0}
.collection-page.c-design-wish .c-rsvp-link{background:var(--c-accent);margin-top:26px}
.collection-page.c-design-wish .c-location{margin:56px auto 0;max-width:900px}
.collection-page.c-design-wish .c-location-layout{background:var(--c-bg);border:2px solid var(--c-ink);box-shadow:none;rotate:0}
.collection-page.c-design-wish .c-countdown{max-width:680px;margin:48px auto 0;border:0;padding:0}
.collection-page.c-design-wish .c-countdown-digits{margin:24px auto;max-width:580px}
.collection-page.c-design-wish .c-countdown-digits :is(strong,.countdown-separator){font:700 clamp(28px,5vw,56px)/1 var(--c-body)}
.collection-page.c-design-wish .c-countdown-digits span{font-size:11px}
.collection-page.c-design-wish .c-gallery-section{background:var(--c-bg);border-top:2px solid var(--c-ink)}
.collection-page.c-design-wish .c-gallery-copy .c-section-intro{font-size:15px}
.collection-page.c-design-wish .c-gallery .c-photo{border:2px solid var(--c-ink);background:var(--c-bg)}
.collection-page.c-design-wish .c-gallery figcaption{font-size:11px}
.collection-page.c-design-wish .c-story{background:var(--c-bg);border-top:1px solid var(--c-ink)}
.collection-page.c-design-wish .c-moments{max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:32px}
.collection-page.c-design-wish .c-moment{display:block;padding:24px 0;border-top:2px solid var(--c-ink)}
.collection-page.c-design-wish .c-moment-number{font:400 42px/1 'Patrick Hand',cursive;color:var(--c-ink)}
.collection-page.c-design-wish .c-moment-copy>.c-kicker{margin-top:20px}
.collection-page.c-design-wish .c-moment-copy>p:last-child{font-size:14px;line-height:1.8}
.collection-page.c-design-wish .c-agenda{padding-top:32px;background:var(--c-bg)}
.collection-page.c-design-wish .c-agenda-number{color:var(--c-ink)}
.collection-page.c-design-wish .c-closing{position:relative;isolation:isolate;background:var(--c-accent);border-top:2px solid var(--c-ink);min-height:400px;padding-block:70px}
.collection-page.c-design-wish .c-closing>h2{font-size:clamp(32px,4.5vw,58px);max-width:20ch}
.collection-page.c-design-wish .c-closing>.c-kicker{margin-bottom:24px}
.collection-page.c-design-wish .c-closing>p:not(.c-kicker){max-width:48ch;margin-top:24px}
.collection-page.c-design-wish .c-signature{font:400 30px/1.4 'Patrick Hand',cursive}
.collection-page.c-design-wish .c-footer{background:var(--c-accent);border-top:1px solid color-mix(in srgb,var(--c-ink) 25%,transparent);font-size:9px;letter-spacing:.04em}
@media(max-width:759px){
 .c-design-wish .wish-hero{padding:48px 28px 132px}
 .c-design-wish .wish-speck-3,.c-design-wish .wish-speck-5,.c-design-wish .wish-speck-9{display:none}
 .c-design-wish .wish-speck{width:17px;height:17px}
 .c-design-wish .wish-invite-card{padding:112px 24px 36px}
 .c-design-wish .wish-invite-card>.wish-cake{width:130px;height:155px;top:-88px}
 .collection-page.c-design-wish .c-moments{grid-template-columns:minmax(0,1fr);gap:8px}
 .collection-page.c-design-wish .c-section{padding:56px 22px}
 .collection-page.c-design-wish .wish-party{padding-top:0}
 .collection-page.c-design-wish .c-footer{flex-wrap:wrap;justify-content:center;gap:16px}
}
.collection-page{margin:0;background:var(--c-bg);color:var(--c-ink);font:400 14px/1.8 var(--c-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
.collection-page *{box-sizing:border-box}
.collection-page :is(h1,h2,h3,p,figure){margin:0}
.collection-page :is(h1,h2,h3){font-family:var(--c-heading);font-weight:400;line-height:1.06;text-wrap:balance}
.collection-page a{color:inherit}
.collection-page button{font:inherit;color:inherit;cursor:pointer}
.collection-page :focus-visible{outline:2px solid var(--c-accent);outline-offset:6px}
.collection-page [hidden]{display:none!important}
.collection-page .c-invitation{width:100%;outline:0}
.collection-page .c-title{font:400 clamp(56px,calc(9vw * var(--c-scale)),148px)/.98 var(--c-heading);letter-spacing:-.045em;white-space:pre-line;overflow-wrap:anywhere;text-wrap:balance}
.collection-page .c-kicker{font:500 10px/1.9 var(--c-body);letter-spacing:.2em;text-transform:uppercase;overflow-wrap:anywhere}
.collection-page .c-small{font:400 11px/1.9 var(--c-body);letter-spacing:.015em;white-space:pre-line;overflow-wrap:anywhere}
.collection-page .c-name{font:400 clamp(22px,3vw,40px)/1.3 var(--c-heading);text-wrap:balance;overflow-wrap:anywhere}
.collection-page .c-date{display:block;font:500 11px/1.6 var(--c-body);letter-spacing:.22em;margin-top:20px}
.collection-page .c-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;max-width:100%;min-height:48px;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;padding:12px 0;font:500 10px/1.6 var(--c-body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:gap .3s,opacity .3s;text-align:left}
.collection-page .c-link span{font:400 22px/1 var(--c-body)}
.collection-page .c-link:hover{gap:48px;opacity:.72}
.collection-page .c-photo{position:relative;min-width:0;width:100%;height:100%}
.collection-page .photo-zoom{display:block;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;overflow:hidden}
.collection-page .c-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform .8s}
.collection-page .c-photo figcaption{position:absolute;top:calc(100% + 10px);left:0;font:400 9px/1.6 var(--c-body);letter-spacing:.04em}
.collection-page .c-cover figcaption{display:none}
.collection-page .c-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%;height:100%;min-height:100px;background:var(--c-secondary);color:var(--c-accent)}
.collection-page .c-photo-empty span{font:italic 400 clamp(56px,12vw,160px)/1 var(--c-heading)}
.collection-page .c-photo-empty small{font:500 8px/1.8 var(--c-body);letter-spacing:.24em}
.collection-page .c-cover{position:relative;isolation:isolate;min-height:100svh;padding:28px clamp(24px,5vw,80px) 48px;overflow:hidden;display:flex;flex-direction:column}
.collection-page .c-folio{display:flex;justify-content:space-between;gap:20px;position:relative;z-index:2;font:400 8px/1.6 var(--c-body);letter-spacing:.14em;flex-shrink:0}
.collection-page .c-folio span:last-child{text-align:right}
.collection-page .c-cover-copy>.c-kicker{margin-bottom:28px}
.collection-page .c-cover-details{margin-top:26px}
.collection-page .c-cover-details .c-small{max-width:430px;margin-top:14px;font-size:9px;letter-spacing:.1em}
.collection-page .c-cover-copy>.c-link{margin-top:28px}
.collection-page .c-vertical{writing-mode:vertical-rl;font:500 8px/1.7 var(--c-body);letter-spacing:.2em}
.collection-page .c-luxe-title{position:relative;z-index:2;margin-top:60px}
.collection-page .c-luxe-title .c-title{margin:22px 0 -18px}
.collection-page .c-luxe-image{height:49svh;min-height:320px;width:82%;margin-left:auto}
.collection-page .c-luxe-image img{object-position:75% 55%}
.collection-page .c-luxe-footer{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-top:8px}
.collection-page .c-luxe-footer .c-small{max-width:230px}
.collection-page .c-luxe-footer .c-name{font-size:23px}
.collection-page .c-cover-bloom{justify-content:space-between}
.collection-page .c-botanical-scene{position:absolute;inset:0;z-index:-2}
.collection-page .c-botanical-scene img{object-position:65% center}
.collection-page .c-cover-bloom:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c-bg) 83%,transparent))}
.collection-page .c-bloom-copy{width:78%;align-self:flex-end;padding:100px 0 80px;text-align:center}
.collection-page .c-bloom-copy .c-title{margin:30px 0}
.collection-page .c-bloom-copy .c-link{margin-top:32px}
.collection-page .c-cover-forever>.c-kicker{margin-top:100px}
.collection-page .c-cover-forever>.c-title{margin-top:30px;font-size:clamp(72px,14vw,200px)}
.collection-page .c-forever-baseline{display:grid;grid-template-columns:1fr 110px;align-items:end;gap:30px;margin-top:auto;padding-top:60px}
.collection-page .c-forever-photo{height:160px}
.collection-page .c-forever-photo img{object-position:80% center}
.collection-page .c-forever-baseline>.c-link{grid-column:1/-1;justify-self:start}
.collection-page .c-cover-noir{color:var(--c-white);justify-content:space-between;min-height:100svh;padding-bottom:32px}
.collection-page .c-film-backdrop{position:absolute;inset:0;z-index:-2}
.collection-page .c-film-backdrop img{object-position:70% center}
.collection-page .c-cover-noir:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0004,transparent 30%,#0005 65%,#000b)}
.collection-page .c-film-title{margin-top:auto;padding-top:160px}
.collection-page .c-film-title .c-title{margin:24px 0 32px}
.collection-page .c-film-title .c-name{font-size:25px}
.collection-page .c-film-bottom{display:flex;gap:24px;align-items:end;justify-content:space-between;margin-top:40px}
.collection-page .c-film-bottom>.c-small{max-width:300px}
.collection-page .c-cover-edition{padding-top:24px}
.collection-page .c-cover-edition .c-folio{border-block:1px solid currentColor;padding:10px 0}
.collection-page .c-edition-masthead{margin:36px 0 -12px;position:relative;z-index:2}
.collection-page .c-edition-masthead .c-title{font-size:clamp(60px,12vw,170px);letter-spacing:-.065em}
.collection-page .c-edition-spread{position:relative;display:grid;grid-template-columns:34% 1fr;gap:18px;align-items:end;flex:1}
.collection-page .c-edition-spread>aside{padding-bottom:12px}
.collection-page .c-edition-spread .c-kicker{font-size:8px}
.collection-page .c-edition-spread .c-name{font-size:21px}
.collection-page .c-edition-spread>.c-photo{min-height:380px;max-height:65svh}
.collection-page .c-edition-spread .c-vertical{position:absolute;right:-17px;top:25px}
.collection-page .c-edition-spread .c-link{font-size:8px;gap:12px;margin-top:24px}
.collection-page .c-party-poster{position:relative;display:grid;place-items:center;flex:1;margin-top:50px}
.collection-page .c-party-poster .c-title{font-weight:800;text-transform:uppercase;font-size:clamp(55px,10vw,145px);position:relative;z-index:2;text-align:center}
.collection-page .c-party-copy{min-width:0;position:relative;z-index:2;text-align:center}
.collection-page .c-party-copy>.c-kicker{margin-bottom:20px}
.collection-page .c-cover-intro{max-width:38ch;margin-top:24px;font:400 14px/1.75 var(--c-body);letter-spacing:0;white-space:pre-line;overflow-wrap:anywhere}
.collection-page .c-party-copy>.c-cover-intro{margin:24px auto 32px}
.collection-page .c-party-image{width:68%;height:390px;margin-top:-20px}
.collection-page .c-party-image img{object-position:center 78%}
.collection-page .c-sunburst{font:400 100px/1 var(--c-body);color:var(--c-accent);position:absolute;right:0;bottom:20%;transform:rotate(-15deg)}
.collection-page .c-party-details{display:flex;align-items:end;justify-content:space-between;gap:20px}
.collection-page .c-party-details .c-name{font:600 24px/1.5 var(--c-body)}
.collection-page .c-pop-layout{display:flex;flex-direction:column;justify-content:center;gap:30px;flex:1;padding-top:60px}
.collection-page .c-cover-pop .c-title{font-weight:800;font-size:clamp(48px,8vw,110px);letter-spacing:-.07em}
.collection-page .c-pop-orbit{position:relative;width:80%;aspect-ratio:1;margin:20px 0 40px auto}
.collection-page .c-pop-orbit>.c-photo{border-radius:50%;overflow:hidden}
.collection-page .c-pop-orbit img{object-position:center bottom}
.collection-page .c-pop-orbit .c-sunburst{left:-15%;right:auto;top:-12%;bottom:auto;font-size:130px}
.collection-page .c-orbit-word{position:absolute;bottom:-16px;left:10%;padding:12px 22px;background:var(--c-secondary);color:var(--c-ink);transform:rotate(-9deg);font:700 10px/1.5 var(--c-body);letter-spacing:.13em}
.collection-page .c-cover-frame>.c-kicker{margin-top:44px;text-align:center}
.collection-page .c-triptych{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;margin-top:28px;height:380px;align-items:center}
.collection-page .c-triptych>.c-photo{height:86%}
.collection-page .c-triptych>.c-photo:nth-child(2){height:100%}
.collection-page .c-frame-title{margin:-24px -12px 0;z-index:2;position:relative;text-align:center}
.collection-page .c-frame-title .c-title{font-style:italic;font-size:clamp(56px,9vw,125px);color:var(--c-accent)}
.collection-page .c-frame-details{display:flex;align-items:end;justify-content:space-between;gap:20px}
.collection-page .c-frame-details .c-name{font-size:25px}
.collection-page .c-year-art{position:relative;min-height:350px;margin-top:40px;display:flex;align-items:center;justify-content:center}
.collection-page .c-year{font:400 clamp(140px,30vw,480px)/.9 var(--c-heading);letter-spacing:-.09em}
.collection-page .c-year-portrait{position:absolute;width:33%;height:85%;left:36%;top:8%;transform:rotate(6deg)}
.collection-page .c-classof-copy{position:relative;margin-top:28px}
.collection-page .c-classof-copy .c-title{font-size:clamp(46px,7vw,94px);margin-top:22px}
.collection-page .c-classof-copy>.c-link{margin-top:20px}
.collection-page .c-petal-layout{position:relative;flex:1;display:flex;flex-direction:column;padding-top:20px}
.collection-page .c-petal-date{position:relative;z-index:2;align-self:start}
.collection-page .c-petal-date>span{font:400 210px/.8 var(--c-heading);letter-spacing:-.08em}
.collection-page .c-petal-date>i{display:block;text-align:center;font:italic 400 40px/1 var(--c-heading)}
.collection-page .c-petal-photo{height:320px;width:80%;margin:-110px 0 0 auto}
.collection-page .c-petal-photo img{object-position:15% 80%}
.collection-page .c-petal-layout>.c-cover-copy{z-index:2;position:relative;margin-top:-12px}
.collection-page .c-petal-layout .c-title{font-size:clamp(55px,8vw,120px)}
.collection-page .c-romance-diptych{display:flex;flex-direction:column;gap:36px;flex:1;margin-top:40px}
.collection-page .c-romance-image{height:48svh;min-height:300px}
.collection-page .c-romance-image img{object-position:85% center}
.collection-page .c-romance-diptych .c-title{font-style:italic}
.collection-page .c-romance-caption{border-top:1px solid color-mix(in srgb,var(--c-ink) 30%,transparent);margin-top:40px;padding-top:20px;font:400 11px/1.8 var(--c-body);letter-spacing:.06em}
.collection-page .c-marquee{margin:-28px calc(-1 * clamp(24px,5vw,80px)) 25px;background:var(--c-ink);color:var(--c-bg);font:600 15px/2.4 var(--c-body);letter-spacing:.22em;white-space:nowrap;overflow:hidden}
.collection-page .c-celebrate-layout{position:relative;flex:1;padding-top:70px}
.collection-page .c-celebrate-layout .c-title{font-weight:800;letter-spacing:-.075em;text-transform:uppercase;font-size:clamp(48px,8vw,110px)}
.collection-page .c-celebrate-image{width:65%;height:300px;margin:35px 0 0 auto;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}
.collection-page .c-celebrate-image img{object-position:center bottom}
.collection-page .c-celebrate-layout .c-sunburst{left:0;right:auto;bottom:10px}
.collection-page .c-muse-layout{display:flex;flex-direction:column;gap:45px;margin-top:50px;flex:1}
.collection-page .c-muse-layout>.c-photo{height:380px;width:80%;border-radius:50% 50% 0 0;overflow:hidden}
.collection-page .c-muse-layout img{object-position:20% center}
.collection-page .c-muse-layout .c-title{margin:25px 0}
.collection-page .c-dear-title{padding:70px 0 35px;text-align:center}
.collection-page .c-dear-title .c-title{font-size:clamp(66px,11vw,160px);margin-top:24px}
.collection-page .c-dear-panorama{height:40svh;min-height:280px;margin-inline:calc(-1 * clamp(24px,5vw,80px))}
.collection-page .c-dear-panorama img{object-position:75% center}
.collection-page .c-dear-footer{display:flex;align-items:end;gap:28px;justify-content:space-between}
.collection-page .c-yes-layout{position:relative;flex:1;padding-top:65px}
.collection-page .c-yes-mark{display:block;text-align:right;font:italic 400 190px/.85 var(--c-heading);color:var(--c-accent)}
.collection-page .c-yes-layout .c-title{font-size:clamp(50px,8vw,110px)}
.collection-page .c-yes-portrait{width:110px;height:145px;margin:24px 0 0 auto}
.collection-page .c-yes-portrait img{object-position:82% center}
.collection-page .c-little-layout{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:55px}
.collection-page .c-little-window{width:190px;height:240px;border-radius:110px 110px 0 0;overflow:hidden;margin-bottom:30px}
.collection-page .c-little-window img{object-position:15% 70%}
.collection-page .c-little-layout .c-title{font-size:clamp(52px,8vw,112px)}
.collection-page .c-little-layout .c-cover-details{display:flex;flex-direction:column;align-items:center}
.collection-page .c-little-caption{font:italic 400 24px/1.5 var(--c-heading);margin-top:40px}
.collection-page .c-afterhours-layout{position:relative;flex:1;margin-top:35px;display:flex;align-items:start;padding-top:80px}
.collection-page .c-afterhours-image{position:absolute;inset:0 0 0 22%;z-index:-1}
.collection-page .c-afterhours-image img{object-position:center bottom;filter:brightness(.65)}
.collection-page .c-afterhours-layout .c-title{font:700 clamp(64px,11vw,160px)/.95 var(--c-body);text-transform:uppercase}
.collection-page .c-afterhours-layout>.c-cover-copy{padding-bottom:80px}
.collection-page .c-afterhours-layout .c-vertical{position:absolute;right:-16px;bottom:10px}
.collection-page .c-vows-top{display:flex;flex-direction:column;gap:24px;padding:50px 0 30px}
.collection-page .c-vows-top .c-title{font-size:clamp(60px,10vw,150px)}
.collection-page .c-vows-spread{display:grid;grid-template-columns:1.5fr 1fr;gap:25px;align-items:end;flex:1}
.collection-page .c-vows-spread>.c-photo:first-child{height:400px}
.collection-page .c-vows-spread>.c-photo:last-child{height:170px;grid-column:2}
.collection-page .c-vows-spread .c-small{margin-top:20px}
.collection-page .c-vows-spread .c-name{font-size:22px}
.collection-page .c-vows-spread .c-link{gap:12px;font-size:8px;margin-top:20px}
.collection-page .c-cover .c-photo-0 img{object-position:var(--c-cover-position,center) center}
/* Long-form sections share data, while each family owns its visual rhythm. */
.collection-page .c-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(20px,5vw,80px);background:var(--c-bg);border-bottom:1px solid color-mix(in srgb,var(--c-ink) 18%,transparent)}
.collection-page .c-nav>a{font:400 19px/1.2 var(--c-heading);max-width:50%;text-decoration:none;overflow-wrap:anywhere}
.collection-page .c-nav>div{display:flex;gap:18px;flex-shrink:0}
.collection-page .c-nav>div a{font:500 9px/1.6 var(--c-body);text-decoration:none;padding:8px 0}
.collection-page .c-section{padding:var(--c-space) clamp(24px,7vw,110px);scroll-margin-top:85px}
.collection-page .c-section-heading{margin-bottom:36px}
.collection-page .c-section-heading>.c-kicker{margin-bottom:25px;color:var(--c-accent)}
.collection-page .c-section h2{font-size:clamp(42px,6.5vw,95px);letter-spacing:-.035em;white-space:pre-line;overflow-wrap:anywhere}
.collection-page .c-section h3{font-size:clamp(26px,3vw,42px);line-height:1.2;overflow-wrap:anywhere}
.collection-page .c-section-intro{max-width:500px;line-height:1.9;font-size:13px}
.collection-page .c-moments{margin-top:55px}
.collection-page .c-moment{position:relative;display:flex;gap:24px;border-top:1px solid color-mix(in srgb,var(--c-ink) 22%,transparent);padding:35px 0}
.collection-page .c-moment-number{font:italic 400 52px/1 var(--c-heading);color:var(--c-accent);min-width:50px}
.collection-page .c-moment-copy{flex:1;min-width:0}
.collection-page .c-moment-copy h3{margin:14px 0}
.collection-page .c-moment-copy>p:last-child{max-width:490px;font-size:13px;line-height:1.9}
.collection-page .c-gallery-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);align-items:center;gap:clamp(32px,6vw,90px)}
.collection-page .c-gallery-copy{min-width:0}
.collection-page .c-gallery-copy h2{font-size:clamp(38px,4.5vw,68px)}
.collection-page .c-gallery-copy .c-section-heading{margin-bottom:22px}
.collection-page .c-gallery-copy .c-section-intro{max-width:340px;font-size:12px}
.collection-page .c-gallery{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:64px 24px;min-width:0;padding:20px 12px 44px}
.collection-page .c-gallery>.c-photo{height:auto;aspect-ratio:3/4;rotate:-4deg}
.collection-page .c-gallery>.c-photo:nth-child(even){margin-top:55%;rotate:5deg;aspect-ratio:4/5}
.collection-page .c-gallery>.c-photo:nth-child(4n+3){width:78%;justify-self:end;rotate:3deg;aspect-ratio:1}
.collection-page .c-gallery>.c-photo:nth-child(4n+4){rotate:-5deg}
.collection-page .c-gallery>.c-photo:only-child{grid-column:1/-1;width:78%;justify-self:center}
.collection-page .c-gallery figcaption{overflow-wrap:anywhere;max-height:3.2em;overflow:hidden}
.collection-page .c-message-layout{display:grid;gap:30px}
.collection-page .c-message{font:400 clamp(24px,3.2vw,42px)/1.5 var(--c-heading);white-space:pre-line;overflow-wrap:anywhere}
.collection-page .c-signature{font:italic 400 25px/1.4 var(--c-heading);margin-bottom:18px;overflow-wrap:anywhere}
.collection-page .c-families{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:65px;border-top:1px solid color-mix(in srgb,var(--c-ink) 20%,transparent);padding-top:30px}
.collection-page .c-family>.c-kicker{margin-bottom:15px}
.collection-page .c-family>p{overflow-wrap:anywhere}
.collection-page .c-family>.c-small{margin-top:16px}
.collection-page .c-appointments{display:grid;margin-top:65px;gap:50px}
.collection-page .c-appointment{border-top:1px solid var(--c-accent);padding-top:24px}
.collection-page .c-appointment-date{font:400 clamp(44px,5vw,70px)/1.3 var(--c-heading);letter-spacing:-.04em;margin:18px 0 6px}
.collection-page .c-appointment h3{margin:24px 0 12px}
.collection-page .c-appointment>p{overflow-wrap:anywhere}
.collection-page .c-appointment>.c-link{margin:18px 24px 0 0}
.collection-page .c-location{margin-top:85px}
.collection-page .c-location-copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px}
.collection-page .c-location iframe{width:100%;height:360px;border:0;margin-top:35px}
.collection-page .c-countdown{border-block:1px solid color-mix(in srgb,var(--c-ink) 25%,transparent);margin-top:70px;padding:42px 0;text-align:center}
.collection-page .c-countdown-digits{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,auto minmax(0,1fr));align-items:start;gap:clamp(4px,1.5vw,16px);margin:30px auto;max-width:800px;font-variant-numeric:tabular-nums}
.collection-page .c-countdown-digits .countdown-separator{font:400 clamp(32px,7vw,90px)/1 var(--c-heading);opacity:.65;user-select:none}
.collection-page .c-countdown-digits strong{display:block;font:400 clamp(40px,8vw,105px)/1 var(--c-heading);letter-spacing:-.045em}
.collection-page .c-countdown-digits span{display:block;font-size:9px;letter-spacing:.1em;margin-top:12px}
.collection-page .c-rsvp-link{margin-top:35px}
.collection-page .c-agenda{padding-top:0}
.collection-page .c-agenda-row{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:28px 0;border-top:1px solid color-mix(in srgb,var(--c-ink) 20%,transparent)}
.collection-page .c-agenda-row time{font:400 25px/1.4 var(--c-heading)}
.collection-page .c-agenda-row h3{font-size:27px}
.collection-page .c-agenda-row p{margin-top:10px;white-space:pre-line;overflow-wrap:anywhere}
.collection-page .c-closing{min-height:70svh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--c-secondary)}
.collection-page .c-closing>.c-kicker{margin-bottom:45px}
.collection-page .c-closing>h2{font-size:clamp(62px,10vw,150px)}
.collection-page .c-closing>p:not(.c-kicker){max-width:550px;margin-top:30px;white-space:pre-line}
.collection-page .c-closing>.c-link{margin-top:35px}
.collection-page .c-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px clamp(24px,5vw,80px);font:500 8px/1.6 var(--c-body);letter-spacing:.16em}
.collection-page .c-footer>a{font:500 19px/1.4 var(--c-heading);text-decoration:none;letter-spacing:0;white-space:nowrap;flex-shrink:0}
.collection-page .c-footer>span:first-child{min-width:0;overflow-wrap:break-word}
@media(max-width:600px){
 body.collection-page .c-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
 body.collection-page .c-footer>span:last-child{display:none}
}
.collection-editorial .c-section-heading{border-top:1px solid currentColor;padding-top:24px}
.collection-editorial .c-moment{display:grid;grid-template-columns:50px 1fr;gap:25px}
.collection-editorial .c-moment>.c-photo{height:300px;grid-column:2}
.collection-editorial .c-moment-copy{grid-column:2}
.collection-editorial .c-moment:nth-child(even)>.c-photo{height:220px}
.collection-editorial .c-closing{background:var(--c-ink);color:var(--c-bg)}
.collection-minimal .c-section{max-width:1400px;margin:auto}
.collection-minimal .c-message-layout{max-width:850px}
.collection-minimal .c-moments{max-width:800px;margin-left:auto}
.collection-minimal .c-story-note{padding:28px 0;border-top:1px solid color-mix(in srgb,var(--c-ink) 20%,transparent)}
.collection-minimal .c-story-note summary{cursor:pointer;list-style:none;display:flex;gap:25px;font:400 25px/1.4 var(--c-heading)}
.collection-minimal .c-story-note summary:after{content:'+';margin-left:auto}
.collection-minimal .c-story-note[open] summary:after{content:'−'}
.collection-minimal .c-story-note summary span{font:400 10px/2 var(--c-body)}
.collection-minimal .c-story-note>p{margin:20px 0 0 40px;font-size:13px}
.collection-minimal .c-closing{background:var(--c-bg);border-top:1px solid color-mix(in srgb,var(--c-ink) 20%,transparent)}
.collection-pop .c-section h2{font-family:var(--c-body);font-weight:800;letter-spacing:-.065em}
.collection-pop .c-story{background:var(--c-secondary)}
.collection-pop .c-moment{padding:36px 0;gap:25px}
.collection-pop .c-moment-number{font:800 65px/1 var(--c-body)}
.collection-pop .c-moment h3{font:700 28px/1.2 var(--c-body)}
.collection-pop .c-gallery>.c-photo:nth-child(even){border-radius:150px 150px 0 0}
.collection-pop .c-gallery .photo-zoom{border-radius:inherit}
.collection-pop .c-cover-copy>.c-link{border:1px solid currentColor;border-radius:60px;padding:16px 24px}
.collection-cinema .c-moment{display:flex;flex-direction:column;gap:32px;padding:45px 0}
.collection-cinema .c-moment>.c-photo{height:55svh;min-height:260px}
.collection-cinema .c-moment-number{font-size:13px;letter-spacing:.2em}
.collection-cinema .c-moment-copy>h3{font-size:clamp(40px,5vw,70px)}
.collection-cinema .c-moment:nth-child(even) .c-photo img{object-position:75% center}
.collection-cinema .c-closing{background:var(--c-bg)}
/* Opening and controls are intentionally independent of the handmade renderer. */
.collection-page .c-opening{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:28px;border:0;background:var(--c-bg);color:var(--c-ink);overflow:auto;transition:opacity .7s,transform .7s}
.collection-page .c-opening::backdrop{background:var(--c-bg)}
.collection-page .c-opening-inner{min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:25px;max-width:800px;margin:auto}
.collection-page .c-opening-monogram{font:italic 400 clamp(100px,20vw,250px)/1 var(--c-heading);letter-spacing:-.09em;color:var(--c-accent)}
.collection-page .c-opening h2{font-size:clamp(32px,5vw,64px);overflow-wrap:anywhere;max-width:100%}
.collection-page .c-opening-exit{opacity:0;transform:translateY(-30px)}
.collection-page .c-lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:65px 24px 24px;background:#121512f5;color:#fff}
.collection-page .c-lightbox::backdrop{background:#121512ee}
.collection-page .c-lightbox img{display:block;max-width:100%;height:calc(100% - 60px);object-fit:contain;margin:auto}
.collection-page .c-lightbox p{text-align:center;padding:15px}
.collection-page .c-lightbox button{position:absolute;right:20px;top:12px;width:48px;height:48px;border:0;background:transparent;font-size:35px}
.collection-page .c-music{position:fixed;bottom:20px;right:20px;z-index:20;border:1px solid currentColor;background:var(--c-bg);color:var(--c-ink);border-radius:30px;min-height:48px;padding:12px 20px;font-size:11px}
.collection-page .c-media-status{position:fixed;bottom:80px;right:20px;max-width:300px;background:var(--c-bg);padding:15px;z-index:21}
.c-motion-ready.c-style-cinematic .c-film-backdrop img{animation:c-slow-zoom 18s ease-out both}
.c-motion-ready.c-style-playful .c-sunburst{animation:c-turn 18s linear infinite}
@keyframes c-slow-zoom{from{transform:scale(1.09)}to{transform:scale(1)}}
@keyframes c-turn{to{transform:rotate(345deg)}}
@media(min-width:760px){
 .collection-page .c-cover{min-height:100svh}
 .collection-page .c-luxe-title{margin-top:50px;width:68%}
 .collection-page .c-luxe-title .c-title{margin-bottom:-.4em}
 .collection-page .c-luxe-image{height:60svh;min-height:410px;width:65%}
 .collection-page .c-luxe-footer{margin-top:-100px;pointer-events:none}
 .collection-page .c-luxe-footer .c-cover-details{width:28%}
 .collection-page .c-luxe-footer .c-link{pointer-events:auto;background:var(--c-bg);padding-inline:20px;margin-bottom:-100px}
 .collection-page .c-bloom-copy{width:60%;padding-block:130px}
 .collection-page .c-bloom-copy .c-title{font-size:clamp(90px,10vw,160px)}
 .collection-page .c-forever-baseline{grid-template-columns:1fr 160px 1fr}
 .collection-page .c-forever-photo{height:210px}
 .collection-page .c-forever-baseline>.c-link{grid-column:auto;justify-self:end}
 .collection-page .c-film-title{max-width:80%;padding-top:200px}
 .collection-page .c-film-bottom{margin-top:65px}
 .collection-page .c-edition-spread{grid-template-columns:30% 1fr;gap:50px}
 .collection-page .c-edition-spread>.c-photo{height:58svh;max-height:none;min-height:400px}
 .collection-page .c-edition-spread>aside{max-width:230px;padding-bottom:30px}
 .collection-page .c-edition-spread .c-name{font-size:32px}
 .collection-page .c-party-poster{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
 .collection-page .c-party-poster>.c-title{text-align:left;margin-right:-80px}
 .collection-page .c-party-copy,.collection-page .c-party-copy .c-title{text-align:left}
 .collection-page .c-party-copy>.c-cover-intro{margin-left:0}
 .collection-page .c-party-image{width:100%;height:65svh;margin:0;min-height:450px}
 .collection-page .c-party-poster>.c-sunburst{right:32%;bottom:5%;font-size:150px}
 .collection-page .c-pop-layout{flex-direction:row;align-items:center;gap:0}
 .collection-page .c-pop-layout>.c-cover-copy{width:55%;z-index:1}
 .collection-page .c-pop-orbit{width:44%;margin:40px 0}
 .collection-page .c-triptych{height:52svh;min-height:360px;gap:22px}
 .collection-page .c-frame-title{margin-top:-60px}
 .collection-page .c-year-art{min-height:440px;margin-top:20px}
 .collection-page .c-year-portrait{width:22%;left:41%;height:86%}
 .collection-page .c-classof-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}
 .collection-page .c-classof-copy>.c-kicker{grid-column:1/-1}
 .collection-page .c-classof-copy>.c-title{grid-row:2/4}
 .collection-page .c-classof-copy>.c-link{justify-self:start}
 .collection-page .c-petal-layout{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;padding-block:60px}
 .collection-page .c-petal-date{position:absolute;left:0;top:100px}
 .collection-page .c-petal-date>span{font-size:clamp(210px,25vw,370px)}
 .collection-page .c-petal-photo{height:65svh;width:100%;min-height:500px;margin:0;grid-column:1}
 .collection-page .c-petal-layout>.c-cover-copy{grid-column:2;padding-left:50px}
 .collection-page .c-romance-diptych{flex-direction:row;align-items:center;gap:8%;margin-top:60px}
 .collection-page .c-romance-image{width:43%;height:72svh}
 .collection-page .c-romance-diptych>.c-cover-copy{width:49%}
 .collection-page .c-romance-diptych .c-title{font-size:clamp(65px,8vw,125px)}
 .collection-page .c-celebrate-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px}
 .collection-page .c-celebrate-image{width:100%;height:65svh;margin:0}
 .collection-page .c-celebrate-layout .c-sunburst{left:46%;bottom:5%;font-size:150px}
 .collection-page .c-muse-layout{flex-direction:row;gap:8%;align-items:center}
 .collection-page .c-muse-layout>.c-photo{width:40%;height:65svh;min-height:450px}
 .collection-page .c-muse-layout>div{flex:1}
 .collection-page .c-dear-panorama{height:48svh}
 .collection-page .c-yes-layout{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:70px}
 .collection-page .c-yes-mark{position:absolute;right:24%;top:50px;font-size:260px;z-index:2;pointer-events:none}
 .collection-page .c-yes-portrait{width:100%;height:60svh;margin:0}
 .collection-page .c-little-layout{padding-top:40px}
 .collection-page .c-little-window{position:absolute;right:0;width:28%;height:68svh;z-index:-1;opacity:.75}
 .collection-page .c-little-layout>.c-cover-copy{width:75%;padding-right:10%}
 .collection-page .c-afterhours-layout{padding-top:110px}
 .collection-page .c-afterhours-image{inset:0 8% 0 40%}
 .collection-page .c-afterhours-layout>.c-cover-copy{max-width:75%}
 .collection-page .c-vows-top{flex-direction:row;align-items:end;justify-content:space-between}
 .collection-page .c-vows-top>.c-kicker{width:20%;padding-bottom:15px}
 .collection-page .c-vows-top>.c-title{width:75%}
 .collection-page .c-vows-spread{grid-template-columns:1.5fr 1fr .65fr;gap:50px}
 .collection-page .c-vows-spread>.c-photo:first-child{height:55svh}
 .collection-page .c-vows-spread>.c-photo:last-child{grid-column:3;height:220px}
 .collection-page .c-vows-spread>aside{align-self:center}
 .collection-page .c-message-layout{grid-template-columns:2fr 1fr;gap:12%}
 .collection-page .c-families{gap:12%}
 .collection-page .c-appointments{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10%}
 .collection-page .c-moments{max-width:1150px;margin-left:auto}
 .collection-page .c-moment{gap:10%;padding:45px 0}
 .collection-page .c-moment-number{min-width:100px;font-size:80px}
 .collection-editorial .c-moment{grid-template-columns:60px 1fr 1fr;gap:45px}
 .collection-editorial .c-moment-copy{grid-column:3;align-self:center}
 .collection-editorial .c-moment>.c-photo{grid-column:2}
 .collection-cinema .c-moment{display:grid;grid-template-columns:1.3fr 1fr;gap:50px}
 .collection-cinema .c-moment-number{grid-column:1/-1;font-size:14px}
 .collection-cinema .c-moment:nth-child(even)>.c-photo{grid-column:2}
 .collection-cinema .c-moment:nth-child(even)>.c-moment-copy{grid-row:2;grid-column:1}
 .collection-cinema .c-moment>.c-moment-copy{align-self:center}
 .collection-page .c-agenda-row{grid-template-columns:160px 1fr}
}
@media(max-width:420px){
 .collection-page .c-folio{font-size:7px}
 .collection-page .c-title{font-size:calc(53px * var(--c-scale))}
 .collection-page .c-luxe-footer,.collection-page .c-party-details,.collection-page .c-frame-details,.collection-page .c-dear-footer,.collection-page .c-film-bottom{align-items:start;flex-direction:column;gap:10px}
 .collection-page .c-nav{padding:12px 18px}
 .collection-page .c-nav>a{font-size:16px;max-width:43%}
 .collection-page .c-nav>div{gap:12px}
 .collection-page .c-nav>div a{font-size:8px}
 .collection-page .c-families{grid-template-columns:1fr}
 .collection-page .c-petal-date>span{font-size:160px}
 .collection-page .c-petal-photo{height:300px;margin-top:-65px}
 .collection-page .c-triptych{height:310px}
 .collection-page .c-party-image{height:310px}
 .collection-page .c-year-art{min-height:280px}
 .collection-page .c-vows-spread{gap:18px}
 .collection-page .c-vows-spread>.c-photo:first-child{height:320px}
 .collection-page .c-appointments{gap:38px}
 .collection-page .c-footer{font-size:7px;letter-spacing:.07em;gap:10px}
}
@media(prefers-reduced-motion:reduce){.collection-page *,.collection-page *:before,.collection-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:759px){
 .collection-page .c-gallery-section{grid-template-columns:minmax(0,1fr);gap:36px}
 .collection-page .c-gallery-copy{max-width:480px}
 .collection-page .c-gallery{width:100%;max-width:540px;margin-inline:auto;gap:54px 20px}
 .collection-page .c-countdown-digits strong{font-size:clamp(30px,8vw,60px)}
 .collection-page .c-countdown-digits .countdown-separator{font-size:clamp(26px,7vw,52px)}
}

/* Birthday and party invitations: readable Vietnamese and balanced desktop spreads. */
.collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-kicker{letter-spacing:.06em;font-size:11px;line-height:1.8}
.collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-cover-details .c-small{font-size:12px;letter-spacing:.015em;line-height:1.75}
.collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-link{font-size:12px;letter-spacing:.025em}
.collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-section :is(h2,h3){line-height:1.22;letter-spacing:-.025em}
.collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) :is(.c-section-intro,.c-moment-copy>p:last-child){font-size:15px;line-height:1.8;max-width:52ch;white-space:pre-line}
.collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-section .c-small{font-size:13px;letter-spacing:0}
.collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-closing>h2{font-size:clamp(38px,5.5vw,80px);max-width:18ch}
.collection-page.c-design-party .c-closing{background:var(--c-ink);color:var(--c-bg)}
.collection-page.c-design-pop .c-closing{position:relative;isolation:isolate;background:var(--c-bg);gap:0}
.collection-page.c-design-pop .c-closing:before{content:'✳';font:400 90px/1 var(--c-body);color:var(--c-accent);margin-bottom:28px}
.collection-page.c-design-pop .c-closing>h2{max-width:12ch;rotate:-3deg;padding:24px 30px;border:2px solid currentColor;border-radius:50%;background:var(--c-secondary);line-height:1.3}
.collection-page.c-design-pop .c-closing>.c-kicker{margin-bottom:28px}
.collection-page.c-design-celebrate .c-closing{align-items:flex-start;text-align:left;background:var(--c-ink);color:var(--c-bg);border-top:12px solid var(--c-secondary)}
.collection-page.c-design-celebrate .c-closing>h2{max-width:17ch;font-weight:600}
.collection-page.c-design-celebrate .c-closing>.c-kicker{color:var(--c-secondary)}

@media(min-width:760px){
 .collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-cover{padding-inline:max(40px,calc((100vw - 1200px)/2));padding-bottom:64px}
 .collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-section{padding-inline:max(48px,calc((100vw - 1120px)/2))}
 .collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-section h2{font-size:clamp(38px,4.2vw,64px)}
 .collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) :is(.c-section-intro,.c-moment-copy>p:last-child,.c-cover-intro){font-size:16px;line-height:1.8}
 .collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-cover-details .c-small{font-size:14px;text-transform:none;letter-spacing:0}
 .collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-date{font-size:14px;letter-spacing:.08em}
 .collection-page.c-design-edition .c-edition-masthead{margin:40px 0 32px}
 .collection-page.c-design-edition .c-edition-masthead .c-title{font-size:calc(clamp(72px,7.8vw,112px) * var(--c-scale));line-height:1.08;letter-spacing:-.035em;text-wrap:initial}
 .collection-page.c-design-edition .c-edition-spread{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);align-items:center}
 .collection-page.c-design-edition .c-edition-spread>aside{max-width:none;padding-block:24px;min-width:0}
 .collection-page.c-design-edition .c-edition-spread .c-name{font-size:clamp(34px,3.2vw,46px)}
 .collection-page.c-design-edition .c-edition-spread>.c-photo{height:clamp(400px,52svh,600px);min-height:0}
 .collection-page.c-design-edition .c-edition-spread .c-link{margin-top:28px}
 .collection-page.c-design-party .c-party-poster{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);margin-top:48px}
 .collection-page.c-design-party .c-party-copy .c-title{font-size:calc(clamp(56px,6.6vw,96px) * var(--c-scale));line-height:1.08;letter-spacing:-.04em;margin:0}
 .collection-page.c-design-party .c-party-image{height:clamp(400px,60svh,620px);min-height:0}
 .collection-page.c-design-party .c-party-poster>.c-sunburst{right:38%;font-size:110px;pointer-events:none}
 .collection-page.c-design-party .c-party-details{margin-top:32px;padding-top:20px;border-top:1px solid currentColor;align-items:center}
 .collection-page.c-design-party .c-party-details .c-cover-details{margin-top:0}
 .collection-page.c-design-celebrate .c-marquee{margin-inline:calc(-1 * max(40px,calc((100vw - 1200px)/2)))}
 .collection-page:is(.c-design-edition,.c-design-party,.c-design-pop,.c-design-celebrate) .c-closing>h2{font-size:clamp(48px,5.5vw,80px)}
}

/* VESPER — an airy bridal editorial, shared with its catalog miniature. */
.collection-page.c-design-vesper .c-cover-vesper{display:block;padding:0;min-height:0;overflow:visible}
.c-design-vesper .vesper-masthead{position:absolute;inset:0 0 auto;z-index:2;height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 38px;font:500 25px/1 var(--c-heading);letter-spacing:.2em}
.c-design-vesper .vesper-mark{display:flex;align-items:center;width:44px;height:44px;font:400 28px/1 var(--c-heading);letter-spacing:0;text-decoration:none}
.c-design-vesper .vesper-edition{justify-self:end;font:400 8px/1.5 var(--c-body);letter-spacing:.15em}
.c-design-vesper .vesper-hero{display:grid;grid-template-columns:47% 53%;min-height:780px;min-height:min(900px,100svh)}
.c-design-vesper .vesper-hero-photo{min-width:0;min-height:780px;min-height:min(900px,100svh)}
.c-design-vesper .vesper-hero-photo>.c-photo{height:100%}
.c-design-vesper .vesper-hero-photo img{object-position:var(--c-cover-position) 42%}
.c-design-vesper .vesper-hero-copy{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:20px;padding:120px clamp(32px,7vw,110px) 80px;min-width:0}
.c-design-vesper .vesper-hero-copy .c-title{font-size:clamp(52px,calc(6.5vw * var(--c-scale)),104px);line-height:.98;letter-spacing:-.035em}
.c-design-vesper .c-title em{font-weight:400;letter-spacing:-.055em}
.c-design-vesper .vesper-lead{font:400 clamp(22px,2.4vw,32px)/1.3 var(--c-heading);max-width:28ch;white-space:pre-line;overflow-wrap:anywhere}
.c-design-vesper .vesper-hero-copy .c-name{font:400 12px/1.8 var(--c-body);margin-top:10px;letter-spacing:.025em;text-wrap:balance}
.c-design-vesper .vesper-hero-copy .c-small{font-size:9px;letter-spacing:.1em}
.c-design-vesper .vesper-hero-copy .c-date{margin-top:0;font-size:11px}
.c-design-vesper .vesper-hero-copy .c-link{margin-top:4px}
.collection-page.c-design-vesper .c-nav{position:relative;background:var(--c-bg);border-bottom:1px solid color-mix(in srgb,var(--c-ink) 15%,transparent)}
.collection-page.c-design-vesper .c-section{padding:clamp(70px,9vw,140px) clamp(24px,8.5vw,140px)}
.collection-page.c-design-vesper .c-story{background:color-mix(in srgb,var(--c-bg) 35%,white)}
.c-design-vesper .vesper-story-spread{display:grid;grid-template-columns:1.3fr .8fr;gap:clamp(40px,10vw,160px);align-items:center}
.c-design-vesper .vesper-story-copy{min-width:0}
.c-design-vesper .vesper-story-copy h2{font-size:clamp(36px,4vw,60px);line-height:1.12;text-align:left;white-space:pre-line}
.c-design-vesper .vesper-story-copy .c-section-intro{font-size:13px;line-height:2.1;max-width:48ch;margin-top:28px}
.c-design-vesper .vesper-story-photo{aspect-ratio:3/4;min-width:0}
.c-design-vesper .vesper-story-photo img{object-position:75% center}
.c-design-vesper .vesper-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:90px}
.c-design-vesper .vesper-milestones article{border-top:1px solid color-mix(in srgb,var(--c-ink) 20%,transparent);padding-top:24px;min-width:0}
.c-design-vesper .vesper-milestones h3{font-size:30px;line-height:1.2;margin:18px 0}
.c-design-vesper .vesper-milestones article>p:last-child{font-size:12px;line-height:2;white-space:pre-line;overflow-wrap:anywhere}
.c-design-vesper .vesper-vow{max-width:850px;margin:120px auto 0;text-align:center;padding:0;border:0}
.c-design-vesper .vesper-vow>span{display:block;height:60px;font:100px/1 var(--c-heading);color:var(--c-secondary)}
.c-design-vesper .vesper-vow>p{font:italic 400 clamp(30px,4vw,55px)/1.15 var(--c-heading);white-space:pre-line;overflow-wrap:anywhere;text-wrap:balance}
.c-design-vesper .vesper-vow em{font-style:normal}
.c-design-vesper .vesper-vow footer{margin-top:28px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.collection-page.c-design-vesper .c-gallery-vesper{display:block;background:color-mix(in srgb,var(--c-bg) 35%,white);padding-top:20px}
.collection-page.c-design-vesper .c-gallery-vesper .c-gallery-copy{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}
.collection-page.c-design-vesper .c-gallery-vesper .c-gallery-copy h2{font-size:clamp(36px,4vw,58px)}
.collection-page.c-design-vesper .c-gallery-vesper .c-section-heading{margin:0}
.collection-page.c-design-vesper .c-gallery-vesper .c-gallery-copy .c-section-intro{max-width:290px;font-size:12px}
.collection-page.c-design-vesper .c-gallery-vesper .c-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 50px;max-width:none;padding:0 0 32px}
.collection-page.c-design-vesper .c-gallery-vesper .c-gallery>.c-photo{aspect-ratio:4/5;width:100%;margin:0;rotate:none;border-radius:0}
.collection-page.c-design-vesper .c-gallery-vesper .c-gallery>.c-photo:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:16/9}
.collection-page.c-design-vesper .c-event{border-top:1px solid color-mix(in srgb,var(--c-ink) 12%,transparent)}
.collection-page.c-design-vesper .c-event>.c-section-heading{text-align:center;max-width:850px;margin-inline:auto}
.collection-page.c-design-vesper .c-appointments{border-color:color-mix(in srgb,var(--c-ink) 20%,transparent)}
.collection-page.c-design-vesper .c-map-surface{border-radius:0}
.collection-page.c-design-vesper .c-closing{background:color-mix(in srgb,var(--c-bg) 35%,white);color:var(--c-ink)}
.collection-page.c-design-vesper .c-closing h2{font-style:italic;font-size:clamp(42px,6vw,80px);max-width:18ch}
@media(max-width:759px){
 .c-design-vesper .vesper-masthead{position:relative;height:66px;padding:0 24px;font-size:23px;background:var(--c-bg)}
 .c-design-vesper .vesper-edition{display:none}
 .c-design-vesper .vesper-hero{grid-template-columns:minmax(0,1fr)}
 .c-design-vesper .vesper-hero-photo{min-height:0;height:68svh;max-height:680px}
 .c-design-vesper .vesper-hero-copy{padding:56px 28px 64px;gap:20px}
 .c-design-vesper .vesper-hero-copy .c-title{font-size:clamp(54px,calc(14vw * var(--c-scale)),80px)}
 .c-design-vesper .vesper-story-spread{grid-template-columns:minmax(0,1fr);gap:42px}
 .c-design-vesper .vesper-story-photo{width:82%;justify-self:end}
 .c-design-vesper .vesper-milestones{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:64px}
 .c-design-vesper .vesper-vow{margin-top:80px}
 .collection-page.c-design-vesper .c-gallery-vesper .c-gallery-copy{display:block;margin-bottom:36px}
 .collection-page.c-design-vesper .c-gallery-vesper .c-gallery-copy .c-section-intro{margin-top:24px}
 .collection-page.c-design-vesper .c-gallery-vesper .c-gallery{gap:44px 18px}
}

/* Two wedding editions: a newspaper front page and warm heirloom photography. */
.collection-page.c-design-post .c-cover-post{min-height:0;display:block;padding:60px 24px;background:var(--c-secondary)}
.c-design-post .post-paper{max-width:860px;margin:auto;padding:28px 36px 20px;background:var(--c-bg);border:1px solid color-mix(in srgb,var(--c-ink) 20%,transparent);box-shadow:0 12px 36px #00000012}
.c-design-post .post-edition{display:flex;justify-content:space-between;gap:20px;border-block:1px solid currentColor;padding:7px 0;font:400 9px/1.5 var(--c-heading);text-transform:uppercase}
.c-design-post .post-masthead{font:400 clamp(42px,7vw,86px)/1.15 'UnifrakturMaguntia',Georgia,serif;text-align:center;padding:16px 0;letter-spacing:-.03em}
.c-design-post .post-paper>.c-name{font-size:clamp(26px,3.4vw,42px);text-align:center;text-transform:uppercase;margin-top:18px}
.c-design-post .post-paper>.c-title{font-size:clamp(28px,calc(3.5vw * var(--c-scale)),44px);line-height:1.1;letter-spacing:-.02em;text-align:center;margin:10px 0 24px}
.c-design-post .post-front{display:grid;grid-template-columns:1.45fr 1fr;gap:22px}
.c-design-post .post-front-photo{min-height:420px}
.c-design-post .post-front-photo img{filter:grayscale(1);object-position:78% center}
.c-design-post .post-front aside{border-left:1px solid currentColor;padding-left:20px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-width:0;font:400 21px/1.25 var(--c-heading)}
.c-design-post .post-appointment{border-block:1px solid currentColor;padding:20px 0;display:grid;gap:14px}
.c-design-post .post-appointment .c-kicker{font-size:10px}
.c-design-post .post-date{font-size:24px}
.c-design-post .post-address{font-size:17px}
.c-design-post .post-note{font-style:italic}
.c-design-post .post-footnote{text-align:center;border-top:1px solid currentColor;margin-top:36px;padding-top:10px}
.collection-page.c-design-post .c-section{max-width:1140px;padding:80px 60px;margin:auto}
.collection-page.c-design-post .c-section-heading{border-top:3px double currentColor;padding-top:24px}
.collection-page.c-design-post .c-section-heading h2{font-size:clamp(36px,5vw,64px);text-transform:uppercase;white-space:pre-line}
.collection-page.c-design-post .c-message{font-family:var(--c-heading);font-size:26px}
.collection-page.c-design-post .c-moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.collection-page.c-design-post .c-moment{display:flex;flex-direction:column;gap:22px;border-top:1px solid currentColor;padding-top:20px}
.collection-page.c-design-post .c-moment>.c-photo,.collection-page.c-design-post .c-moment:nth-child(even)>.c-photo{height:260px}
.collection-page.c-design-post .c-moment h3{font-size:32px}
.collection-page.c-design-post .c-moment img,.collection-page.c-design-post .c-gallery img{filter:grayscale(1)}
.collection-page.c-design-post .c-closing{color:var(--c-ink);background:var(--c-bg);border-block:3px double currentColor}
.collection-page.c-design-post .c-closing h2{font-size:clamp(40px,6vw,78px);max-width:18ch}
.collection-page.c-design-amber .c-cover-amber{display:grid;place-items:center;min-height:90svh;padding:100px 24px}
.c-design-amber .amber-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden}
.c-design-amber .amber-backdrop img{object-position:var(--c-cover-position) center}
.c-design-amber .amber-backdrop:after{content:'';position:absolute;inset:0;background:color-mix(in srgb,var(--c-bg) 86%,transparent)}
.c-design-amber .amber-cover-copy{max-width:800px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}
.c-design-amber .amber-cover-copy>.c-name{font-size:clamp(40px,6.2vw,88px);color:var(--c-accent)}
.c-design-amber .amber-cover-copy>.c-title{font-size:clamp(28px,calc(3.1vw * var(--c-scale)),44px);font-style:italic;line-height:1.25;letter-spacing:-.015em}
.c-design-amber .amber-intro{max-width:540px;font:400 22px/1.5 var(--c-heading);white-space:pre-line}
.c-design-amber .amber-cover-copy>.c-date{margin-top:0}
.collection-page.c-design-amber .c-link{padding:12px 28px;border:1px solid transparent;background:var(--c-secondary);color:var(--c-ink);border-radius:40px;min-height:48px}
.collection-page.c-design-amber .c-nav{background:var(--c-bg)}
.collection-page.c-design-amber .c-section-heading{text-align:center}
.collection-page.c-design-amber .c-section-heading h2{font-size:clamp(38px,5vw,68px);color:var(--c-accent)}
.collection-page.c-design-amber .c-countdown{background:transparent}
.collection-page.c-design-amber .c-countdown-digits{grid-template-columns:repeat(4,minmax(0,1fr));max-width:580px;gap:12px}
.collection-page.c-design-amber .c-countdown-digits>div{background:color-mix(in srgb,var(--c-bg) 20%,white);border:1px solid var(--c-secondary);padding:18px;min-width:110px;border-radius:4px}
.collection-page.c-design-amber .c-countdown-digits strong{font-size:48px}
.collection-page.c-design-amber .countdown-separator{display:none}
.collection-page.c-design-amber .c-appointments{border:0;gap:30px}
.collection-page.c-design-amber .c-appointment{border:1px solid var(--c-secondary);padding:36px;text-align:center;background:color-mix(in srgb,var(--c-bg) 60%,white)}
.collection-page.c-design-amber .c-gallery-copy{text-align:center}
.collection-page.c-design-amber .c-gallery-copy .c-section-intro{margin-inline:auto}
.collection-page.c-design-amber .c-moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.collection-page.c-design-amber .c-moment{border-top:1px solid var(--c-secondary);padding-top:28px}
.collection-page.c-design-amber .c-closing{background:var(--c-bg);color:var(--c-ink)}
.collection-page.c-design-amber .c-closing h2{font-size:clamp(44px,6vw,82px);font-style:italic;max-width:18ch}
.c-design-amber .amber-opening-photo{width:200px;height:250px;margin:30px auto 0;overflow:hidden;border-radius:120px 120px 0 0}
.c-design-amber .amber-opening-photo figcaption{display:none}
@media(max-width:759px){
 .collection-page.c-design-post .c-cover-post{padding:22px 12px}
 .c-design-post .post-paper{padding:18px 14px}
 .c-design-post .post-edition{font-size:7px;gap:12px}
 .c-design-post .post-front{grid-template-columns:1.15fr 1fr;gap:12px}
 .c-design-post .post-front-photo{min-height:320px}
 .c-design-post .post-front aside{padding-left:12px;font-size:17px;gap:16px}
 .c-design-post .post-date{font-size:20px}
 .c-design-post .post-address{font-size:15px}
 .collection-page.c-design-post .c-section{padding:60px 24px}
 .collection-page.c-design-post .c-moments,.collection-page.c-design-amber .c-moments{grid-template-columns:minmax(0,1fr)}
 .collection-page.c-design-amber .c-countdown-digits{gap:7px}
 .collection-page.c-design-amber .c-countdown-digits>div{min-width:0;padding:14px 8px}
 .collection-page.c-design-amber .c-countdown-digits strong{font-size:32px}
 .collection-page.c-design-amber .c-appointment{padding:28px 22px}
}

/* Birthday illustrations: a neighborhood bakery and an on-air radio show. */
.collection-page.c-cartoon { font: 14px/1.8 var(--c-body); }
.collection-page.c-cartoon .c-cover { min-height: 0; padding: 0; background: var(--c-bg); container-type: inline-size; }
.c-cartoon .bday-masthead { display: flex; justify-content: space-between; gap: 20px; padding: 22px max(24px, calc((100% - 1120px)/2)); border-bottom: 1px solid currentColor; font: 700 11px/1.6 var(--c-body); letter-spacing: .13em; }
.collection-page.c-cartoon .bday-title { display: block; font: 800 calc(clamp(42px, 6cqw, 86px) * var(--c-scale))/1.1 var(--c-heading); letter-spacing: -.045em; white-space: pre-line; overflow-wrap: anywhere; }
.collection-page.c-cartoon .c-name { font: 400 32px/1.4 'Patrick Hand',cursive; margin-top: 24px; }
.c-cartoon .bday-cover-intro { font-size: 14px; line-height: 1.9; white-space: pre-line; overflow-wrap: anywhere; margin: 20px 0; max-width: 42ch; }
.collection-page.c-cartoon .c-link { font: 600 12px/1.5 var(--c-body); text-transform: none; letter-spacing: 0; border: 1.5px solid currentColor; border-radius: 100px; min-height: 44px; padding: 13px 24px; margin-top: 20px; }
.c-cartoon .bday-cover-footer { display: flex; justify-content: space-between; gap: 24px; padding: 24px max(24px, calc((100% - 1080px)/2)); border-top: 1px solid currentColor; font-size: 11px; letter-spacing: .1em; }
.c-cartoon .bday-portrait { width: min(240px, 70%); margin: 30px auto; padding: 10px; border: 1px solid currentColor; background: var(--c-white); transform: rotate(-3deg); }
.c-cartoon .bday-portrait .c-photo { aspect-ratio: 1; }
.collection-page.c-cartoon .c-nav { position: relative; background: var(--c-bg); border-block: 1px solid currentColor; padding-block: 16px; }
.collection-page.c-cartoon .c-section { padding: 80px max(24px, calc((100% - 1060px)/2)); }
.collection-page.c-cartoon .c-section h2 { font: 700 clamp(34px, 4vw, 54px)/1.15 var(--c-heading); letter-spacing: -.025em; }
.collection-page.c-cartoon .c-section h3 { font: 700 26px/1.3 var(--c-heading); }
.collection-page.c-cartoon .c-section-intro { font: 14px/1.9 var(--c-body); max-width: 55ch; }
.collection-page.c-cartoon .c-message { font: 16px/2 var(--c-body); }
.collection-page.c-cartoon .c-appointment-date { font: 600 34px/1.4 var(--c-heading); }
.collection-page.c-cartoon .c-countdown-digits strong { font: 700 clamp(30px, 5vw, 56px)/1.2 var(--c-heading); }
.collection-page.c-cartoon .c-countdown { margin-top: 45px; }
.collection-page.c-cartoon .c-moment-copy > p:last-child { font: 14px/1.9 var(--c-body); }
.collection-page.c-cartoon .c-closing h2 { max-width: 740px; }
.collection-page.c-cartoon .c-closing > p { max-width: 55ch; }
.collection-page.c-cartoon .c-footer { font-size: 10px; flex-wrap: wrap; gap: 16px; }

/* Cake Club: gingham, a striped awning, a smiling cake and recipe cards. */
.c-design-cakeclub .bday-bakery-cover { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 70px; max-width: 1200px; margin: auto; padding: 85px 50px 95px; }
.c-design-cakeclub .bday-bakery-copy { min-width: 0; }
.collection-page.c-design-cakeclub .bday-title { font-weight: 400; letter-spacing: -.025em; color: var(--c-accent); }
.c-design-cakeclub .bday-bakery-copy .c-kicker { letter-spacing: .13em; font-size: 10px; margin-bottom: 24px; }
.c-design-cakeclub .bday-shop { position: relative; border: 2px solid var(--c-ink); border-radius: 160px 160px 8px 8px; overflow: hidden; background: #fffdf3; box-shadow: 9px 10px 0 #713b3412; }
.c-design-cakeclub .bday-shop-sign { text-align: center; padding: 55px 15px 25px; font: 600 11px/1.8 var(--c-body); letter-spacing: .2em; }
.c-design-cakeclub .bday-awning { height: 55px; background: repeating-linear-gradient(90deg, var(--c-accent) 0 32px, #fff4df 32px 64px); border-block: 2px solid var(--c-ink); border-radius: 0 0 16px 16px; position: relative; z-index: 2; }
.c-design-cakeclub .bday-shop-window { position: relative; display: grid; place-items: center; padding: 40px 15px 20px; min-height: 300px; background: radial-gradient(circle at 50% 40%, #f4dcbe 0 34%, transparent 34.5%); }
.c-design-cakeclub .bday-shop-sticker { position: absolute; right: 12px; top: 15px; width: 70px; height: 70px; display: grid; place-content: center; border: 1px dashed var(--c-ink); border-radius: 50%; background: var(--c-secondary); font: 20px/1 'Patrick Hand',cursive; text-align: center; transform: rotate(12deg); }
.c-design-cakeclub .bday-shop-counter { padding: 20px 10px; background: var(--c-secondary); border-top: 2px solid var(--c-ink); text-align: center; font: 600 10px/1.8 var(--c-body); letter-spacing: .1em; overflow-wrap: anywhere; }
.c-cartoon .bday-cake { position: relative; width: 210px; height: 230px; color: var(--c-ink); }
.c-cartoon .bday-cake-body { position: absolute; width: 160px; height: 125px; left: 25px; top: 55px; border: 2px solid currentColor; border-radius: 45% 45% 15% 15% / 18% 18% 12% 12%; background: linear-gradient(#ecc0bb 0 70%, #fff4df 70% 78%, #ecc0bb 78%); z-index: 2; }
.c-cartoon .bday-icing { position: absolute; inset: -2px -2px auto; height: 54px; background: #fff8e9; border: 2px solid currentColor; border-radius: 50% 50% 18px 18px / 40% 40% 16px 16px; }
.c-cartoon .bday-icing:after { content: ''; position: absolute; width: 25px; height: 24px; border: 2px solid currentColor; border-top: 0; background: #fff8e9; border-radius: 0 0 18px 18px; left: 25px; bottom: -19px; }
.c-cartoon .bday-candle { position: absolute; width: 15px; height: 42px; left: 98px; top: 22px; border: 2px solid currentColor; border-radius: 3px; background: repeating-linear-gradient(135deg, #fff8e9 0 6px, var(--c-secondary) 6px 12px); z-index: 3; }
.c-cartoon .bday-candle:before { content: ''; position: absolute; width: 13px; height: 21px; left: -1px; top: -29px; border: 2px solid currentColor; border-radius: 80% 0 65% 35%; background: #e9b45d; transform: rotate(-35deg); }
.c-cartoon .bday-face { position: absolute; left: 55px; top: 66px; display: flex; gap: 27px; }
.c-cartoon .bday-face > i { width: 6px; height: 9px; border-radius: 50%; background: currentColor; }
.c-cartoon .bday-face > b { position: absolute; top: 9px; left: 11px; width: 18px; height: 11px; border: 2px solid currentColor; border-top: 0; border-radius: 0 0 20px 20px; }
.c-cartoon .bday-cheek { position: absolute; top: 79px; left: 34px; width: 15px; height: 8px; border-radius: 50%; background: #ca766d; box-shadow: 72px 0 #ca766d; opacity: .6; }
.c-cartoon .bday-arm { position: absolute; top: 110px; width: 30px; height: 40px; border: 2px solid currentColor; border-radius: 50%; }
.c-cartoon .bday-arm-left { left: 4px; transform: rotate(-35deg); }
.c-cartoon .bday-arm-right { right: 4px; transform: rotate(35deg); }
.c-cartoon .bday-leg { position: absolute; top: 173px; height: 32px; width: 2px; background: currentColor; z-index: 1; }
.c-cartoon .bday-leg-left { left: 70px; transform: rotate(10deg); }
.c-cartoon .bday-leg-right { right: 70px; transform: rotate(-10deg); }
.c-cartoon .bday-leg:after { content: ''; position: absolute; bottom: -5px; right: -3px; width: 23px; height: 12px; border: 2px solid currentColor; background: var(--c-accent); border-radius: 15px 8px 4px 4px; }
.c-cartoon .bday-cake-plate { position: absolute; bottom: 9px; left: 15px; width: 180px; height: 16px; border-radius: 50%; border: 1px solid currentColor; background: var(--c-secondary); }
.collection-page.c-design-cakeclub .c-event { background: linear-gradient(90deg,#ad51410a 50%,transparent 50%) 0 0/32px 32px, linear-gradient(#ad51410a 50%,transparent 50%) 0 0/32px 32px,var(--c-bg); }
.collection-page.c-design-cakeclub .c-message-layout { gap: 45px; padding: 32px; border: 1px solid var(--c-ink); border-radius: 20px; background: #fffaf0; }
.collection-page.c-design-cakeclub .c-appointments { padding: 30px; background: #fffaf0; border: 1px solid var(--c-ink); border-radius: 20px; margin-top: 24px; }
.collection-page.c-design-cakeclub .c-appointment { border: 0; }
.collection-page.c-design-cakeclub .c-story { background: var(--c-secondary); }
.collection-page.c-design-cakeclub .c-moments { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.collection-page.c-design-cakeclub .c-moment { display: block; border: 1px solid var(--c-ink); border-radius: 100px 100px 12px 12px; padding: 40px 24px 28px; background: var(--c-bg); text-align: center; }
.collection-page.c-design-cakeclub .c-moment-number { display: block; font: 42px/1 'Patrick Hand',cursive; margin-bottom: 26px; }
.collection-page.c-design-cakeclub .c-moment h3 { font-weight: 400; font-size: 30px; }
.collection-page.c-design-cakeclub .c-closing { background: var(--c-accent); color: var(--c-bg); border-radius: 100px 100px 0 0; }
.collection-page.c-design-cakeclub .c-closing .c-kicker { color: inherit; }

/* Birthday FM: a wide cartoon boombox, cassette tracks and a party admission slip. */
.c-design-birthdayfm .bday-fm-cover { max-width: 1160px; margin: auto; padding: 60px 44px 55px; }
.c-design-birthdayfm .bday-fm-headline { text-align: center; }
.c-design-birthdayfm .bday-fm-headline .c-kicker { margin-bottom: 22px; font-size: 11px; }
.collection-page.c-design-birthdayfm .bday-title { max-width: 900px; margin: auto; font-size: calc(clamp(40px, 5.8cqw, 78px) * var(--c-scale)); }
.c-design-birthdayfm .bday-fm-caption { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; border-top: 2px solid var(--c-ink); padding-top: 30px; }
.c-design-birthdayfm .bday-fm-caption > div { text-align: right; }
.c-design-birthdayfm .bday-fm-caption time { display: block; margin-top: 12px; font-size: 13px; }
.c-design-birthdayfm .bday-radio-scene { position: relative; width: min(640px, 100%); margin: 90px auto 36px; padding: 35px 30px 25px; container-type: inline-size; }
.c-design-birthdayfm .bday-radio { position: relative; border: 3px solid var(--c-ink); border-radius: 24px; padding: 22px 24px 18px; background: var(--c-secondary); box-shadow: 8px 9px 0 var(--c-ink); transform: rotate(-3deg); }
.c-design-birthdayfm .bday-antenna { position: absolute; height: 65px; width: 5px; border: 1px solid var(--c-ink); right: 45px; top: -65px; background: #fffaf0; transform-origin: bottom; transform: rotate(30deg); z-index: -1; }
.c-design-birthdayfm .bday-handle { position: absolute; width: 42%; height: 35px; border: 9px solid var(--c-ink); border-bottom: 0; border-radius: 15px 15px 0 0; top: -35px; left: 29%; }
.c-design-birthdayfm .bday-radio-top { display: flex; gap: 10px; align-items: center; padding-bottom: 20px; font: 700 10px/1.4 var(--c-body); letter-spacing: .07em; }
.c-design-birthdayfm .bday-radio-top span { flex: 1; }
.c-design-birthdayfm .bday-radio-top > i { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--c-ink); background: var(--c-accent); }
.c-design-birthdayfm .bday-radio-panel { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: 15px; align-items: center; }
.c-design-birthdayfm .bday-speaker { aspect-ratio: 1; border: 3px solid var(--c-ink); border-radius: 50%; background: radial-gradient(circle,var(--c-accent) 0 23%,var(--c-ink) 24% 27%,transparent 28%),repeating-radial-gradient(circle,#55466c 0 2px,var(--c-ink) 2px 5px); }
.c-design-birthdayfm .bday-cassette { border: 2px solid var(--c-ink); border-radius: 8px; background: var(--c-bg); padding: 12px 8px 5px; text-align: center; }
.c-design-birthdayfm .bday-cassette > span { display: block; font: 600 7px/1.5 var(--c-body); }
.c-design-birthdayfm .bday-tape { display: flex; justify-content: space-between; gap: 10px; border-radius: 30px; background: var(--c-ink); padding: 6px; margin-top: 12px; }
.c-design-birthdayfm .bday-tape > i { width: 24px; aspect-ratio: 1; border: 5px dotted var(--c-bg); border-radius: 50%; }
.c-design-birthdayfm .bday-cassette > b { display: block; font: 700 22px/1.5 sans-serif; }
.c-design-birthdayfm .bday-radio-buttons { display: flex; gap: 7px; justify-content: center; margin-top: 20px; }
.c-design-birthdayfm .bday-radio-buttons > i { width: 27px; height: 13px; border: 2px solid var(--c-ink); background: var(--c-bg); border-radius: 3px; }
.c-design-birthdayfm .bday-note { position: absolute; color: var(--c-accent); font: 60px/1 sans-serif; transform: rotate(-15deg); }
.c-design-birthdayfm .bday-note-one { left: 0; top: -45px; }
.c-design-birthdayfm .bday-note-two { right: 0; top: -25px; transform: rotate(15deg); }
.c-design-birthdayfm .bday-note-three { right: 15%; top: -75px; font-size: 35px; }
.collection-page.c-design-birthdayfm .c-story { background: var(--c-ink); color: var(--c-bg); }
.collection-page.c-design-birthdayfm .c-story .c-kicker { color: var(--c-secondary); }
.collection-page.c-design-birthdayfm .c-moments { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 40px; }
.collection-page.c-design-birthdayfm .c-moment { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 30px; padding: 30px 0; border-top: 1px solid #ded5f355; }
.collection-page.c-design-birthdayfm .c-moment-number { display: grid; place-items: center; align-self: start; aspect-ratio: 1; border: 1px solid var(--c-secondary); border-radius: 50%; color: var(--c-secondary); font: 700 26px/1 var(--c-heading); }
.collection-page.c-design-birthdayfm .c-moment-copy { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 6px 40px; }
.collection-page.c-design-birthdayfm .c-moment-copy .c-kicker { grid-column: 1; }
.collection-page.c-design-birthdayfm .c-moment-copy h3 { grid-column: 1; }
.collection-page.c-design-birthdayfm .c-moment-copy > p:last-child { grid-column: 2; grid-row: 1 / span 2; }
.collection-page.c-design-birthdayfm .c-event { background: var(--c-secondary); border-block: 2px solid var(--c-ink); }
.collection-page.c-design-birthdayfm .c-message-layout { padding: 30px; border: 2px solid var(--c-ink); border-radius: 12px; gap: 40px; background: var(--c-bg); box-shadow: 7px 7px 0 var(--c-ink); }
.collection-page.c-design-birthdayfm .c-appointments { border-bottom: 2px dashed var(--c-ink); padding-bottom: 25px; }
.collection-page.c-design-birthdayfm .c-closing { background: var(--c-ink); color: var(--c-secondary); }
.collection-page.c-design-birthdayfm .c-closing .c-kicker { color: inherit; }
@media(max-width:700px) {
  .c-cartoon .bday-masthead { font-size: 9px; padding: 18px 22px; letter-spacing: .06em; }
  .c-design-cakeclub .bday-bakery-cover { grid-template-columns: minmax(0,1fr); gap: 45px; padding: 42px 28px; text-align: center; }
  .c-design-cakeclub .bday-bakery-copy .bday-cover-intro { margin-inline: auto; }
  .c-design-cakeclub .bday-shop { width: min(360px,100%); margin: auto; }
  .c-design-cakeclub .bday-shop-sign { padding-top: 40px; }
  .c-design-cakeclub .bday-shop-window { min-height: 275px; }
  .c-cartoon .bday-cover-footer { flex-direction: column; gap: 10px; text-align: center; font-size: 10px; }
  .c-design-birthdayfm .bday-fm-cover { padding: 40px 24px; }
  .c-design-birthdayfm .bday-radio-scene { padding: 30px 8px 20px; margin-top: 90px; }
  .c-design-birthdayfm .bday-radio { padding: 15px 12px; border-radius: 15px; box-shadow: 5px 6px 0 var(--c-ink); }
  .c-design-birthdayfm .bday-radio-panel { gap: 8px; }
  .c-design-birthdayfm .bday-radio-top { font-size: 7px; padding-bottom: 12px; }
  .c-design-birthdayfm .bday-radio-top > i { width: 13px; height: 13px; }
  .c-design-birthdayfm .bday-cassette { padding: 7px 5px 0; }
  .c-design-birthdayfm .bday-cassette > span { font-size: 5px; }
  .c-design-birthdayfm .bday-tape { padding: 4px; gap: 6px; margin-top: 8px; }
  .c-design-birthdayfm .bday-tape > i { width: 16px; border-width: 3px; }
  .c-design-birthdayfm .bday-cassette > b { font-size: 17px; }
  .c-design-birthdayfm .bday-fm-caption { grid-template-columns: minmax(0,1fr); gap: 15px; text-align: center; }
  .c-design-birthdayfm .bday-fm-caption > div { text-align: center; }
  .c-design-birthdayfm .bday-cover-intro { margin: 0 auto; }
  .collection-page.c-cartoon .c-section { padding: 55px 24px; }
  .collection-page.c-cartoon .c-message-layout { padding: 24px; gap: 24px; }
  .collection-page.c-design-cakeclub .c-appointments { padding: 24px; }
  .collection-page.c-design-cakeclub .c-moments { grid-template-columns: minmax(0,1fr); }
  .collection-page.c-design-cakeclub .c-moment { border-radius: 60px 60px 12px 12px; }
  .collection-page.c-design-birthdayfm .c-moment { grid-template-columns: 48px minmax(0,1fr); gap: 18px; }
  .collection-page.c-design-birthdayfm .c-moment-number { font-size: 18px; }
  .collection-page.c-design-birthdayfm .c-moment-copy { display: block; }
  .collection-page.c-design-birthdayfm .c-moment-copy h3 { margin: 12px 0; }
}

/* Wedding references 3–7: champagne, ruby ribbon, emerald, ivory rose, scarlet. */
.collection-page.c-wedding-reference { --wr-gold: #b49a61; font: 14px/1.9 var(--c-body); }
.c-wedding-reference .c-cover { container-type: inline-size; display: flex; align-items: center; justify-content: center; min-height: 980px; padding: 110px 7% 65px; background: radial-gradient(ellipse at 50% 40%, #ffffff80, transparent 65%), var(--c-bg); }
.c-wedding-reference .c-cover:before { content: ''; position: absolute; z-index: -1; inset: 24px; border: 1px solid color-mix(in srgb, var(--wr-gold) 50%, transparent); pointer-events: none; }
.c-wedding-reference .wr-cover-copy { position: relative; z-index: 2; width: min(100%, 710px); text-align: center; }
.c-wedding-reference .wr-title { display: block; color: var(--c-accent); font-size: calc(clamp(50px, 7.8cqw, 104px) * var(--c-scale)); line-height: 1.13; letter-spacing: -.035em; margin: 18px 0; }
.c-wedding-reference .wr-label { color: var(--c-ink); letter-spacing: .3em; }
.c-wedding-reference .wr-heart-rule { display: block; width: 190px; max-width: 50%; height: 38px; margin: 22px auto; color: var(--wr-gold); }
.c-wedding-reference .wr-names { display: flex; flex-direction: column; align-items: center; gap: 0; font: 400 clamp(30px, 3.9cqw, 51px)/1.28 var(--c-heading); color: var(--c-ink); }
.c-wedding-reference .wr-names span { max-width: 100%; white-space: pre-line; overflow-wrap: anywhere; }
.c-wedding-reference .wr-names i { font: 400 30px/1.3 'Great Vibes', cursive; color: var(--c-accent); margin: 7px 0; }
.c-wedding-reference .wr-intro { max-width: 460px; margin: 26px auto 0; font: 400 21px/1.6 var(--c-heading); white-space: pre-line; overflow-wrap: anywhere; text-wrap: pretty; }
.c-wedding-reference .wr-date { font: 500 15px/1.8 var(--c-body); letter-spacing: .18em; margin: 25px 0 0; }
.c-wedding-reference .wr-date span { display: block; font-size: 9px; font-weight: 400; letter-spacing: .07em; margin-top: 7px; }
.c-wedding-reference .wr-link { margin-top: 25px; color: var(--c-accent); font-size: 10px; letter-spacing: .1em; }
.c-wedding-reference .wr-folio { position: absolute; z-index: 3; top: 52px; left: 5%; right: 5%; display: flex; justify-content: space-between; pointer-events: none; font: 400 8px/2.1 var(--c-body); letter-spacing: .24em; opacity: .72; }
.c-wedding-reference .wr-folio span:last-child { text-align: right; }
.c-wedding-reference .wr-cover-foot { position: relative; z-index: 2; margin-top: 42px; max-width: 72%; text-align: center; font: 400 9px/2 var(--c-body); letter-spacing: .25em; }
.c-wedding-reference .wr-script { font: 400 32px/1.5 'Great Vibes', var(--c-heading); color: var(--c-accent); margin: 25px auto 0; }
.c-wedding-reference .wr-asset { position: absolute; pointer-events: none; object-fit: contain; z-index: 1; }
.c-wedding-reference .wr-portrait { width: 145px; height: 185px; margin: 24px auto 0; padding: 5px; border: 1px solid var(--wr-gold); border-radius: 90px 90px 2px 2px; overflow: hidden; }
.c-wedding-reference .wr-portrait .c-photo { border-radius: inherit; overflow: hidden; }
.c-wedding-reference .wr-portrait .c-photo img { object-position: var(--c-cover-position) center; }
.c-wedding-reference .wr-garden { display: block; width: 100%; height: 100%; }
.c-wedding-reference .wr-garden-corner { position: absolute; pointer-events: none; z-index: 1; width: min(38%, 440px); height: auto; aspect-ratio: 340/400; }
.c-wedding-reference .wr-garden-top { left: -6%; top: -9%; transform: rotate(155deg); }
.c-wedding-reference .wr-garden-bottom { right: -6%; bottom: -7%; transform: rotate(-25deg); }

/* AURELIA — a drawn keepsake on warm ivory paper. */
.c-design-aurelia .c-cover { padding-top: 115px; }
.c-design-aurelia .wr-title { font-size: calc(clamp(47px, 7cqw, 92px) * var(--c-scale)); }
.c-design-aurelia .wr-aurelia-art { position: relative; width: min(90%, 430px); margin: 5px auto 10px; }
.c-design-aurelia .wr-couple-drawing { display: block; width: 100%; height: 290px; object-fit: contain; mix-blend-mode: multiply; mask-image: radial-gradient(ellipse at center, black 55%, transparent 76%); }
.c-design-aurelia .wr-aurelia-art .wr-script { position: absolute; right: -20px; top: 42px; text-align: left; font-size: 33px; line-height: 1.15; rotate: -12deg; }
.c-design-aurelia .wr-aurelia-art .wr-portrait { width: 210px; height: 270px; }
.c-design-aurelia .wr-names { font-size: clamp(29px, 3.2cqw, 44px); flex-direction: row; justify-content: center; gap: 17px; flex-wrap: wrap; }
.c-design-aurelia .wr-names span { max-width: 44%; }
.c-design-aurelia .wr-gold-branch { position: absolute; width: 260px; height: 310px; bottom: -100px; left: -100px; opacity: .24; filter: sepia(1); rotate: 10deg; }
.c-design-aurelia .c-cover:after { content: ''; position: absolute; bottom: -30%; right: -15%; width: 80%; aspect-ratio: 1; border: 1px solid var(--wr-gold); border-radius: 48%; rotate: -25deg; pointer-events: none; }

/* RUBY RIBBON — real floral cutouts and a sweeping silk ribbon. */
.c-design-rubyribbon .c-cover { padding-bottom: 180px; background: radial-gradient(ellipse at 100% 0, #e7bcb15c, transparent 42%), radial-gradient(ellipse at 0 100%, #ead3cba1, transparent 50%), var(--c-bg); }
.c-design-rubyribbon .c-cover:before { display: none; }
.c-design-rubyribbon .wr-title { font-style: italic; font-size: calc(clamp(68px, 10cqw, 140px) * var(--c-scale)); }
.c-design-rubyribbon .wr-heart-rule { color: var(--c-accent); }
.c-design-rubyribbon .wr-ruby-flowers { width: 39%; height: auto; left: -9%; bottom: 2%; rotate: 14deg; }
.c-design-rubyribbon .wr-ruby-branch { width: 23%; height: auto; right: -7%; top: 12%; rotate: -42deg; opacity: .8; }
.c-design-rubyribbon .wr-ribbon { width: 100%; height: 230px; bottom: -30px; left: 0; object-fit: fill; rotate: -4deg; }
.c-design-rubyribbon .wr-petals { width: 40%; height: auto; right: 0; bottom: 7%; rotate: -12deg; }
.c-design-rubyribbon .wr-cover-foot { margin-top: 22px; }

/* VERDANT — dark green corners, white flowers and a fine gold frame. */
.c-design-verdant .c-cover { padding-block: 145px 90px; }
.c-design-verdant .c-cover:before { inset: 35px; border-color: var(--wr-gold); }
.c-design-verdant .c-cover:after { content: ''; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse 34% 28% at 0 0, #204b37 98%, transparent 100%), radial-gradient(ellipse 32% 24% at 108% 110%, #204b37 98%, transparent 100%); pointer-events: none; }
.c-design-verdant .wr-title { color: var(--c-ink); font-size: calc(clamp(55px, 8cqw, 110px) * var(--c-scale)); max-width: 9ch; margin-inline: auto; }
.c-design-verdant .wr-folio { left: 7%; right: 7%; top: 58px; }
.c-design-verdant .wr-folio span:first-child { visibility: hidden; }
.c-design-verdant .wr-cover-copy { width: 66%; }
.c-design-verdant .wr-script { color: var(--c-accent); font-size: 38px; }
.c-design-verdant .wr-peonies { display: block; width: 100%; height: auto; }
.c-design-verdant .wr-garden-top { width: 28%; left: -5%; top: -8%; transform: rotate(155deg); }
.c-design-verdant .wr-garden-bottom { width: 27%; right: -4%; bottom: -10%; transform: rotate(-18deg); }
.c-design-verdant .wr-botanical-closing { display: block; position: relative; width: clamp(100px,18%,190px); height: auto; margin: 36px auto 0; }

/* IVORY ROSE — a rounded arch with sage fabric and white garden roses. */
.c-design-ivoryrose .c-cover { padding-top: 140px; background: radial-gradient(ellipse at 0 100%, #b5c0a566, transparent 46%), var(--c-bg); }
.c-design-ivoryrose .c-cover:before { inset: 65px 12% 42px; border: 1px solid var(--wr-gold); border-radius: 48% 48% 2px 2px; }
.c-design-ivoryrose .c-cover:after { content: ''; position: absolute; pointer-events: none; z-index: -1; left: -23%; bottom: -15%; width: 45%; height: 125%; border: 30px solid #b6bea24a; border-right: 55px solid #b6bea255; border-radius: 50%; rotate: -22deg; }
.c-design-ivoryrose .wr-title { text-transform: uppercase; font-size: calc(clamp(50px, 7.8cqw, 98px) * var(--c-scale)); }
.c-design-ivoryrose .wr-cover-copy { width: 68%; }
.c-design-ivoryrose .wr-garden-corner { width: 44%; aspect-ratio: 1; mix-blend-mode: multiply; }
.c-design-ivoryrose .wr-bouquet { display: block; width: 100%; height: 100%; object-fit: contain; mask-image: radial-gradient(ellipse at center, black 54%, transparent 72%); }
.c-design-ivoryrose .wr-garden-top { left: -14%; top: -19%; transform: rotate(155deg); }
.c-design-ivoryrose .wr-garden-bottom { right: -14%; bottom: -18%; transform: rotate(-20deg); }
.c-design-ivoryrose .wr-folio span:first-child { visibility: hidden; }
.c-design-ivoryrose .wr-script { font-size: 38px; }

/* SCARLET — monochrome portrait, red silk and a magazine title. */
.c-design-scarlet .c-cover { min-height: 960px; align-items: flex-end; padding: 160px 6% 70px; background: var(--c-bg); }
.c-design-scarlet .c-cover:before { display: none; }
.c-design-scarlet .wr-scarlet-photo { position: absolute; inset: 0 37% 0 0; z-index: 0; overflow: hidden; }
.c-design-scarlet .wr-scarlet-photo:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #14131300 40%, var(--c-bg) 100%), linear-gradient(0deg, var(--c-bg), transparent 30%); pointer-events: none; }
.c-design-scarlet .wr-scarlet-photo .c-photo img { filter: grayscale(1); object-position: var(--c-cover-position) center; }
.c-design-scarlet .wr-scarlet-photo img[src$="scarlet-couple.webp"] { filter: none; }
.c-design-scarlet .wr-cover-copy { width: 50%; text-align: left; }
.c-design-scarlet .wr-title { font-size: calc(clamp(60px, 7.8cqw, 120px) * var(--c-scale)); line-height: 1.02; color: var(--c-ink); }
.c-design-scarlet .wr-title::first-line { color: var(--c-accent); }
.c-design-scarlet .wr-label { color: var(--c-accent); }
.c-design-scarlet .wr-names { align-items: flex-start; font-size: clamp(30px, 3.1cqw, 43px); }
.c-design-scarlet .wr-names i { color: var(--c-accent); }
.c-design-scarlet .wr-heart-rule { color: var(--c-accent); margin-inline: 0; }
.c-design-scarlet .wr-intro { font-size: 22px; margin-inline: 0; }
.c-design-scarlet .wr-ribbon { z-index: 1; width: 85%; height: 250px; right: -25%; bottom: -30px; object-fit: fill; rotate: -30deg; opacity: .85; }
.c-design-scarlet .wr-script { color: var(--c-accent); font-size: 45px; margin-top: 35px; }
.c-design-scarlet .wr-cover-foot { text-align: left; align-self: flex-start; max-width: 36%; }

/* The rest of each invitation carries its cover's paper, ink and framing. */
.c-wedding-reference .c-nav { background: var(--c-bg); border-block: 1px solid color-mix(in srgb, var(--c-accent) 20%, transparent); }
.c-wedding-reference .c-section { padding: 85px max(24px, calc((100% - 1040px) / 2)); }
.c-wedding-reference .c-section-heading { text-align: center; }
.c-wedding-reference .c-section-heading h2 { font: 400 clamp(37px, 5vw, 66px)/1.15 var(--c-heading); color: var(--c-accent); white-space: pre-line; }
.c-wedding-reference .c-section-intro { margin-inline: auto; text-align: center; }
.c-wedding-reference .c-message-layout { border-block: 1px solid color-mix(in srgb, var(--wr-gold) 45%, transparent); padding: 30px 0; margin-top: 40px; }
.c-wedding-reference .c-message { font: 400 25px/1.6 var(--c-heading); }
.c-wedding-reference .c-signature { font-style: italic; }
.c-wedding-reference .c-families { margin-top: 45px; }
.c-wedding-reference .c-appointments { gap: 24px; border: 0; }
.c-wedding-reference .c-appointment { border: 1px solid color-mix(in srgb, var(--wr-gold) 60%, transparent); text-align: center; padding: 36px 24px; background: color-mix(in srgb, var(--c-secondary) 15%, var(--c-bg)); }
.c-wedding-reference .c-appointment .c-link { font-size: 9px; }
.c-wedding-reference .c-story { background: color-mix(in srgb, var(--c-secondary) 24%, var(--c-bg)); }
.c-wedding-reference .c-moments { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 50px; }
.c-wedding-reference .c-moment { display: block; padding-top: 20px; border-top: 1px solid var(--wr-gold); }
.c-wedding-reference .c-moment h3 { font: 400 30px/1.3 var(--c-heading); margin-block: 15px; }
.c-wedding-reference .c-moment-number { font: italic 36px var(--c-heading); color: var(--c-accent); display: block; margin-bottom: 18px; }
.c-wedding-reference .c-closing { background: var(--c-bg); color: var(--c-ink); border-top: 1px solid color-mix(in srgb, var(--wr-gold) 35%, transparent); }
.c-wedding-reference .c-closing h2 { font-size: clamp(46px, 7vw, 90px); font-style: italic; color: var(--c-accent); max-width: 18ch; }
.c-wedding-reference .c-opening { background: var(--c-bg); color: var(--c-ink); }
.c-wedding-reference .c-opening-inner { border: 1px solid var(--wr-gold); padding: 50px 30px; border-radius: 180px 180px 2px 2px; width: min(90vw, 540px); }
.c-wedding-reference .c-opening-monogram { color: var(--c-accent); }
.c-design-verdant .c-closing { background: #204b37; color: #f8f5e9; }
.c-design-verdant .c-closing h2, .c-design-verdant .c-closing .c-kicker { color: #e6d3a8; }
.c-design-ivoryrose .c-appointment { border-radius: 100px 100px 2px 2px; padding-top: 55px; }
.c-design-scarlet .c-moment > .c-photo { height: 270px; margin-bottom: 28px; }
.c-design-scarlet .c-moment > .c-photo img { filter: grayscale(1); }
.c-design-scarlet .c-opening-inner { border-radius: 0; border-color: var(--c-accent); }
.c-design-scarlet .c-appointment { border-color: var(--c-secondary); }

@media (max-width: 700px) {
  .collection-page.c-wedding-reference .c-cover { min-height: 850px; padding: 115px 25px 60px; }
  .c-wedding-reference .c-cover:before { inset: 13px; }
  .c-wedding-reference .wr-folio { top: 34px; left: 8%; right: 8%; font-size: 6px; }
  .c-wedding-reference .wr-label { font-size: 8px; letter-spacing: .22em; }
  .c-wedding-reference .wr-title { font-size: calc(clamp(44px, 12cqw, 76px) * var(--c-scale)); }
  .c-wedding-reference .wr-names { font-size: clamp(29px, 7cqw, 40px); }
  .c-wedding-reference .wr-intro { font-size: 19px; }
  .c-wedding-reference .wr-date { font-size: 13px; }
  .c-wedding-reference .wr-cover-foot { font-size: 7px; margin-top: 32px; max-width: 82%; }
  .c-design-aurelia .wr-aurelia-art .wr-script { right: -6px; font-size: 26px; top: 32px; }
  .c-design-aurelia .wr-couple-drawing { height: 250px; }
  .c-design-aurelia .wr-names { gap: 10px; font-size: 28px; }
  .c-design-aurelia .wr-names span { max-width: 43%; }
  .collection-page.c-design-rubyribbon .c-cover { padding-bottom: 145px; }
  .c-design-rubyribbon .wr-title { font-size: calc(18cqw * var(--c-scale)); }
  .c-design-rubyribbon .wr-ruby-flowers { width: 56%; bottom: -2%; left: -18%; }
  .c-design-rubyribbon .wr-ruby-branch { top: 5%; width: 32%; right: -14%; }
  .c-design-rubyribbon .wr-ribbon { height: 150px; }
  .c-design-rubyribbon .wr-petals { bottom: 4%; }
  .c-design-verdant .wr-cover-copy, .c-design-ivoryrose .wr-cover-copy { width: 86%; }
  .c-design-verdant .wr-garden-corner, .c-design-ivoryrose .wr-garden-corner { width: 59%; }
  .c-design-verdant .wr-garden-top, .c-design-ivoryrose .wr-garden-top { top: -4%; left: -23%; }
  .c-design-verdant .wr-garden-bottom, .c-design-ivoryrose .wr-garden-bottom { bottom: -11%; right: -26%; }
  .c-design-ivoryrose .wr-garden-corner { width: 70%; }
  .c-design-ivoryrose .wr-garden-top { top: -15%; left: -35%; }
  .c-design-ivoryrose .wr-garden-bottom { bottom: -16%; right: -35%; }
  .c-design-verdant .wr-cover-foot, .c-design-ivoryrose .wr-cover-foot { max-width: 58%; }
  .c-design-verdant .wr-script, .c-design-ivoryrose .wr-script { max-width: 82%; font-size: 32px; }
  .c-design-ivoryrose .c-cover:before { inset: 66px 7% 25px; }
  .collection-page.c-design-scarlet .c-cover { padding: 130px 22px 55px; min-height: 950px; }
  .c-design-scarlet .wr-scarlet-photo { right: 0; }
  .c-design-scarlet .wr-scarlet-photo:after { background: linear-gradient(90deg, #14131315, #141313d4 65%, var(--c-bg)), linear-gradient(0deg, var(--c-bg), transparent 55%); }
  .c-design-scarlet .wr-cover-copy { width: 76%; }
  .c-design-scarlet .wr-title { font-size: calc(clamp(48px, 12cqw, 76px) * var(--c-scale)); }
  .c-design-scarlet .wr-names { font-size: 30px; }
  .c-design-scarlet .wr-cover-foot { align-self: flex-end; max-width: 70%; }
  .c-design-scarlet .wr-ribbon { width: 100%; right: -35%; height: 170px; bottom: 15px; }
  .c-wedding-reference .c-nav { gap: 14px; padding-inline: 18px; }
  .c-wedding-reference .c-nav > a { font-size: 13px; }
  .c-wedding-reference .c-section { padding: 65px 24px; }
  .c-wedding-reference .c-moments { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .c-wedding-reference .c-message-layout { gap: 25px; }
  .c-wedding-reference .c-appointment { padding-inline: 20px; }
}

@media(max-width:700px){
  .c-design-verdant .wr-garden-top{width:43%;left:-15%;top:-16%}
  .c-design-verdant .wr-garden-bottom{width:42%;right:-15%;bottom:-14%}
}

/* Wedding mobile refinements: preserve a visible photograph and readable copy. */
.c-design-aurelia .wr-gold-branch{width:clamp(100px,22%,210px);height:auto;bottom:10px;left:-30px;opacity:.8;filter:none;rotate:0deg;pointer-events:none}
.c-design-aurelia .wr-gold-branch img{display:block;width:100%;height:auto}
.c-design-verdant .wr-garden-top{width:23%;max-width:220px;left:-3%;top:-20px;transform:rotate(-20deg);opacity:.85}
.c-design-verdant .wr-garden-bottom{width:22%;max-width:220px;right:-3%;bottom:-35px;transform:rotate(160deg);opacity:.8}
.c-design-verdant .c-cover:after{display:none}
.c-design-verdant .c-gallery .photo-zoom,.c-design-verdant .c-gallery .c-photo-empty{border-radius:0}
.c-design-amber .amber-backdrop:after{background:linear-gradient(90deg,var(--c-bg),color-mix(in srgb,var(--c-bg) 75%,transparent) 48%,transparent)}
.c-design-amber .amber-cover-copy{margin-right:auto;width:55%;padding:24px 0;text-align:left;align-items:flex-start}
@media(max-width:600px){
 .collection-page.c-wedding-reference:not(.lw-page) .wr-title{font-size:calc(clamp(30px,9cqw,42px)*var(--c-scale));line-height:1.2}
 .collection-page.c-wedding-reference:not(.lw-page) .wr-names{font-size:clamp(25px,7cqw,32px)}
 .collection-page.c-wedding-reference:not(.lw-page) .wr-intro{font-size:18px}
 .c-design-verdant .wr-garden-top{width:28%;top:-12px;left:-8%;transform:rotate(-20deg)}
 .c-design-verdant .wr-garden-bottom{width:28%;bottom:-18px;right:-8%;transform:rotate(160deg)}
 .collection-page.c-design-scarlet .c-cover{padding:60px 20px 38px;min-height:0;align-items:center}
 .c-design-scarlet .wr-folio{display:none}
 .c-design-scarlet .wr-scarlet-photo{position:relative;inset:auto;width:100%;aspect-ratio:4/5;margin-bottom:24px}
 .c-design-scarlet .wr-scarlet-photo:after{background:linear-gradient(0deg,var(--c-bg),transparent 24%)}
 .c-design-scarlet .wr-cover-copy{width:100%;text-align:center}
 .c-design-scarlet .wr-names{align-items:center}
 .c-design-scarlet .wr-heart-rule{margin-inline:auto}
 .c-design-scarlet .wr-intro{margin-inline:auto}
 .c-design-scarlet .wr-ribbon{opacity:.2;pointer-events:none}
 .c-design-scarlet .wr-cover-foot{max-width:100%;align-self:center}
 .collection-page.c-design-amber .c-cover-amber{padding:0 0 44px;display:flex;flex-direction:column;min-height:0}
 .c-design-amber .amber-backdrop{position:relative;inset:auto;z-index:0;width:100%;aspect-ratio:4/5}
 .c-design-amber .amber-backdrop:after{background:linear-gradient(0deg,var(--c-bg),transparent 28%);pointer-events:none}
 .c-design-amber .amber-cover-copy{width:100%;max-width:none;padding:24px 24px 0;gap:18px;align-items:center;text-align:center}
 .c-design-amber .amber-cover-copy>.c-name{font-size:30px;line-height:1.3}
 .c-design-amber .amber-cover-copy>.c-title{font-size:calc(26px*var(--c-scale));line-height:1.35}
 .c-design-amber .amber-intro{font-size:18px}
}

/* Original reference covers: individual transparent flowers, kept off the text. */
.c-wedding-reference .c-cover .wr-botanical{position:absolute;display:block;height:auto;object-fit:contain;pointer-events:none;z-index:1;max-width:none;transform:none;mix-blend-mode:normal;mask-image:none}
.c-wedding-reference.c-design-verdant .c-cover .wr-botanical-top{width:62%;top:12px;left:19%}
.c-wedding-reference.c-design-verdant .c-cover .wr-botanical-bottom{width:27%;right:-5%;bottom:-2%;rotate:-12deg}
.c-wedding-reference.c-design-ivoryrose:not(.lw-page) .c-cover .wr-botanical-top{width:45%;top:-2%;left:-16%}
.c-wedding-reference.c-design-ivoryrose:not(.lw-page) .c-cover .wr-botanical-bottom{width:31%;right:-5%;bottom:-2%;rotate:-12deg}
.c-wedding-reference.c-design-ivoryrose:not(.lw-page) .c-cover:after{display:none}
.c-wedding-reference.c-design-ivoryrose:not(.lw-page) .c-cover{background:radial-gradient(ellipse at 100% 100%,#dce5d650,transparent 55%),var(--c-bg)}
.c-wedding-reference.c-design-rubyribbon .wr-ruby-frame{position:absolute;inset:24px;z-index:1;border:1px solid var(--c-accent);pointer-events:none;color:var(--c-accent)}
.c-wedding-reference.c-design-rubyribbon .wr-ruby-frame:before{content:'';position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--c-accent) 40%,transparent)}
.wr-ruby-frame i{position:absolute;width:13px;height:13px;background:var(--c-bg);border:1px solid currentColor;rotate:45deg}
.wr-ruby-frame i:nth-child(1){top:-7px;left:-7px}.wr-ruby-frame i:nth-child(2){top:-7px;right:-7px}.wr-ruby-frame i:nth-child(3){bottom:-7px;right:-7px}.wr-ruby-frame i:nth-child(4){bottom:-7px;left:-7px}
@media(max-width:600px){.c-wedding-reference.c-design-rubyribbon .wr-ruby-frame{inset:14px}.c-wedding-reference.c-design-rubyribbon .wr-ruby-frame:before{inset:5px}}

/* CLASS OF: readable graduation year above a separate, slightly tilted print. */
.collection-page .c-year-art.c-graduation-year{min-height:0;height:auto;flex:none;flex-direction:column;gap:24px;margin-top:32px}
.collection-page .c-graduation-year .c-year-label{font:500 10px/1.6 var(--c-body);letter-spacing:.3em;text-align:center}
.collection-page .c-graduation-year .c-year{display:block;font-size:clamp(112px,26vw,180px);line-height:.9;letter-spacing:-.05em}
.collection-page .c-graduation-year .c-year-portrait{position:relative;inset:auto;flex:none;width:clamp(180px,52vw,250px);height:auto;aspect-ratio:3/4;padding:10px 10px 25px;background:#fffef9;box-shadow:0 8px 22px #30372f16;border:1px solid #e8e5dd;transform:rotate(4deg)}
.collection-page .c-graduation-year+.c-classof-copy{display:block;width:min(640px,100%);margin:38px auto 0;text-align:center}
.collection-page .c-graduation-year+.c-classof-copy .c-title{font-size:clamp(42px,5vw,64px);margin-top:14px}
.collection-page .c-graduation-year+.c-classof-copy .c-cover-details{margin-top:22px}
.collection-page .c-graduation-year+.c-classof-copy>.c-link{margin-top:18px}
