.birthdays-page{padding:1.75rem 0 3rem;overflow-x:clip}.birthdays-page [hidden]{display:none!important}.bday-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.birthdays-page__hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2rem;min-height:380px;padding:2.4rem 2.6rem 1.6rem}.birthdays-page__hero .home-birthdays__hero-copy{gap:1rem}.birthdays-page .home-birthdays__parabens{font-size:clamp(2.6rem,5.6vw,4rem)}.birthdays-page__brand{display:inline-flex;margin:-.4rem 0 .9rem;border-radius:var(--bd-radius);transition:opacity .18s ease,transform .18s ease}.birthdays-page__brand:hover,.birthdays-page__brand:focus-visible{opacity:.85;transform:translateY(-1px)}.birthdays-page__brand:focus-visible{outline:2px solid var(--bd-red);outline-offset:6px}.birthdays-page__logo{width:auto;max-width:260px;max-height:78px;object-fit:contain}html.dark-mode .birthdays-page__logo{filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.birthdays-page .birthdays-page__month-title{display:flex;align-items:baseline;gap:.7rem;margin:0;color:var(--bd-hero-ink);font-size:clamp(2.6rem,5.6vw,4rem);font-weight:900;letter-spacing:-.03em;line-height:1}.birthdays-page__month-title span{color:var(--bd-accent-text);font-size:.42em;font-weight:700;letter-spacing:0}.birthdays-page .birthdays-page__lead{max-width:30rem;margin:0;color:var(--bd-hero-muted);font-size:1rem;line-height:1.5}.birthdays-page .home-birthdays__stat{min-width:8.5rem}.birthdays-page .home-birthdays__stat-value{font-size:1.9rem}.birthdays-page__hero .home-birthdays__visual{position:relative}.birthdays-page__hero .home-birthdays__visual:before{content:"";position:absolute;bottom:2.4rem;left:50%;width:min(360px,90%);height:70px;border-radius:50%;background:radial-gradient(ellipse,rgba(174,22,43,.3),transparent 70%);filter:blur(8px);transform:translate(-50%);pointer-events:none}.bday-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"period switches" "search count";align-items:center;gap:.9rem 1.25rem;margin-bottom:1.4rem}.bday-period{grid-area:period;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}.bday-month-nav{display:flex;align-items:center;gap:.4rem}.bday-month-nav__arrow{display:grid;flex:none;place-items:center;width:40px;height:40px;border-radius:var(--bd-radius);background:var(--bd-surface);color:var(--bd-ink);box-shadow:var(--bd-card-shadow);transition:color .18s ease,box-shadow .18s ease,transform .18s ease}.bday-month-nav__arrow.is-disabled{opacity:.35;box-shadow:none;cursor:default}.bday-month-nav__arrow svg,.bday-views__item svg,.bday-search svg,.bday-sheet__print svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.bday-month-nav__arrow svg{width:20px;height:20px}.bday-month-nav__arrow:hover,.bday-month-nav__arrow:focus-visible{color:var(--bd-red);box-shadow:var(--bd-card-shadow),0 0 0 1px color-mix(in srgb,var(--bd-red) 35%,transparent)}.bday-month-nav__arrow[data-dir=prev]:hover{transform:translate(-2px)}.bday-month-nav__arrow[data-dir=next]:hover{transform:translate(2px)}.bday-month-nav__label{display:flex;align-items:baseline;justify-content:center;gap:.1rem}.bday-select select{appearance:none;-webkit-appearance:none;padding:.2rem 1.35rem .2rem .45rem;border:0;border-radius:7px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8e94' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .2rem center / 14px;color:var(--bd-ink);font:inherit;font-size:1.28rem;font-weight:800;letter-spacing:-.01em;cursor:pointer;transition:background-color .16s ease}.bday-select--year select{color:var(--bd-muted);font-size:1.05rem;font-weight:600}.bday-select select:hover,.bday-select select:focus-visible{background-color:var(--bd-chip);outline:none}html.dark-mode .bday-select select,.bday-select select{background-color:transparent}html.dark-mode .bday-select select:hover,html.dark-mode .bday-select select:focus-visible,.bday-select select:hover,.bday-select select:focus-visible{background-color:var(--bd-chip);border:0;box-shadow:none}.bday-select option{color:#1b1d20;font-size:1rem;font-weight:500}.bday-month-nav__now{padding:.2rem .55rem;border-radius:6px;background:var(--bd-chip-bg);color:var(--bd-chip-ink);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}a.bday-month-nav__back{color:var(--bd-chip-ink);font-size:.86rem;font-weight:700;text-decoration:none}a.bday-month-nav__back:hover,a.bday-month-nav__back:focus-visible{color:var(--bd-red);text-decoration:underline;text-underline-offset:.2em}.bday-switches{grid-area:switches;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.bday-views{display:inline-flex;gap:.25rem;padding:.25rem;border-radius:var(--bd-radius);background:var(--bd-surface);box-shadow:var(--bd-card-shadow)}a.bday-views__item{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border-radius:calc(var(--bd-radius) - 3px);color:var(--bd-muted);font-size:.9rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .18s ease,color .18s ease}.bday-views__item svg{flex:none;width:17px;height:17px}a.bday-views__item:hover{color:var(--bd-red)}a.bday-views__item[aria-current=page]{background:var(--bd-graphite);color:#fff;box-shadow:0 4px 12px #1112142e}html.dark-mode a.bday-views__item[aria-current=page]{background:linear-gradient(135deg,var(--bd-red),var(--bd-red-deep))}.bday-search{grid-area:search;position:relative;display:block;width:min(440px,100%)}.bday-search svg{position:absolute;top:50%;left:.85rem;width:18px;height:18px;color:var(--bd-muted);transform:translateY(-50%);pointer-events:none}.birthdays-page .bday-search input{width:100%;height:44px;padding:0 .9rem 0 2.6rem;border:1px solid transparent;border-radius:var(--bd-radius);background:var(--bd-surface);color:var(--bd-ink);font-size:.95rem;outline:none;box-shadow:var(--bd-card-shadow);transition:border-color .18s ease,box-shadow .18s ease}.birthdays-page .bday-search input::placeholder{color:var(--bd-muted)}.birthdays-page .bday-search input:focus{border-color:color-mix(in srgb,var(--bd-red) 55%,transparent);box-shadow:0 0 0 3px #ae162b24}.birthdays-page .bday-count{grid-area:count;margin:0;color:var(--bd-muted);font-size:.88rem;font-weight:600;text-align:right}.birthdays-page__timeline{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.birthdays-page__group{content-visibility:auto;contain-intrinsic-size:auto 6.5rem;display:grid;grid-template-columns:5.25rem minmax(0,1fr);gap:1rem;align-items:start;padding:.9rem;border-radius:var(--bd-radius);background:var(--bd-surface);box-shadow:var(--bd-card-shadow)}.birthdays-page__group.is-today,.bday-sheet__table tr.is-today{position:sticky;z-index:2;content-visibility:visible}.birthdays-page__group.is-today{top:.75rem;bottom:.75rem;box-shadow:0 12px 32px #14151829,0 0 0 1.5px color-mix(in srgb,var(--bd-red) 55%,transparent)}.bday-sheet__table tr.is-today{top:0;bottom:0}.birthdays-page__day{display:grid;justify-items:center;align-content:center;overflow:hidden;min-height:5.4rem;border-radius:calc(var(--bd-radius) - 2px);background:linear-gradient(160deg,#2c3035,#15171a);color:#fff}.is-today .birthdays-page__day{background:linear-gradient(160deg,var(--bd-red),var(--bd-red-deep))}.birthdays-page__day-weekday{align-self:stretch;justify-self:stretch;padding:.22rem 0;background:#ffffff14;color:#ffffffc7;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-align:center;text-transform:uppercase}.birthdays-page__day-number{margin-top:.35rem;font-size:1.7rem;font-weight:900;line-height:1;letter-spacing:-.02em}.birthdays-page__day-month{margin:.1rem 0 .4rem;color:#ffffffa6;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.birthdays-page__group-body{display:grid;gap:.6rem;min-width:0}.birthdays-page .birthdays-page__group-count{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.15rem 0 0;color:var(--bd-chip-ink);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.birthdays-page__day-tag{margin-left:.2rem;padding:.08rem .45rem;border-radius:5px;background:linear-gradient(135deg,var(--bd-red),var(--bd-red-deep));color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.08em}.birthdays-page__people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}.birthdays-page__person{display:flex;align-items:center;min-width:0;padding:.6rem .8rem;border-radius:8px;background:var(--bd-chip);color:var(--bd-ink);font-size:.94rem;font-weight:600;line-height:1.3}.bday-year{display:grid;gap:2rem}.birthdays-page .bday-year__title{width:fit-content;display:flex;flex-wrap:wrap;align-items:center;gap:0 .7rem;margin:0 0 .85rem;color:var(--bd-ink);font-size:1.25rem;font-weight:800;letter-spacing:-.01em}.bday-year__title:after{content:"";flex-basis:100%;max-width:25%;min-width:1.4rem;height:3px;margin-top:.3em;border-radius:999px;background:var(--bd-red)}.bday-year__title span{padding:.1rem .5rem;border-radius:6px;background:var(--bd-chip-bg);color:var(--bd-chip-ink);font-size:.78rem;font-weight:800}.bday-cal{overflow:hidden;border-radius:calc(var(--bd-radius) * 1.2);background:var(--bd-surface);box-shadow:var(--bd-card-shadow);transition:opacity .18s ease}.bday-cal__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--bd-graphite);color:#c9ccd1;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-align:center;text-transform:uppercase}html.dark-mode .bday-cal__weekdays{background:#0d0e10}.bday-cal__weekdays span{padding:.7rem 0}.bday-cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none}.bday-cal__grid>li{min-width:0;min-height:7rem;padding:.5rem;border-right:1px solid var(--bd-border);border-bottom:1px solid var(--bd-border)}.bday-cal__grid>li:nth-child(7n){border-right:0}.bday-cal__grid>li:nth-last-child(-n+7){border-bottom:0}.bday-cal__filler{background:repeating-linear-gradient(135deg,transparent 0 7px,rgba(17,18,20,.03) 7px 8px)}html.dark-mode .bday-cal__filler{background:repeating-linear-gradient(135deg,transparent 0 7px,rgba(255,255,255,.025) 7px 8px)}.bday-cal__day.is-weekend{background:color-mix(in srgb,var(--bd-page) 55%,var(--bd-surface))}.bday-cal__day.is-today{background:color-mix(in srgb,var(--bd-red) 6%,var(--bd-surface))}.bday-cal__day{transition:opacity .18s ease}.bday-cal__day.is-no-match,.bday-cal.is-no-match{opacity:.32}.bday-cal__day-head{display:flex;align-items:center;gap:.4rem;margin-bottom:.45rem}.bday-cal__num{display:grid;place-items:center;min-width:1.85rem;height:1.85rem;border-radius:7px;color:var(--bd-muted);font-size:.9rem;font-weight:800;font-variant-numeric:tabular-nums}.has-birthdays .bday-cal__num{background:var(--bd-graphite);color:#fff}html.dark-mode .bday-cal:not(.bday-cal--compact) .has-birthdays .bday-cal__num{background:#33363b}.bday-cal__day.is-today .bday-cal__num{background:linear-gradient(135deg,var(--bd-red),var(--bd-red-deep));color:#fff;box-shadow:0 0 0 3px #ae162b29}.bday-cal__weekday{margin-left:auto;color:var(--bd-muted);font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.bday-cal__today{color:var(--bd-chip-ink);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.bday-cal__people{display:grid;gap:.25rem;margin:0;padding:0;list-style:none}.bday-cal__person{padding:.28rem .45rem;border-radius:6px;background:var(--bd-chip);color:var(--bd-ink);font-size:.76rem;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.is-today .bday-cal__person{background:color-mix(in srgb,var(--bd-red) 10%,var(--bd-surface))}.bday-year-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}a.bday-cal__month{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.75rem .9rem .6rem;color:var(--bd-ink);text-decoration:none}.bday-cal__month strong{font-size:1rem;font-weight:800}.bday-cal__month span{color:var(--bd-muted);font-size:.74rem;font-weight:600}a.bday-cal__month:hover strong,a.bday-cal__month:focus-visible strong{color:var(--bd-red)}.bday-cal--compact .bday-cal__weekdays{background:none;color:var(--bd-muted);font-size:.64rem;letter-spacing:0}.bday-cal--compact .bday-cal__weekdays span{padding:.2rem 0}.bday-cal--compact .bday-cal__grid{padding:.2rem .5rem .6rem}.bday-cal--compact .bday-cal__grid>li{display:grid;place-items:center;min-height:0;padding:.12rem;border:0;background:none}.bday-cal--compact .bday-cal__day-head{margin:0}.bday-cal--compact .bday-cal__num{min-width:1.75rem;height:1.75rem;border-radius:6px;font-size:.76rem}.bday-cal--compact .bday-cal__people{display:none}.bday-year-cal{--bd-lvl1: #e6e8eb;--bd-lvl2: #c4c8cd;--bd-lvl3: #6d737b;--bd-lvl4: #26292e}html.dark-mode .bday-year-cal,html.dark-mode .bday-year-legend{--bd-lvl1: #2a2d32;--bd-lvl2: #43474e;--bd-lvl3: #7a8089;--bd-lvl4: #c9ccd1}.bday-year-legend{--bd-lvl1: #e6e8eb;--bd-lvl2: #c4c8cd;--bd-lvl3: #6d737b;--bd-lvl4: #26292e;display:flex;align-items:center;justify-content:flex-end;gap:.3rem;margin:-.4rem 0 .8rem;color:var(--bd-muted);font-size:.74rem;font-weight:600}.bday-year-legend span:first-child{margin-right:.2rem}.bday-year-legend span:last-child{margin-left:.2rem}.bday-year-legend i{width:14px;height:14px;border-radius:4px}.bday-year-legend .bday-cal__day--lvl1,.bday-cal--compact .bday-cal__day--lvl1 .bday-cal__num{background:var(--bd-lvl1);color:var(--bd-ink)}.bday-year-legend .bday-cal__day--lvl2,.bday-cal--compact .bday-cal__day--lvl2 .bday-cal__num{background:var(--bd-lvl2);color:var(--bd-ink)}.bday-year-legend .bday-cal__day--lvl3,.bday-cal--compact .bday-cal__day--lvl3 .bday-cal__num{background:var(--bd-lvl3);color:#fff}.bday-year-legend .bday-cal__day--lvl4,.bday-cal--compact .bday-cal__day--lvl4 .bday-cal__num{background:var(--bd-lvl4);color:#fff}html.dark-mode .bday-cal--compact .bday-cal__day--lvl3 .bday-cal__num,html.dark-mode .bday-cal--compact .bday-cal__day--lvl4 .bday-cal__num{color:#111214}.bday-cal--compact .bday-cal__day.is-today .bday-cal__num{background:linear-gradient(135deg,var(--bd-red),var(--bd-red-deep));color:#fff}.bday-sheet__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.birthdays-page .bday-sheet__actions p{margin:0;color:var(--bd-muted);font-size:.88rem}.bday-sheet__print{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border:0;border-radius:var(--bd-radius);background:linear-gradient(135deg,var(--bd-red),var(--bd-red-deep));color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #ae162b40;transition:transform .18s ease,box-shadow .18s ease}.bday-sheet__print svg{width:18px;height:18px}.bday-sheet__print:hover,.bday-sheet__print:focus-visible{box-shadow:0 10px 22px #ae162b59;transform:translateY(-1px)}.bday-sheet__paper{max-width:880px;margin-inline:auto;padding:2rem 2.2rem;border-radius:var(--bd-radius);background:#fff;color:#1b1d20;box-shadow:0 10px 30px #11121414}html.dark-mode .bday-sheet__paper{box-shadow:0 18px 44px #00000080}.bday-sheet__head{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid #1f2226}.bday-sheet__brand{display:grid;flex:none;justify-items:end;gap:.4rem}.bday-sheet__brand img{max-width:170px;max-height:52px;object-fit:contain}.bday-sheet__title{flex:1;min-width:0}.birthdays-page .bday-sheet__org{margin:0;color:#ae162b;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.birthdays-page .bday-sheet__head h2{margin:.15rem 0 .1rem;color:#111214;font-size:1.45rem;line-height:1.2}.birthdays-page .bday-sheet__total{margin:0;color:#5f646b;font-size:.88rem}.birthdays-page .bday-sheet__issued{margin:0;color:#6b7078;font-size:.7rem;line-height:1.2;text-align:right;white-space:nowrap}.bday-sheet__table{width:100%;border-collapse:collapse;font-size:.92rem}.bday-sheet__table thead th{padding:.5rem .6rem;border-bottom:1px solid #d5d7da;color:#5f646b;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-align:left;text-transform:uppercase}.bday-sheet__table td{padding:.55rem .6rem;border-bottom:1px solid #ececed;color:#1b1d20}.bday-sheet__table tbody tr:nth-child(2n) td{background:#f7f7f8}.bday-sheet__table tr.is-today td{background:#fdf1f3}.bday-sheet__table .bday-sheet__month th{padding:1.1rem .6rem .45rem;border-bottom:1px solid #1f2226;color:#111214;font-size:1rem;font-weight:800;text-align:left}.bday-sheet__day{width:4.6rem;font-weight:800;font-variant-numeric:tabular-nums}.bday-sheet__table .bday-sheet__weekday{width:11rem;color:#5f646b}.bday-sheet__today{margin-left:.5rem;padding:.05rem .35rem;border:1px solid rgba(174,22,43,.35);border-radius:4px;color:#ae162b;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}.bday-sheet__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:1.2rem;padding-top:.8rem;border-top:1px solid #d5d7da;color:#6b7078;font-size:.75rem}@media(max-width:980px){.bday-toolbar{grid-template-columns:1fr;grid-template-areas:"period" "switches" "search" "count"}.bday-switches{justify-content:flex-start}.bday-search{width:100%}.birthdays-page .bday-count{text-align:left}}@media(max-width:920px){.birthdays-page__hero{grid-template-columns:1fr;gap:.5rem;min-height:0;padding:1.8rem 1.5rem 1.2rem}.birthdays-page__hero .home-birthdays__visual{order:-1}}@media(max-width:720px){.birthdays-page{padding:1rem 0 2rem}.birthdays-page__logo{max-width:210px;max-height:62px}.birthdays-page__hero{padding:1.4rem 1.15rem 1rem}.bday-switches,.bday-views{width:100%}.bday-views{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}a.bday-views__item{justify-content:center;padding-inline:.5rem}.birthdays-page__group{grid-template-columns:4.3rem minmax(0,1fr);gap:.75rem;padding:.75rem}.birthdays-page__day{min-height:4.6rem}.birthdays-page__day-number{font-size:1.45rem}.birthdays-page__people{grid-template-columns:1fr}.bday-cal:not(.bday-cal--compact) .bday-cal__weekdays{display:none}.bday-cal:not(.bday-cal--compact) .bday-cal__grid{display:block}.bday-cal:not(.bday-cal--compact) .bday-cal__grid>.bday-cal__filler,.bday-cal:not(.bday-cal--compact) .bday-cal__grid>.bday-cal__day:not(.has-birthdays),.bday-cal:not(.bday-cal--compact) .bday-cal__grid>.bday-cal__day.is-no-match{display:none}.bday-cal:not(.bday-cal--compact) .bday-cal__grid>.bday-cal__day{display:grid;grid-template-columns:3.1rem minmax(0,1fr);column-gap:.8rem;min-height:0;padding:.75rem;border-right:0;border-bottom:1px solid var(--bd-border)}.bday-cal:not(.bday-cal--compact) .bday-cal__day-head{flex-direction:column;gap:.2rem;margin:0}.bday-cal:not(.bday-cal--compact) .bday-cal__weekday{margin:0}.bday-cal:not(.bday-cal--compact) .bday-cal__num{min-width:2.4rem;height:2.4rem;font-size:1.05rem}.bday-cal:not(.bday-cal--compact) .bday-cal__person{font-size:.9rem}.bday-sheet__paper{padding:1.25rem 1rem}.bday-sheet__head{flex-wrap:wrap}.bday-sheet__brand{justify-items:start}.birthdays-page .bday-sheet__issued{text-align:left}.bday-sheet__table .bday-sheet__weekday{display:none}}@media(prefers-reduced-motion:reduce){.bday-month-nav__arrow,.bday-month-nav__arrow:hover{transform:none;transition:none}}@media print{@page{size:A4 portrait;margin:14mm}html,body{background:#fff!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body>.page>:not(main),astro-dev-toolbar,.birthdays-page__hero,.bday-toolbar,.bday-sheet__actions,[data-bday-no-results]{display:none!important}.birthdays-page,.birthdays-page .home-birthdays__body{padding:0!important}.birthdays-page .container{width:auto!important}.birthdays-page .home-birthdays__shell{overflow:visible!important;border:0!important;background:none!important;box-shadow:none!important}.bday-sheet__paper{max-width:none;padding:0;box-shadow:none!important}.bday-sheet__table thead{display:table-header-group}.bday-sheet__table{font-size:.8rem}.bday-sheet__table td{padding:.22rem .5rem}.bday-sheet__table tr{break-inside:avoid}.bday-sheet__month{break-after:avoid}}
