/* An invitation in type: a square photograph, three choices, a conversation. */
.pn-birthday{--birthday-red:#c52c30;--birthday-ink:#202620;--birthday-paper:#f5f3ef;--birthday-line:#c9ccc5;--birthday-muted:#586052;--birthday-display:"PN Display","PN Sans",sans-serif}
.pn-birthday ::selection{color:white;background:var(--birthday-red)}
.pn-birthday svg{width:24px;height:24px;flex:none}
.pn-birthday a{text-decoration:none}
.pn-birthday a:hover{text-decoration:underline;text-underline-offset:5px}
.pn-birthday-invitation{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding-block:24px 43px}
.pn-birthday-breadcrumb{grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:12px;min-height:34px;margin-bottom:31px}
.pn-birthday-breadcrumb a{display:inline-flex;align-items:center;min-height:34px}
.pn-birthday .pn-birthday-invitation h1{grid-column:1/-1;text-align:center;font-family:var(--birthday-display);font-size:clamp(62px,7.2vw,96px);line-height:.98;letter-spacing:-.012em;font-weight:800;text-transform:uppercase;margin-bottom:40px;text-wrap:initial}
.pn-birthday-invitation h1>span{color:var(--birthday-red)}
.pn-birthday-invitation-copy{grid-column:2/6;grid-row:3;align-self:center;padding-right:9%;margin-bottom:30px}
.pn-birthday .pn-birthday-invitation-line{font-size:clamp(23px,2.3vw,32px);letter-spacing:-.035em;line-height:1.2;font-weight:400;margin-bottom:24px}
.pn-birthday-invitation-copy>p:not(.pn-birthday-invitation-line){max-width:31ch;font-size:16px;line-height:1.75;margin-bottom:27px}
.pn-birthday-link{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:46px;padding-block:9px;border-bottom:1px solid var(--birthday-ink);font-size:13px;line-height:1.4;font-weight:600}
.pn-birthday-link svg{width:20px;height:20px;color:var(--birthday-red)}
.pn-birthday-invitation-photo{grid-column:6/12;grid-row:3;position:relative;padding-left:18px}
.pn-birthday-invitation-photo::before{content:"";position:absolute;left:0;top:0;width:5px;height:65px;background:var(--birthday-red)}
.pn-birthday-invitation-photo img{width:100%;aspect-ratio:1;object-fit:cover;object-position:44% 50%;height:auto}
.pn-birthday-invitation-photo figcaption{font-size:11px;line-height:1.5;padding-top:10px;color:var(--birthday-muted)}
.pn-birthday .pn-birthday-signature{grid-column:2/6;grid-row:4;padding-top:13px;font-size:12px;line-height:1.6;margin:0;color:var(--birthday-muted)}
.pn-birthday .pn-design-jump{border-top:1px solid var(--birthday-line)}
.pn-birthday-compose{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-top:86px;padding-bottom:62px;align-items:end}
.pn-birthday .pn-birthday-compose h2{grid-column:2/6;font-family:var(--birthday-display);font-size:clamp(52px,6.2vw,88px);line-height:1;letter-spacing:-.01em;font-weight:800;text-transform:uppercase}
.pn-birthday-compose>div{grid-column:7/12;max-width:51ch;font-size:17px;line-height:1.7}
.pn-birthday-compose>div>p+p{font-size:14px;line-height:1.7;color:var(--birthday-muted)}
.pn-birthday-moments{padding-bottom:84px}
.pn-birthday .pn-birthday-moments>h2{font-size:14px;line-height:1.5;letter-spacing:0;font-weight:500;padding-bottom:24px;margin-left:8.5%;text-wrap:initial}
.pn-birthday-moment{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;border-top:1px solid var(--birthday-line);padding-block:37px 41px;margin-left:8.5%;margin-right:17%}
.pn-birthday-moment:nth-of-type(2){margin-left:17%;margin-right:8.5%}
.pn-birthday-moment:nth-of-type(3){margin-left:25.5%;margin-right:0;border-bottom:1px solid var(--birthday-line)}
.pn-birthday-moment-number{align-self:start;padding-top:6px;font-size:13px;line-height:1.5;color:var(--birthday-red);font-variant-numeric:tabular-nums}
.pn-birthday .pn-birthday-moment h3{font-size:clamp(30px,3.1vw,44px);font-weight:400;line-height:1.05;letter-spacing:-.04em;text-wrap:initial}
.pn-birthday-moment p{font-size:16px;line-height:1.7;color:var(--birthday-muted);max-width:33ch;margin:0}
.pn-birthday-moment--photo{grid-template-rows:min-content 1fr;align-items:start;row-gap:20px}
.pn-birthday-moment--photo .pn-birthday-moment-number{grid-column:1;grid-row:1}
.pn-birthday .pn-birthday-moment--photo h3{grid-column:2;grid-row:1}
.pn-birthday-moment--photo p{grid-column:2;grid-row:2}
.pn-birthday-moment-photo{grid-column:3;grid-row:1/3;margin:0;align-self:center}
.pn-birthday-moment-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:43% 50%}
.pn-birthday-moment-photo figcaption{padding-top:10px;font-size:11px;line-height:1.5;color:var(--birthday-muted)}
.pn-birthday-before{background:var(--birthday-paper);padding-block:64px 64px}
.pn-birthday-before>.pn-design-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px}
.pn-birthday .pn-birthday-before h2{grid-column:2/12;font-family:var(--birthday-display);font-size:clamp(51px,6.4vw,90px);line-height:1;letter-spacing:-.01em;font-weight:800;text-transform:uppercase;margin-bottom:26px}
.pn-birthday .pn-birthday-before-intro{grid-column:2/7;font-size:17px;line-height:1.7;margin-bottom:41px;max-width:45ch}
.pn-birthday-checklist{grid-column:4/12;margin:0;border-top:1px solid var(--birthday-ink)}
.pn-birthday-checklist>div{display:grid;grid-template-columns:1fr 1.65fr;gap:30px;padding-block:25px 28px;border-bottom:1px solid var(--birthday-line)}
.pn-birthday-checklist dt{font-size:18px;font-weight:400;letter-spacing:-.02em;line-height:1.4}
.pn-birthday-checklist dd{margin:0;font-size:16px;line-height:1.7;color:var(--birthday-muted);max-width:48ch}
.pn-birthday-history{grid-column:4/12;margin-top:24px;border-bottom:1px solid var(--birthday-line);font-size:14px;line-height:1.65}
.pn-birthday-history>summary{display:flex;justify-content:space-between;align-items:center;gap:24px;list-style:none;cursor:pointer;min-height:60px;padding-block:16px;font-weight:500}
.pn-birthday-history>summary::-webkit-details-marker{display:none}
.pn-birthday-history>summary svg{width:21px;height:21px;transition:transform .2s ease}
.pn-birthday-history[open]>summary svg{transform:rotate(180deg)}
.pn-birthday .pn-birthday-history>p{max-width:80ch;padding-bottom:23px;margin:0;color:var(--birthday-muted)}
.pn-birthday-response{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:30px 24px;padding-block:64px 64px}
.pn-birthday .pn-birthday-response>h2{grid-column:2/7;grid-row:1;font-family:var(--birthday-display);font-size:clamp(53px,6.3vw,89px);line-height:1;letter-spacing:-.01em;font-weight:800;text-transform:uppercase;color:var(--birthday-red)}
.pn-birthday-response-copy{grid-column:7/12;grid-row:1;align-self:center;font-size:17px;line-height:1.7;max-width:49ch}
.pn-birthday-response .pn-design-button{background:var(--birthday-red);border-color:var(--birthday-red);font-size:13px;gap:22px}
.pn-birthday-response .pn-design-button:hover{background:var(--birthday-ink);border-color:var(--birthday-ink);text-decoration:none}
.pn-birthday .pn-birthday-confirmation{font-size:12px;line-height:1.6;max-width:40ch;color:var(--birthday-muted);margin:16px 0 0}
.pn-birthday-contact{grid-column:2/12;display:grid;grid-template-columns:1fr 1fr;gap:18px 9%;font-style:normal;margin:24px 0 0;padding-top:35px;border-top:1px solid var(--birthday-ink)}
.pn-birthday .pn-birthday-contact h3{grid-column:1;font-size:23px;font-weight:400;line-height:1.2;letter-spacing:-.03em}
.pn-birthday-contact>p{grid-column:1;grid-row:2;font-size:14px;line-height:1.6;color:var(--birthday-muted);margin:0}
.pn-birthday .pn-birthday-phone{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;font-size:clamp(26px,3.1vw,44px);font-weight:400;letter-spacing:-.025em;line-height:1.15;white-space:nowrap}
.pn-birthday-phone svg{color:var(--birthday-red);width:23px;height:23px}
.pn-birthday-contact>.pn-birthday-link{grid-column:2;grid-row:2;justify-self:start;align-self:start;font-weight:400;font-size:13px}
.pn-birthday-onward{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:35px 45px;border-top:1px solid var(--birthday-line)}
.pn-birthday .pn-birthday-onward h2{font-size:25px;line-height:1.2;font-weight:400;letter-spacing:-.02em}
.pn-birthday-onward nav{display:flex;gap:50px;align-items:center}
.pn-birthday-onward nav a{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:47px;font-size:13px;border-bottom:1px solid var(--birthday-line)}
.pn-birthday-onward nav svg{width:20px;height:20px;color:var(--birthday-red)}
@media(max-width:1100px){.pn-birthday-invitation{column-gap:18px}.pn-birthday-invitation-copy{grid-column:1/6;padding-right:7%}.pn-birthday-invitation-photo{grid-column:6/13}.pn-birthday .pn-birthday-signature{grid-column:1/6}.pn-birthday-compose>div{grid-column:6/12}.pn-birthday-moment{gap:20px;grid-template-columns:36px minmax(0,1.1fr) minmax(0,1fr);margin-right:8.5%;padding-block:30px 34px}.pn-birthday-moment:nth-of-type(2){margin-right:4%}.pn-birthday-moment p{font-size:15px}.pn-birthday-contact{column-gap:7%}.pn-birthday .pn-birthday-phone{font-size:31px}.pn-birthday-onward{gap:25px}.pn-birthday-onward nav{gap:25px}}
@media(max-width:760px){.pn-birthday-invitation{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:12px;padding-top:18px;padding-bottom:30px}.pn-birthday-breadcrumb{margin-bottom:23px;min-height:29px;font-size:11px}.pn-birthday-breadcrumb a{min-height:29px}.pn-birthday .pn-birthday-invitation h1{font-size:clamp(45px,12vw,76px);line-height:1.01;letter-spacing:-.015em;margin-bottom:29px}.pn-birthday-invitation-photo{grid-column:2/7;grid-row:3;padding-left:12px}.pn-birthday-invitation-photo::before{width:3px;height:46px}.pn-birthday-invitation-photo figcaption{font-size:10px;line-height:1.5;padding-top:9px;max-width:30ch}.pn-birthday-invitation-copy{grid-column:1/6;grid-row:4;padding:28px 0 0;margin:0}.pn-birthday .pn-birthday-invitation-line{font-size:25px;line-height:1.18;margin-bottom:18px}.pn-birthday-invitation-copy>p:not(.pn-birthday-invitation-line){font-size:16px;line-height:1.65;margin-bottom:17px;max-width:33ch}.pn-birthday-link{font-size:12px;gap:25px}.pn-birthday .pn-birthday-signature{grid-column:2/7;grid-row:5;justify-self:end;padding-top:28px;font-size:11px;text-align:right}.pn-birthday-compose{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:49px 34px}.pn-birthday .pn-birthday-compose h2{grid-column:1;font-size:57px;line-height:.98}.pn-birthday-compose>div{grid-column:1;font-size:16px;line-height:1.7;margin-left:11%;max-width:40ch}.pn-birthday-compose>div>p+p{font-size:13px}.pn-birthday-moments{padding-bottom:50px}.pn-birthday .pn-birthday-moments>h2{font-size:12px;margin:0;padding-bottom:20px}.pn-birthday-moment,.pn-birthday-moment:nth-of-type(2),.pn-birthday-moment:nth-of-type(3){grid-template-columns:25px minmax(0,1fr);gap:18px 15px;margin:0;padding-block:25px 29px}.pn-birthday-moment:nth-of-type(2){margin-left:5%}.pn-birthday-moment:nth-of-type(3){margin-left:10%}.pn-birthday-moment-number{font-size:11px;padding-top:5px;grid-column:1;grid-row:1}.pn-birthday .pn-birthday-moment h3{grid-column:2;grid-row:1;font-size:36px;line-height:1.02}.pn-birthday-moment p{grid-column:2;grid-row:2;font-size:15px;line-height:1.65;max-width:34ch}.pn-birthday-before{padding-block:48px 49px}.pn-birthday-before>.pn-design-wrap{display:block}.pn-birthday .pn-birthday-before h2{font-size:55px;line-height:1;margin-bottom:23px}.pn-birthday .pn-birthday-before-intro{font-size:16px;line-height:1.7;margin-bottom:30px;max-width:36ch}.pn-birthday-checklist>div{grid-template-columns:minmax(0,1fr);gap:12px;padding-block:22px 24px}.pn-birthday-checklist dt{font-size:20px;line-height:1.25}.pn-birthday-checklist dd{font-size:15px;line-height:1.65;max-width:39ch}.pn-birthday-history{font-size:13px;margin-top:12px}.pn-birthday-history>summary{padding-block:18px;gap:15px;min-height:65px}.pn-birthday-history>summary svg{width:19px;height:19px}.pn-birthday .pn-birthday-history>p{padding-bottom:20px;font-size:14px;line-height:1.65}.pn-birthday-response{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:49px 51px}.pn-birthday .pn-birthday-response>h2{grid-column:1;grid-row:1;font-size:57px;line-height:.98}.pn-birthday-response-copy{grid-column:1;grid-row:2;font-size:16px;line-height:1.7}.pn-birthday-response-copy .pn-design-button{font-size:12px;padding-inline:16px;gap:20px}.pn-birthday .pn-birthday-confirmation{font-size:11px;margin-top:15px;max-width:39ch}.pn-birthday-contact{grid-column:1;grid-row:3;grid-template-columns:minmax(0,1fr);gap:17px;margin-top:9px;padding-top:28px}.pn-birthday .pn-birthday-contact h3{grid-column:1;grid-row:1;font-size:25px}.pn-birthday-contact>p{grid-column:1;grid-row:2;font-size:14px}.pn-birthday .pn-birthday-phone{grid-column:1;grid-row:3;font-size:clamp(29px,8.7vw,37px);padding-top:6px;min-height:55px}.pn-birthday-phone svg{width:22px;height:22px}.pn-birthday-contact>.pn-birthday-link{grid-column:1;grid-row:4;font-size:12px;margin-top:1px}.pn-birthday-onward{display:block;padding-block:29px 36px}.pn-birthday .pn-birthday-onward h2{font-size:25px;line-height:1.15;max-width:16ch;margin-bottom:20px}.pn-birthday-onward nav{display:grid;gap:0}.pn-birthday-onward nav a{min-height:56px;gap:20px;font-size:12px}}
@media(max-width:360px){.pn-birthday .pn-birthday-invitation h1{font-size:40px}.pn-birthday .pn-birthday-before h2{font-size:47px}.pn-birthday .pn-birthday-phone{font-size:28px;gap:12px}}
@media(max-width:760px){.pn-birthday-moment-photo{grid-column:2;grid-row:3}.pn-birthday-moment-photo figcaption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.pn-birthday *{scroll-behavior:auto}.pn-birthday-history>summary svg{transition:none}}
