/* Personal copy, consistent event gutters and a calendar without a day rail. */
.site .process-intro{max-width:78ch;font-size:15px;line-height:1.7;color:var(--quiet);margin-top:24px}
.site .about-copy>.about-personal{margin-top:18px!important}
.site .event-section{padding-top:26px;padding-bottom:0}
.site .event-section>.event-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin:0;padding:28px 0}
.site .event-callout>div{min-width:0}
.site .event-callout h3{max-width:28ch;text-wrap:balance}
.site .event-callout>button{white-space:normal;max-width:100%;justify-self:start}
.date-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--rule);border-radius:30px;padding:4px;margin-top:24px}
.site .date-mode-picker button{border-radius:25px;padding:10px 12px;text-align:center;font-size:13px;color:var(--quiet);min-width:0;line-height:1.3}
.site .date-mode-picker button[aria-pressed="true"]{background:var(--text);color:var(--paper)}
.exact-dates-panel,.range-dates-panel{margin-top:22px}
.calendar-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px}
.site .calendar-nav>button{border:1px solid var(--control,var(--rule));border-radius:50%;width:44px;height:44px;text-align:center;font-size:22px;line-height:1}
.site .calendar-nav>button:disabled{opacity:.3;cursor:default}
.calendar-period{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}
.site .calendar-period select{width:auto;min-width:0;max-width:calc(100% - 78px);padding:8px 4px;min-height:44px;border-bottom:1px solid var(--rule);font-size:15px;background:transparent}
.site .calendar-period input{width:72px;min-width:0;min-height:44px;padding:7px 4px;text-align:center;font-size:15px;border-bottom:1px solid var(--rule);background:transparent}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center;color:var(--quiet);font-size:10px;font-weight:400;letter-spacing:.08em;margin-top:18px}
.site .calendar-grid[data-dates]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;overflow:visible;margin:8px 0 0;padding:0;scroll-padding:0}
.site .calendar-grid .calendar-day{display:block;min-width:0;min-height:44px;padding:7px 0;border-radius:6px;text-align:center;font-size:18px;font-weight:300;line-height:1.3;border:1px solid transparent}
.site .calendar-day[aria-current="date"]{border-color:var(--control,var(--quiet))}
.site .calendar-day:not(:disabled):not(.on):hover{background:var(--surface,var(--b-field))}
.site .calendar-day:disabled{color:var(--quiet);opacity:.32;cursor:default}
.calendar-selected{font-size:11px;line-height:1.6;color:var(--quiet);margin-top:12px!important}
.date-help{margin-top:15px;border-top:1px solid var(--rule);padding-top:8px}
.date-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:13px;text-decoration:underline;text-underline-offset:4px;list-style:none}
.date-help summary::-webkit-details-marker{display:none}
.date-help summary::after{content:'?';display:grid;place-items:center;flex:none;margin-left:10px;border:1px solid var(--control,var(--quiet));border-radius:50%;width:18px;height:18px;font-size:11px;text-decoration:none}
.date-help p,.range-dates-panel>p{font-size:13px;line-height:1.65;color:var(--quiet);max-width:52ch}
.site .date-help .h-text-link{font-size:13px;margin-top:10px;min-height:44px}
.range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 14px}
.site .range-fields .b-field{min-width:0;padding:12px}
.site .range-fields input[type="date"]{min-width:0;width:100%;font-size:15px;line-height:1.4}
.site .range-fields input::-webkit-date-and-time-value{text-align:left}
.range-time{margin-top:14px}
.range-footnote{margin-top:14px!important}
@media(max-width:700px){
 .site .process-intro{font-size:13px;line-height:1.7;margin-top:18px}
 .site .about-copy>.about-personal{font-size:14px;line-height:1.75}
 .site .event-section{padding-top:24px;padding-bottom:0}
 .site .event-section>.event-callout{grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 0}
 .site .event-callout>button{margin-top:0;min-height:44px;font-size:13px}
 .site .event-callout h3{font-size:22px;line-height:1.3}
 .date-mode-picker{margin-top:22px}
 .site .date-mode-picker button{font-size:12px}
 .exact-dates-panel,.range-dates-panel{margin-top:20px}
 .site .range-fields input[type="date"]{font-size:16px}
 .site .range-fields .b-field>span{font-size:10px;letter-spacing:.1em}
 .date-help p,.range-dates-panel>p{font-size:12px}
}
@media(max-width:359px){
 .calendar-nav{gap:5px;grid-template-columns:40px minmax(0,1fr) 40px}
 .site .calendar-nav>button{width:40px}
 .calendar-period{gap:5px}
 .site .calendar-period select{font-size:13px;max-width:calc(100% - 66px)}
 .site .calendar-period input{font-size:14px;width:62px}
 .range-fields{grid-template-columns:minmax(0,1fr)}
}

/* Four manually browsed hero frames; supplied first image stays original on disk. */
.site .hero-gallery{overflow:hidden;min-width:0}
.hero-photo-rail{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.hero-photo-rail::-webkit-scrollbar{display:none}
.hero-slide{flex:0 0 100%;height:100%;min-width:0;scroll-snap-align:start}
.site .hero-slide>.hero-original{display:block;width:100%;height:100%;object-fit:cover}
.site .hero-slide>.hero-photo-warm{filter:sepia(.09) saturate(1.04);object-position:50% 62%}
.site .hero-gallery>figcaption{position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:35px 18px 16px;background:linear-gradient(transparent,rgba(18,25,33,.38));pointer-events:none;line-height:1.2;font-size:20px}
.hero-gallery-controls{display:flex;align-items:center;gap:6px;pointer-events:auto;flex-shrink:0}
.hero-gallery-count{font-family:Commissioner,Arial,sans-serif;font-size:10px;letter-spacing:.08em;margin-right:4px;white-space:nowrap}
.site .hero-gallery-controls button{border:1px solid #ffffff80;border-radius:50%;background:#ffffffd9;color:#252c36;width:36px;height:36px;text-align:center;font-family:Arial,sans-serif;font-size:20px;text-shadow:none;line-height:1}
.site .hero-gallery-controls button:disabled{opacity:.45;cursor:default}
.site .hero-gallery-controls button:focus-visible,.hero-photo-rail:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
@media(max-width:359px){.site .hero-gallery>figcaption{font-size:17px;padding-inline:13px}.hero-gallery-count{display:none}}
