/* Approved Candidate A extension: keep the navy, cream, brass, typography and portrait.
   The calendar is a dated reading list, with separate visits and recurring local anchors. */
.portrait-study .community-calendar{padding:24px 5vw 72px;max-width:1800px;margin:auto;color:#f4eee2}
.calendar-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;align-items:end;margin-bottom:42px}
.portrait-study .calendar-heading h2{font-size:clamp(40px,4vw,58px);line-height:1.07;margin:0}
.calendar-heading>p{color:#d7cebf;max-width:48ch;margin:0;font-size:17px}
.calendar-entry{display:grid;grid-template-columns:200px minmax(0,1fr) 175px;gap:40px;padding:34px 0;border-top:1px solid #b89c6b55}
.calendar-date{font-size:18px;color:#e2cfaa;font-variant-numeric:tabular-nums;padding-top:5px}
.calendar-date span{display:block;font-size:13px;margin-top:4px;color:#d7cebf}
.portrait-study .community-calendar h3{font:500 27px/1.2 Clash,Arial,sans-serif;letter-spacing:-.015em;margin:0 0 12px;text-wrap:balance}
.calendar-description>p,.calendar-feature>p,.calendar-rhythms p{font-size:16px;line-height:1.8;max-width:64ch;color:#d7cebf;margin:0 0 14px}
.portrait-study .community-calendar .calendar-place{font-size:14px;color:#e2cfaa;margin-bottom:14px}
.calendar-action{align-self:center;font-size:14px}
.community-calendar a{display:inline-block;min-height:44px;align-content:center;color:#e2cfaa;text-decoration-thickness:1px}
.calendar-notes{font-size:14px;color:#d7cebf;margin-top:12px;max-width:64ch}
.calendar-notes summary{color:#e2cfaa;cursor:pointer;padding:10px 0;text-underline-offset:5px}
.calendar-notes summary:hover{text-decoration:underline}.calendar-notes summary:focus-visible{outline:2px solid #e2bb86;outline-offset:4px}
.calendar-notes p{margin:14px 0 0;line-height:1.8}.calendar-notes a{min-height:auto;display:inline}
.calendar-features{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:38px 0;border-top:1px solid #b89c6b55}
.calendar-feature{min-width:0}.calendar-feature a{font-size:14px}
.portrait-study .community-calendar .calendar-location{font-size:13px;color:#e2cfaa}
.calendar-rhythms{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid #b89c6b55;padding-top:36px}
.rhythm-links{display:flex;gap:28px;flex-wrap:wrap}.rhythm-links a{font-size:14px}
.calendar-verification{font-size:12px;color:#c5b79f;max-width:92ch;line-height:1.8;margin:34px 0 0}
@media(max-width:1000px){.calendar-entry{grid-template-columns:160px minmax(0,1fr);gap:18px 30px}.calendar-action{grid-column:2}.calendar-heading{gap:6vw}.portrait-header nav{gap:20px}}
@media(max-width:700px){.portrait-study .community-calendar{padding:14px 24px 46px}.calendar-heading{display:block;margin-bottom:30px}.portrait-study .calendar-heading h2{font-size:41px}.calendar-heading>p{font-size:16px;margin-top:24px}.calendar-entry{display:block;padding:27px 0}.calendar-date{margin-bottom:19px;padding:0;font-size:17px}.calendar-date span{font-size:13px}.portrait-study .community-calendar h3{font-size:25px}.calendar-action{margin-top:10px}.calendar-features,.calendar-rhythms{display:block;padding-top:28px}.calendar-features{padding-bottom:0;border:0}.calendar-feature{border-top:1px solid #b89c6b55;padding:28px 0}.calendar-rhythms h3{margin-bottom:20px!important}.calendar-verification{margin-top:24px}.portrait-header nav{gap:12px;font-size:12px}.portrait-locale{gap:8px}}
/* Keep the keyboard skip control out of scroll/element captures until focused. */
.portrait-study .skip:not(:focus-visible){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}

@media(max-width:700px){.portrait-header nav{flex-wrap:wrap;justify-content:flex-start;column-gap:20px;row-gap:0}.portrait-locale{margin-left:auto}}
