.calendar-page-hero{background:var(--paper)}
.calendar-page-hero h1{max-width:860px}.calendar-hero-copy{max-width:450px;justify-self:end;padding-bottom:4px}.calendar-hero-copy>p{font-size:15px;line-height:1.9}.calendar-page-hero .calendar-context{font-size:11px;line-height:1.8;color:var(--muted);margin-top:22px;max-width:650px}
.calendar-section{padding-top:30px;padding-bottom:68px;background:#e7ede1}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.calendar-toolbar h2{font-size:25px;line-height:1.2}.calendar-current{background:none;padding:12px 0;font-size:12px;text-decoration:underline;text-underline-offset:5px}
.calendar-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid #b8c3b1;border-bottom:1px solid #b8c3b1;margin-bottom:34px}.calendar-months button{position:relative;background:transparent;min-height:65px;padding:15px 4px;font-size:12px;border-right:1px solid #c7cebf}.calendar-months button:last-child{border-right:0}.calendar-months button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.calendar-months button[aria-current=date]::after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:currentColor;bottom:9px;left:calc(50% - 2px)}.calendar-months button:hover:not([aria-pressed=true]){background:#dce4d4}.calendar-months button:disabled{cursor:default;opacity:.65}.calendar-status{font-size:11px;color:var(--muted);line-height:1.8;min-height:1.8em;margin:-19px 0 20px}
.calendar-feature{background:var(--paper);scroll-margin-top:30px}.calendar-feature-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 25px;border-bottom:1px solid var(--line)}.calendar-arrows{display:flex;gap:8px}.calendar-arrows button{display:grid;place-items:center;background:transparent;border:1px solid #b6c0ae;border-radius:50%;width:38px;height:38px;font-size:20px;line-height:1}.calendar-arrows button:hover{background:var(--sage)}
.calendar-feature-body{display:grid;grid-template-columns:1fr 1.08fr;align-items:stretch}.calendar-image-frame{margin:0;position:relative;min-height:570px;overflow:hidden;background:#d2ddc9}.calendar-image-frame>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.calendar-image-frame figcaption{position:absolute;bottom:20px;left:22px;right:22px;color:var(--paper);font-size:11px;line-height:1.8;text-shadow:0 1px 5px #142516}.calendar-image-frame:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#17291d6b);pointer-events:none}.calendar-image-frame figcaption{z-index:1}.calendar-photo-empty{display:grid;place-items:center;padding:42px}.calendar-photo-empty:after{display:none}.calendar-missing-image{max-width:280px;font:600 clamp(32px,3.5vw,48px)/1.12 var(--display);letter-spacing:-.03em}.calendar-missing-image span{display:block;font:11px/1.8 var(--body);letter-spacing:0;margin-top:23px;max-width:210px}
.calendar-theme{padding:36px 39px}.calendar-theme h2{font-size:clamp(38px,3.5vw,51px);line-height:1.06;max-width:470px}.calendar-action{font-size:14px;line-height:1.85;margin-top:23px;max-width:500px}.calendar-planner{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.calendar-planner h3{font-size:23px;line-height:1.2;margin-bottom:11px}.calendar-planner>p{font-size:11px;line-height:1.8;max-width:440px}.calendar-reminder-form{margin-top:18px}.calendar-reminder-form label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.calendar-date-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}.calendar-date-row input{min-width:0;max-width:100%;min-height:49px;flex:1 1 170px;appearance:auto;border:1px solid #8a977e;border-radius:3px;padding:11px 12px;background:#fffefa;color:var(--ink);font:16px var(--body)}.calendar-date-row .button{font-size:11px;min-height:49px;padding:14px 16px;gap:10px;flex:1 1 180px;justify-content:center}.calendar-date-help,.calendar-reminder-status{font-size:11px;line-height:1.8;color:var(--muted);margin-top:10px}.calendar-reminder-status:empty{display:none}.calendar-social{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;font-size:11px;line-height:1.9}.calendar-social .small-link{font-size:11px;margin-top:8px;text-decoration:underline;text-underline-offset:4px}.calendar-social #calendar-hashtag{font-weight:600}
.calendar-bottom{display:flex;justify-content:space-between;gap:45px;margin-top:24px;align-items:center}.calendar-bottom>p{font-size:11px;color:var(--muted);line-height:1.85;max-width:530px}.calendar-next-preview{text-align:left;background:transparent;border-left:1px solid #b5c1ac;padding:10px 0 10px 25px;min-width:230px}.calendar-next-preview>span{display:block;font-size:11px;line-height:1.8}.calendar-next-preview>strong{display:block;font:600 24px/1.2 var(--display);margin-top:5px}.calendar-next-preview .calendar-next-arrow{font-size:17px;padding-left:12px;display:inline}
.calendar-archive{padding-top:63px;padding-bottom:60px;background:var(--paper)}.calendar-archive-heading{display:flex;gap:45px;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.calendar-archive-heading h2{font-size:36px;line-height:1.1}.calendar-archive-heading p{font-size:12px;line-height:1.8;max-width:440px}.calendar-archive details{border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.calendar-archive summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:13px;line-height:1.7;font-weight:600}.calendar-archive summary::-webkit-details-marker{display:none}.calendar-archive summary>span:last-child{font-size:20px;line-height:1}.calendar-archive details[open] summary>span:last-child{transform:rotate(45deg)}.calendar-archive summary:focus-visible{outline:3px solid #ca6d18;outline-offset:4px}.calendar-archive-list{list-style:none;margin:0;padding:0 0 28px;display:grid;grid-template-columns:1fr 1fr;column-gap:45px}.calendar-archive-list li{padding:16px 0;border-top:1px solid var(--line)}.calendar-archive-list time{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.calendar-archive-list a{font-size:13px;line-height:1.65;text-decoration:underline;text-underline-offset:4px}.calendar-archive-list .calendar-archive-publisher{font-size:11px;color:var(--muted);margin-top:5px}.calendar-archive-source{font-size:11px;line-height:1.85;color:var(--muted);margin-top:21px}.calendar-archive-source a{text-decoration:underline;text-underline-offset:3px}
#happiness-calendar [hidden]{display:none!important}
@media(max-width:1050px){.calendar-months{grid-template-columns:repeat(6,minmax(0,1fr))}.calendar-months button:nth-child(6){border-right:0}.calendar-months button:nth-child(-n+6){border-bottom:1px solid #c7cebf}.calendar-theme{padding:30px}.calendar-feature-body{grid-template-columns:.85fr 1.15fr}.calendar-image-frame{min-height:620px}.calendar-action{font-size:13px}.calendar-bottom{gap:26px}}
@media(max-width:760px){.calendar-section{padding-top:25px;padding-bottom:42px}.calendar-toolbar{align-items:center;margin-bottom:18px}.calendar-toolbar h2{font-size:22px}.calendar-current{font-size:11px}.calendar-months{margin-bottom:28px}.calendar-months button{font-size:11px;min-height:54px}.calendar-status{font-size:11px;margin-top:-15px}.calendar-feature-top{padding:14px 19px}.calendar-feature-body{grid-template-columns:1fr}.calendar-image-frame{min-height:0;height:270px}.calendar-theme{padding:29px 23px}.calendar-theme h2{font-size:38px}.calendar-action{font-size:13px;margin-top:20px}.calendar-planner{margin-top:23px;padding-top:22px}.calendar-planner h3{font-size:24px}.calendar-date-row{display:grid;grid-template-columns:1fr}.calendar-date-row input{width:100%}.calendar-date-row .button{font-size:12px}.calendar-social{margin-top:20px}.calendar-bottom{display:block;margin-top:21px}.calendar-bottom>p{font-size:11px}.calendar-next-preview{border-left:0;border-top:1px solid #b5c1ac;margin-top:22px;padding:18px 0 0;width:100%}.calendar-next-preview>strong{font-size:25px}.calendar-photo-empty{height:235px;padding:28px}.calendar-missing-image{font-size:35px;max-width:100%}.calendar-missing-image span{font-size:11px;max-width:280px;margin-top:15px}.calendar-archive{padding-top:42px;padding-bottom:45px}.calendar-archive-heading{display:block;margin-bottom:25px}.calendar-archive-heading h2{font-size:32px}.calendar-archive-heading p{margin-top:17px;font-size:12px}.calendar-archive-list{grid-template-columns:1fr}.calendar-archive summary{font-size:12px}.calendar-archive-source{font-size:11px}.calendar-page-hero .calendar-context{font-size:11px}}
@media(max-width:760px){.calendar-hero-copy{max-width:550px;margin-top:24px;padding:0}.calendar-hero-copy>p{font-size:13px;line-height:1.85}}
@media print{.calendar-months,.calendar-toolbar,.calendar-arrows,.calendar-reminder-form,.calendar-next-preview,.calendar-status,.calendar-archive{display:none!important}.calendar-feature-body{display:block}.calendar-image-frame{display:none}.calendar-theme{padding:20px 0}.calendar-section{background:#fff;padding:20px 0}.calendar-bottom>p{max-width:none}}

.calendar-month-meta{font-size:13px;line-height:1.7;font-weight:600}
