.calendar-page{background:#f5f2ed}.calendar-hero{color:var(--color-white);background:radial-gradient(circle at 78% 22%,#95b46a1f,#0000 23rem),#173c2d;padding:10.5rem 0 7rem;position:relative;overflow:hidden}.calendar-orbit{pointer-events:none;border:1px solid #c9a96e2b;border-radius:50%;position:absolute}.calendar-orbit--one{width:34rem;height:34rem;top:-16rem;right:-9rem}.calendar-orbit--two{border-color:#95b46a33;width:11rem;height:11rem;bottom:-6rem;left:46%}.calendar-hero-grid{z-index:1;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);align-items:end;gap:clamp(4rem,10vw,9rem);display:grid;position:relative}.calendar-breadcrumb{color:#ffffff7a;letter-spacing:.08em;text-transform:uppercase;gap:.65rem;margin-bottom:2.6rem;font-size:.75rem;display:flex}.calendar-breadcrumb a:hover{color:var(--color-accent)}.calendar-kicker,.calendar-section-label{color:var(--color-gold);letter-spacing:.18em;text-transform:uppercase;font-size:.73rem;font-weight:600}.calendar-kicker{margin-bottom:1.2rem}.calendar-hero h1{color:var(--color-white);letter-spacing:-.035em;font-size:clamp(4rem,7vw,6.5rem);line-height:.87}.calendar-hero h1 em{color:var(--color-gold);font-weight:400}.calendar-hero-intro{border-top:1px solid #ffffff29;padding-top:1.5rem}.calendar-hero-intro>p{color:#ffffffb8;font-size:1rem;line-height:1.75}.calendar-hero-facts{border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;grid-template-columns:1fr 1fr;margin-top:2rem;display:grid}.calendar-hero-facts div{padding:1.2rem 0}.calendar-hero-facts div+div{border-left:1px solid #ffffff1f;padding-left:1.2rem}.calendar-hero-facts strong{color:var(--color-gold);font-family:var(--font-heading);font-size:2.5rem;font-weight:400;line-height:1;display:block}.calendar-hero-facts span{color:#ffffff7a;font-size:.73rem}.calendar-hero-intro>a{border-bottom:1px solid #ffffff26;justify-content:space-between;margin-top:1.7rem;padding-bottom:.7rem;font-size:.8rem;display:flex}.calendar-rhythm{padding:7rem 0}.calendar-rhythm-grid{grid-template-columns:.9fr 1.1fr;align-items:end;gap:clamp(4rem,9vw,8rem);display:grid}.calendar-rhythm h2,.calendar-heading-row h2,.calendar-ceremony h2,.calendar-note h2{letter-spacing:-.025em;margin-top:.9rem;font-size:clamp(2.8rem,5vw,4.7rem);line-height:.98}.calendar-rhythm-cards{border-top:1px solid #1b43322b;border-left:1px solid #1b43322b;grid-template-columns:1fr 1fr;display:grid}.calendar-rhythm-cards article{background:#ffffff47;border-bottom:1px solid #1b43322b;border-right:1px solid #1b43322b;min-height:200px;padding:1.6rem}.calendar-rhythm-cards span{color:var(--color-gold);letter-spacing:.15em;text-transform:uppercase;font-size:.72rem;font-weight:600}.calendar-rhythm-cards strong{color:var(--color-primary);font-family:var(--font-heading);margin-top:2.2rem;font-size:2.8rem;font-weight:400;line-height:1;display:block}.calendar-rhythm-cards p{color:var(--color-text-secondary);margin-top:.55rem;font-size:.86rem}.calendar-dates{background:#ebe7df;padding:7rem 0 8rem}.calendar-heading-row{justify-content:space-between;align-items:end;gap:3rem;margin-bottom:4rem;display:flex}.calendar-legend{color:var(--color-text-secondary);gap:1.5rem;padding-bottom:.6rem;font-size:.78rem;display:flex}.calendar-legend span{align-items:center;gap:.45rem;display:inline-flex}.calendar-legend-dot{background:var(--color-primary);border-radius:50%;width:.5rem;height:.5rem}.calendar-legend-dot--ceremony{background:var(--color-gold)}.calendar-list{border-top:1px solid #1b43322e}.calendar-month{border-bottom:1px solid #1b43322e;grid-template-columns:70px minmax(190px,.8fr) minmax(300px,1fr) minmax(220px,.85fr);align-items:center;gap:1.5rem;min-height:150px;padding:1.3rem 0;display:grid}.calendar-month-index{color:var(--color-gold);letter-spacing:.12em;font-size:.7rem}.calendar-month-name h3{font-size:2.15rem;line-height:1}.calendar-month-name span{color:var(--color-text-secondary);letter-spacing:.12em;font-size:.72rem}.calendar-days{grid-template-columns:1fr 1fr;display:grid}.calendar-day{border-left:1px solid #1b433224;grid-template-columns:1fr auto;align-items:end;gap:1rem;padding:0 1.4rem;display:grid}.calendar-day span{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;padding-bottom:.45rem;font-size:.74rem}.calendar-day strong{color:var(--color-primary);font-family:var(--font-heading);font-size:4rem;font-weight:400;line-height:.9}.calendar-month-mark{background:var(--color-primary);opacity:.45;border-radius:50%;justify-self:end;width:.55rem;height:.55rem;margin-right:.5rem}.calendar-graduation{border-left:3px solid var(--color-gold);background:#c9a96e21;padding:1rem 1.2rem}.calendar-graduation>span{color:var(--color-gold);letter-spacing:.14em;text-transform:uppercase;font-size:.65rem}.calendar-graduation strong{color:var(--color-primary);font-family:var(--font-heading);margin-top:.25rem;font-size:1.6rem;font-weight:400;display:block}.calendar-graduation p{color:var(--color-text-secondary);margin-top:.25rem;font-size:.76rem;line-height:1.5}.calendar-pause{border-left:1px solid #1b43322e;grid-column:3/5;padding:1rem 1.3rem}.calendar-pause span{color:var(--color-gold);letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:600}.calendar-pause p{color:var(--color-text-secondary);margin-top:.35rem}.calendar-month--pause{background:#ffffff38}.calendar-ceremony{color:var(--color-white);background:#173c2d;padding:8rem 0;position:relative;overflow:hidden}.calendar-ceremony-orbit{border:1px solid #c9a96e24;border-radius:50%;width:42rem;height:42rem;position:absolute;top:-18rem;left:-14rem}.calendar-ceremony-grid{z-index:1;grid-template-columns:.6fr 1.1fr;align-items:center;gap:clamp(4rem,10vw,9rem);display:grid;position:relative}.calendar-ceremony-date{aspect-ratio:1;border:1px solid #c9a96e4d;border-radius:50%;place-items:center;max-width:390px;display:grid}.calendar-ceremony-date span{color:var(--color-gold);letter-spacing:.18em;text-transform:uppercase;align-self:end;font-size:.7rem}.calendar-ceremony-date strong{color:var(--color-white);font-family:var(--font-heading);font-size:8rem;font-weight:400;line-height:.75}.calendar-ceremony-date small{color:#ffffff80;letter-spacing:.2em;align-self:start}.calendar-ceremony h2{color:var(--color-white)}.calendar-ceremony-copy>p:last-child{color:#ffffffa6;max-width:620px;margin-top:1.5rem;font-size:1.05rem;line-height:1.8}.calendar-note{padding:7rem 0}.calendar-note-inner{grid-template-columns:1fr auto;align-items:end;gap:4rem;display:grid}.calendar-note h2{max-width:720px}.calendar-note p:not(.calendar-section-label){max-width:700px;color:var(--color-text-secondary);margin-top:1.3rem;line-height:1.75}.calendar-note-actions{flex-direction:column;align-items:center;gap:1.2rem;display:flex}.calendar-note-actions>a:last-child{color:var(--color-primary);border-bottom:1px solid #1b433233;font-size:.82rem}@media (width<=980px){.calendar-hero-grid,.calendar-rhythm-grid,.calendar-ceremony-grid{grid-template-columns:1fr}.calendar-month{grid-template-columns:50px minmax(170px,.7fr) 1fr}.calendar-month-mark,.calendar-graduation{grid-column:3}.calendar-graduation{margin-top:-.4rem}.calendar-pause{grid-column:3}.calendar-ceremony-date{width:100%}.calendar-note-inner{grid-template-columns:1fr;align-items:start}.calendar-note-actions{align-items:flex-start}}@media (width<=680px){.calendar-hero{padding:8.5rem 0 5rem}.calendar-hero h1{font-size:clamp(3.35rem,16vw,4.5rem)}.calendar-rhythm,.calendar-dates,.calendar-ceremony,.calendar-note{padding:5rem 0}.calendar-rhythm h2,.calendar-heading-row h2,.calendar-ceremony h2,.calendar-note h2{font-size:2.75rem}.calendar-rhythm-cards{grid-template-columns:1fr}.calendar-heading-row{flex-direction:column;align-items:flex-start}.calendar-month{grid-template-columns:32px 1fr;gap:1rem;padding:1.8rem 0}.calendar-month-index{align-self:start;padding-top:.35rem}.calendar-month-name,.calendar-days,.calendar-pause,.calendar-graduation,.calendar-month-mark{grid-column:2}.calendar-days{margin-top:.5rem}.calendar-day{border-left:0;padding:0 .9rem 0 0}.calendar-day+.calendar-day{border-left:1px solid #1b433224;padding-left:.9rem}.calendar-day{grid-template-columns:1fr;gap:.35rem}.calendar-day strong{grid-row:1;font-size:3.5rem}.calendar-day span{grid-row:2}.calendar-month-mark{justify-self:start;margin-top:.5rem}.calendar-pause{border-left:0;padding-left:0}.calendar-ceremony-date{max-width:310px}.calendar-ceremony-date strong{font-size:6rem}}
