.calendar-page{--calendar-cream:#f7ede2;--calendar-petal:#efc5ce;--calendar-mauve:#ad9697;--calendar-charcoal:#43373a;background:var(--calendar-cream)}
.calendar-intro{padding:8vw 5vw 5vw;display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;min-height:530px}.calendar-intro h1{font:clamp(70px,10.2vw,150px)/.82 var(--serif);font-weight:400;letter-spacing:-.055em;margin:55px 0 0}.calendar-intro h1 em,.month-list h2 em,.print-copy h2 em{font-weight:400;color:var(--calendar-mauve)}.calendar-intro>p{font:clamp(19px,2vw,28px)/1.45 var(--serif);max-width:550px;margin:0 0 2vw}
.calendar-shell{background:var(--calendar-charcoal);padding:5vw}.calendar-paper{position:relative;background:#fbf7ef;box-shadow:0 18px 50px #241d1f55;padding:4vw 3.5vw 3.5vw;max-width:1420px;margin:auto}.binder-holes{position:absolute;left:-18px;top:12%;bottom:12%;display:flex;flex-direction:column;justify-content:space-around}.binder-holes i{display:block;width:34px;height:34px;border-radius:50%;background:var(--calendar-charcoal);box-shadow:inset -4px 0 0 #1d1819}
.calendar-toolbar{display:grid;grid-template-columns:55px 1fr auto;gap:20px;align-items:center;border-bottom:1px solid;padding-bottom:25px}.month-heading{text-align:center}.month-heading span{font:9px var(--mono);text-transform:uppercase;letter-spacing:.14em}.month-heading h2{font:clamp(50px,7vw,105px)/.9 var(--serif);font-weight:400;margin:8px 0 0}.calendar-controls{display:flex;align-items:center;gap:12px}.month-button,.today-button{border:1px solid var(--calendar-charcoal);background:transparent;cursor:pointer}.month-button{width:48px;height:48px;border-radius:50%;font-size:19px}.today-button{border-radius:99px;padding:11px 17px;font:9px var(--mono);text-transform:uppercase}.month-button:hover,.today-button:hover{background:var(--calendar-charcoal);color:var(--calendar-cream)}
.calendar-key{display:flex;justify-content:flex-end;gap:20px;padding:16px 0 12px;font:9px var(--mono);text-transform:uppercase}.calendar-key span{display:flex;gap:7px;align-items:center}.calendar-key i{width:10px;height:10px;display:inline-block}.key-event{background:var(--calendar-petal);transform:rotate(6deg)}.key-journal{background:var(--calendar-mauve);border-radius:50%}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{border:1px solid;border-bottom:0}.weekday-row span{padding:10px 12px;font:10px var(--mono);text-transform:uppercase;border-right:1px solid}.weekday-row span:last-child{border:0}.calendar-grid{border-left:1px solid;border-top:1px solid}.calendar-day{position:relative;min-height:150px;border-right:1px solid;border-bottom:1px solid;padding:10px;overflow:visible}.calendar-day.is-outside{color:#a89d99;background:#f0e9df}.calendar-day.is-today:after{content:"";position:absolute;inset:4px;border:2px solid var(--calendar-mauve);pointer-events:none}.date-number{font:13px var(--mono);position:relative;z-index:2}.day-items{display:grid;gap:5px;margin-top:8px}.calendar-item{position:relative;display:block;padding:8px 7px;font:9px/1.2 var(--mono);text-transform:uppercase;transition:transform .2s,box-shadow .2s;z-index:3}.calendar-item:hover{transform:rotate(0deg) scale(1.045)!important;box-shadow:4px 5px 0 #43373a33;z-index:6}.calendar-item.event{background:var(--calendar-petal);clip-path:polygon(2% 5%,98% 0,100% 91%,4% 100%);transform:rotate(-2deg)}.calendar-item.journal{background:#ddd0cf;clip-path:polygon(0 0,96% 4%,100% 100%,5% 94%);transform:rotate(1.5deg)}.calendar-item small{display:block;font-size:7px;margin-bottom:3px;opacity:.7}.calendar-empty{font:18px/1.5 var(--serif);text-align:center;margin:25px 0 0}
.month-list{padding:9vw 5vw}.month-list-heading{display:grid;grid-template-columns:.7fr 1.5fr;gap:6vw;align-items:start}.month-list-heading>span{font:10px var(--mono);letter-spacing:.12em}.month-list h2{font:clamp(55px,8vw,120px)/.88 var(--serif);font-weight:400;margin:0}.month-list-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:70px}.diary-card{position:relative;min-height:470px;background:#fffaf0;padding:20px 20px 28px;box-shadow:5px 8px 18px #43373a20;transition:transform .3s}.diary-card:nth-child(3n+1){transform:rotate(-1.3deg)}.diary-card:nth-child(3n+2){transform:rotate(1.1deg);background:var(--calendar-petal)}.diary-card:hover{transform:translateY(-9px) rotate(0)}.diary-card:before{content:"";position:absolute;top:-13px;left:38%;width:100px;height:30px;background:#d7c1c2b8;transform:rotate(-3deg)}.diary-card img{width:100%;height:270px;object-fit:cover;filter:saturate(.65);clip-path:polygon(1% 2%,98% 0,100% 97%,3% 100%)}.diary-card span{display:block;font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:20px 0 11px}.diary-card h3{font:30px/1.05 var(--serif);font-weight:400;margin:0}.month-list-empty{grid-column:1/-1;border-top:1px solid;padding:40px 0;font:24px var(--serif)}
.print-diary{background:var(--calendar-petal);padding:8vw 6vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.print-collage{min-height:590px;position:relative}.mini-month{position:absolute;inset:4% 8% 5% 2%;background:#fffaf0;padding:45px;box-shadow:13px 15px 0 var(--calendar-mauve);transform:rotate(-3deg);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto repeat(2,1fr);gap:8px}.mini-month b{font:100px/.8 var(--serif);font-weight:400;grid-column:1/3}.mini-month span{font:10px var(--mono);grid-column:1/-1;text-transform:uppercase}.mini-month i{border:1px solid #43373a66;min-height:100px}.print-collage img{position:absolute;right:-2%;top:26%;width:42%;height:55%;object-fit:cover;filter:grayscale(1) sepia(.15);transform:rotate(7deg);clip-path:polygon(2% 0,100% 3%,95% 100%,0 96%)}.print-tape{position:absolute;width:120px;height:34px;right:10%;top:22%;background:#d7c1c2c7;transform:rotate(12deg)}.print-scribble{position:absolute;bottom:0;right:1%;font:23px "Bradley Hand",cursive;transform:rotate(-5deg)}.print-copy h2{font:clamp(50px,6vw,90px)/.9 var(--serif);font-weight:400;margin:32px 0}.print-copy p{font:18px/1.75 var(--sans);max-width:610px}.download-button{display:flex;justify-content:space-between;align-items:center;margin-top:36px;border:1px solid;padding:18px 22px;font:10px var(--mono);text-transform:uppercase;max-width:460px}.download-button:hover{background:var(--calendar-charcoal);color:var(--calendar-cream)}.download-button b{font-size:20px}.print-copy small{display:block;font:9px var(--mono);margin-top:14px;text-transform:uppercase}
@media(max-width:950px){.calendar-intro{grid-template-columns:1fr;min-height:auto;padding-top:100px}.calendar-intro>p{margin-left:auto}.calendar-paper{padding:42px 24px 28px}.binder-holes{display:none}.calendar-day{min-height:120px;padding:7px}.calendar-item{font-size:8px}.month-list-cards{grid-template-columns:repeat(2,1fr)}.print-diary{grid-template-columns:1fr}.print-collage{min-height:520px}}
@media(max-width:650px){.calendar-intro h1{font-size:19vw}.calendar-shell{padding:24px 10px}.calendar-paper{padding:25px 10px 18px}.calendar-toolbar{grid-template-columns:42px 1fr 42px;gap:6px}.calendar-controls .today-button{position:absolute;top:8px;right:8px;border:0;padding:4px}.month-button{width:38px;height:38px}.month-heading h2{font-size:12vw}.calendar-key{justify-content:center}.weekday-row span{padding:8px 2px;text-align:center;font-size:8px}.calendar-day{min-height:86px;padding:4px}.date-number{font-size:9px}.calendar-item{padding:5px 3px;font-size:0;min-height:28px}.calendar-item small{font-size:0}.calendar-item:after{content:attr(data-short);font:7px/1.1 var(--mono)}.month-list{padding:80px 5vw}.month-list-heading{grid-template-columns:1fr}.month-list-cards{grid-template-columns:1fr;margin-top:45px}.diary-card{min-height:auto}.print-diary{padding:80px 6vw}.print-collage{min-height:390px}.mini-month{padding:25px}.mini-month b{font-size:70px}.mini-month i{min-height:65px}.print-scribble{font-size:18px}.print-copy p{font-size:15px}}

/* Independent listings use a cool paper colour so they cannot be mistaken for
   events managed by Artists' Apothecary or its founder projects. */
.key-external{background:var(--lilac);transform:rotate(-7deg)}
.calendar-item.event.external{background:var(--lilac);clip-path:polygon(0 7%,96% 0,100% 96%,5% 100%);transform:rotate(1.5deg)}
.diary-card.external{background:var(--lilac)}
.diary-card.external:before{background:var(--calendar-mauve);transform:rotate(4deg);z-index:2}
.flyer-cutout{height:270px;padding:10px;overflow:hidden;background:#eee6db;box-shadow:3px 4px 0 #43373a1c;transform:rotate(-1deg)}
.diary-card:nth-child(even) .flyer-cutout{transform:rotate(1.2deg)}
.flyer-cutout img{width:100%;height:100%;object-fit:contain;clip-path:none;filter:saturate(.8) contrast(1.04);transition:transform .35s}
.diary-card:hover .flyer-cutout img{transform:scale(1.035)}
.calendar-item.external{padding-top:5px}
.calendar-flyer{display:block;width:min(100%,92px);aspect-ratio:1;margin:0 auto;padding:3px;background:#fffaf0;box-shadow:2px 3px 0 #43373a29;transform:rotate(-3deg);overflow:hidden;border-radius:4px}
.calendar-day:nth-child(even) .calendar-flyer{transform:rotate(3deg)}
.calendar-flyer img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
@media(max-width:950px){.calendar-flyer{width:min(100%,74px)}}
@media(max-width:650px){.calendar-flyer{width:min(100%,58px);margin-bottom:0;padding:1px}.calendar-item.external{padding-top:2px}.calendar-item.has-flyer:after{content:none}}
