/* Birthday collection hub. Keep photographs at their original proportions. */
.birthday-breadcrumb{display:flex;gap:12px;align-items:center;padding-top:30px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.birthday-breadcrumb a{text-decoration:none}
.birthday-breadcrumb a:hover{text-decoration:underline}
.birthday-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,400px);align-items:center;gap:80px;padding-top:40px;padding-bottom:80px}
.birthday-hero h1{font-size:clamp(46px,5.8vw,78px);line-height:1.06;letter-spacing:-.045em;margin:20px 0 26px}
.birthday-hero-copy>p:not(.eyebrow):not(.fineprint){max-width:520px}
.birthday-hero-copy .birthday-lead{font-size:24px;line-height:1.5;color:var(--ink);margin-bottom:18px}
.birthday-hero-copy .btn{margin-top:14px}
.birthday-hero-copy .fineprint{margin-top:16px;font-size:13px}
.birthday-hero-image{margin:0;min-width:0}
.birthday-hero-image img{display:block;width:100%;height:auto;border-radius:2px}
.birthday-hero-image figcaption{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;padding-top:14px;font-size:12px;line-height:1.6;color:var(--muted)}
.birthday-hero-image figcaption a{display:inline-flex;gap:5px;align-items:center;text-decoration:none;color:var(--ink)}
.birthday-hero-image figcaption svg{width:14px;flex-shrink:0}
.birthday-catalog{padding-top:50px;padding-bottom:70px;border-top:1px solid var(--line);scroll-margin-top:30px}
.birthday-catalog .section-heading{align-items:end}
.birthday-filters{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin-top:30px;padding:24px;background:#efeee7;border:1px solid var(--line)}
.birthday-filters label{display:grid;gap:8px;flex:1;min-width:150px;font-size:13px;font-weight:500}
.birthday-filters select{width:100%;min-height:48px;padding:10px 36px 10px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid #c3c7ba;border-radius:0}
.birthday-reset{padding:12px 0;font-size:14px;white-space:nowrap;text-underline-offset:4px}
.birthday-filters.is-enhanced .birthday-apply{display:none}
.birthday-result-count{font-size:14px;color:var(--muted);padding:20px 0;margin:0}
.birthday-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 26px;align-items:start}
.birthday-card[hidden],.birthday-empty[hidden]{display:none!important}
.birthday-card-image{display:block;position:relative;background:#eeeae1;overflow:hidden;text-decoration:none}
.birthday-card-image img{display:block;width:100%;height:auto;max-width:100%;transition:filter .2s ease}
.birthday-card-image:hover img{filter:brightness(.96)}
.birthday-card-metrics{position:absolute;left:12px;bottom:12px;padding:7px 10px;display:flex;align-items:center;gap:7px;background:#f8f7f0f0;font-size:12px;color:#263326}
.birthday-card-copy{padding-top:18px;min-width:0}
.birthday-card-copy .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:9px}
.birthday-card-copy h3{font-family:var(--serif);font-size:25px;line-height:1.2;letter-spacing:-.02em;font-weight:400;margin:0 0 12px}
.birthday-card-copy h3 a{color:inherit;text-decoration:none}
.birthday-card-copy>p:not(.eyebrow){font-size:14px;line-height:1.65;color:var(--muted);margin-bottom:15px}
.birthday-card-copy .text-link{font-size:14px;gap:8px}
.birthday-create{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:18px;padding:13px 0 0;color:#344c2f;text-decoration:none;font-size:13px}
.birthday-empty{text-align:center;padding:60px 24px;background:#efeee7}
.birthday-empty h3{font-family:var(--serif);font-size:28px;font-weight:400}
.birthday-empty p{color:var(--muted)}
.birthday-how{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding-top:60px;padding-bottom:70px;border-top:1px solid var(--line)}
.birthday-how ol{list-style:none;padding:0;margin:0}
.birthday-how li{display:flex;gap:22px;padding:0 0 26px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.birthday-how li>span{font-family:var(--serif);font-size:28px;color:#7b826d}
.birthday-how li h3{font-size:18px;font-weight:500;margin:0 0 10px}
.birthday-how li p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}
.birthday-faq{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding-top:60px;padding-bottom:90px;border-top:1px solid var(--line)}
.birthday-collection-entry{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 26px;margin-bottom:28px;border:1px solid var(--line);background:#efeee7}
.birthday-collection-entry p{margin:0;font-size:15px;color:var(--muted)}
.birthday-collection-entry strong{display:block;font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.3;color:var(--ink);margin-bottom:4px}
.birthday-collection-entry .text-link{font-size:14px;white-space:nowrap}
.birthday-home-entry{margin-top:28px}
.birthday-pack-back{margin-bottom:16px}
body[data-page="birthday"] :is(a,button,select):focus-visible{outline:2px solid #526d43;outline-offset:5px}
@media(min-width:1361px){.site-header nav{gap:20px;margin-right:20px}}
/* The extra collection link needs the existing collapsed menu at this width. */
@media(min-width:1241px) and (max-width:1360px){
 .site-header{height:76px;min-height:76px;padding-block:0;gap:15px;position:relative;z-index:5}
 .site-header .my-photos{font-size:0;margin-left:auto;gap:0}.site-header .my-photos svg{width:18px;height:18px}
 .menu-toggle{display:flex;align-items:center;gap:8px;font-size:16px;order:3;padding:8px 0}.menu-toggle>span{font-size:17px}
 .site-header nav{display:none;position:absolute;left:0;right:0;top:76px;margin:0;padding:18px 22px;background:var(--paper);border-bottom:1px solid var(--line);gap:0;box-shadow:0 10px 10px #00000005;flex-direction:column;flex-wrap:nowrap;align-items:stretch}
 .site-header.menu-open nav{display:flex}.site-header nav a{font-size:16px;line-height:1.5;padding:9px 0}.site-header nav a[aria-current]:after{bottom:4px;width:48px}
 .site-header.has-account-link .header-account{margin-left:auto}.site-header.has-account-link .my-photos{display:none}.site-header nav .nav-my-photos{display:block}
}
@media(max-width:1359px){.birthday-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:999px){.birthday-hero{gap:40px;grid-template-columns:minmax(0,1fr) minmax(230px,310px)}.birthday-hero h1{font-size:52px}.birthday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-how,.birthday-faq{gap:36px}}
@media(max-width:767px){.birthday-hero{grid-template-columns:1fr;gap:36px;padding-top:25px;padding-bottom:50px}.birthday-hero h1{font-size:clamp(42px,9vw,60px)}.birthday-hero-copy .birthday-lead{font-size:21px}.birthday-hero-image{max-width:400px;width:100%;margin-inline:auto}.birthday-catalog{padding-top:35px}.birthday-how,.birthday-faq{grid-template-columns:1fr;gap:30px}.birthday-filters{padding:18px;gap:16px}.birthday-filters label{flex-basis:calc(50% - 16px)}.birthday-collection-entry{align-items:flex-start;flex-direction:column;gap:14px}.birthday-catalog .section-heading{align-items:start;gap:18px}.birthday-hero-image figcaption{flex-wrap:wrap}.birthday-how,.birthday-faq{padding-top:40px;padding-bottom:45px}}
@media(max-width:639px){.birthday-grid{grid-template-columns:minmax(0,1fr);gap:36px}.birthday-card-copy h3{font-size:28px}.birthday-filters label{flex-basis:100%}.birthday-catalog .section-heading{flex-direction:column}.birthday-card-metrics{font-size:13px}.birthday-hero-copy .btn{font-size:14px}.birthday-breadcrumb{font-size:12px;gap:8px}}
@media(prefers-reduced-motion:reduce){.birthday-card-image img{transition:none}}
