/* The calendar is the homepage's first and primary section. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:78px;border-bottom:0}
.wordmark{display:flex;align-items:center;gap:7px;font-family:var(--sans);font-weight:650;font-size:24px;letter-spacing:-1.1px;white-space:nowrap}
.wordmark>span{font-weight:400;color:#72806c}
.wordmark small{font-size:8px;letter-spacing:1.35px;margin-left:12px;font-weight:500;color:#87907e}
.schedule-section{padding-top:34px}
.calendar-heading{margin-bottom:24px;align-items:center}
.calendar-heading .eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:11px;color:#7b8772}
.calendar-heading h1{font-family:var(--serif);font-weight:400;font-size:46px;letter-spacing:-1.1px;line-height:1.15}
.calendar-heading .section-intro{margin-top:9px;font-size:12px}
.calendar-header-actions{display:flex;gap:17px;align-items:center}
.month-jump{font-size:11px;border-bottom:1px solid #bec8b4;padding:4px 0;font-weight:550}
.calendar-header-actions .text-button{font-size:11px;margin-left:10px}
.calendar-date-controls{display:flex;align-items:center;gap:18px}
.calendar-range{font-size:11px;color:#708067;white-space:nowrap;font-weight:550}
.calendar-status{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0 19px}
.calendar-status .date-help{font-size:11px;line-height:1.6;margin:0;color:#7a806e}
.calendar-status .date-help.warning{color:#a85b31}
.calendar-status .draft-label{font-size:10px}
.calendar-legend{display:flex;align-items:center;gap:22px;flex-wrap:wrap;font-size:10px;margin:0 0 17px;color:#6b7862}
.calendar-legend>span{display:flex;align-items:center;gap:7px}
.calendar-legend .legend-dot{height:8px;width:8px}
.legend-dot.rest{background:#a9b29e}
.calendar-hint{margin-left:auto;color:#8c9582;font-size:10px}
.calendar-hint svg{height:13px;width:13px}
.month-calendars{display:grid;grid-template-columns:1fr;gap:27px}
.calendar-month{background:#fffefa;border:1px solid #d8ddcf;border-radius:11px;overflow:hidden;scroll-margin-top:22px}
.month-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 23px;background:#f0f2e9;border-bottom:1px solid #d8ddcf}
.month-heading h2{font-family:var(--serif);font-size:30px;letter-spacing:-.6px;display:flex;gap:13px;align-items:baseline;line-height:1.2}
.month-heading h2>span{font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:0;color:#9aa28d}
.month-heading>span{font-size:10px;letter-spacing:.2px;color:#849076}
.calendar-table{width:100%;border-collapse:collapse;table-layout:fixed}
.calendar-table th{height:34px;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:550;color:#7b8771;text-align:left;padding:0 13px;background:#fafbf5;border-right:1px solid #e3e6db;border-bottom:1px solid #dfe4d5}
.calendar-table th:last-child{border-right:0}
.calendar-table td{height:112px;padding:0;border-right:1px solid #dfe4d5;border-bottom:1px solid #dfe4d5;vertical-align:top}
.calendar-table td:last-child{border-right:0}
.calendar-table tr:last-child td{border-bottom:0}
.calendar-empty{background:#f6f7f0;background-image:repeating-linear-gradient(-45deg,transparent,transparent 7px,#8a967907 7px,#8a967907 8px)}
.calendar-day{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:112px;height:100%;text-align:left;padding:10px 12px 13px;border:0;background:var(--day-background);color:var(--day-ink);position:relative;transition:filter .15s,box-shadow .15s}
.calendar-day:hover{filter:brightness(.975);box-shadow:inset 0 0 0 2px var(--day-accent);z-index:1}
.calendar-day:focus-visible{outline:3px solid var(--green);outline-offset:-3px;z-index:2}
.calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--day-accent)}
.calendar-cell.kind-bay{--day-background:#fbefe3;--day-ink:#754c2b;--day-accent:#d6a472}
.calendar-cell.kind-work{--day-background:#e8f0e2;--day-ink:#355a35;--day-accent:#8ca87a}
.calendar-cell.kind-hawaii{--day-background:#e3f0f0;--day-ink:#386c73;--day-accent:#79b0b9}
.calendar-cell.kind-parks{--day-background:#efe9f6;--day-ink:#69587e;--day-accent:#ab96c1}
.calendar-cell.kind-rest{--day-background:#f0f2e9;--day-ink:#617056;--day-accent:#b1bba4}
.calendar-cell.kind-outside{--day-background:#fcfcf8;--day-ink:#86917d;--day-accent:#c6cdbc}
.calendar-day-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:7px;gap:5px}
.calendar-number{font-size:17px;line-height:1.2;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)}
.calendar-cell.kind-outside .calendar-number{color:#9ca48f}
.calendar-week-label{font-size:8px;letter-spacing:.7px;border:1px solid color-mix(in srgb,var(--day-accent) 55%,transparent);border-radius:3px;padding:2px 4px;font-weight:600;opacity:.85}
.calendar-category{font-size:8px;letter-spacing:.7px;text-transform:uppercase;color:var(--day-ink);opacity:.8;line-height:1.4;margin-bottom:5px}
.calendar-event{font-size:12px;line-height:1.35;font-weight:600;max-width:100%;overflow-wrap:break-word}
.calendar-event-note{font-size:9px;line-height:1.35;margin-top:5px;opacity:.8}
.calendar-mobile-label,.weekday-short{display:none}
.calendar-bottom-note{margin:16px 0 20px;font-size:10px}
.calendar-bottom-note .print-button{font-size:10px}
.week-explorer{border:1px solid #d8ddcf;border-radius:9px;background:#fffefa;margin-top:20px;overflow:hidden}
.week-explorer>summary{display:flex;align-items:center;gap:20px;padding:17px 20px;cursor:pointer;list-style:none;font-size:13px;font-weight:550}
.week-explorer>summary::-webkit-details-marker{display:none}
.explorer-summary-note{font-weight:400;font-size:10px;color:#8b9581;margin-left:auto}
.explorer-plus{font-size:23px;font-weight:400;color:#87977a;line-height:1}
.week-explorer[open] .explorer-plus{transform:rotate(45deg)}
.explorer-body{padding:0 20px 20px}
.explorer-body .week-detail{margin-top:16px}
.hero{margin-top:49px;height:350px}
.hero-copy{top:33px;left:45px}
.hero h2{font-family:var(--serif);font-size:56px;line-height:1.05;letter-spacing:-1.4px;color:#fff9ee;margin-bottom:15px}
.hero h2 em{color:#f5d5ae;font-weight:400}
.hero-eyebrow{margin-bottom:14px;font-size:8px}
.hero-copy>p{font-size:12px;margin-bottom:18px;line-height:1.5}
.hero-copy .button{font-size:11px;padding:10px 16px}
.hero-postcard{width:205px;right:58px;top:50px}
.hero-postcard img{height:125px}
.hero-postcard>div{font-size:18px}
.hero-bottom{left:45px;bottom:18px;font-size:9px}
.trip-strip{padding:21px 8px}
.footer-wordmark{font-size:22px}
.day-dialog{padding:0;width:min(550px,calc(100% - 28px));overflow:auto;border-radius:13px}
.day-dialog-photo{position:relative;height:185px;background:#e5ebdd;overflow:hidden}
.day-dialog-photo>img{width:100%;height:100%;object-position:center 45%}
.day-dialog-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#173a2c45);pointer-events:none}
.day-close{position:absolute;top:13px;right:13px;width:32px;height:32px;background:#fffdf4f0;z-index:2}
.day-dialog-photo .week-badge{position:absolute;bottom:14px;left:24px;z-index:1}
.day-dialog-body{padding:25px 27px}
.day-dialog-body>.eyebrow{font-size:8px;letter-spacing:1.2px;color:#88957c}
.day-dialog-body h2{font-size:34px;letter-spacing:-.7px;line-height:1.15;margin-top:11px}
.day-description{font-size:13px;line-height:1.8;color:#6e7c65;margin-top:16px}
.day-routine{margin-top:17px;border-top:1px solid var(--line)}
.day-routine>div{display:flex;gap:18px;font-size:11px;padding:9px 0;border-bottom:1px solid var(--line)}
.day-routine strong{min-width:59px;font-weight:600}
.day-routine span{color:#7d8973}
.day-planning-note{display:flex;align-items:flex-start;gap:9px;padding:13px;margin-top:19px;background:#eff2e7;border-radius:6px;font-size:10px;line-height:1.7;color:#78866b}
.day-planning-note svg{width:14px;height:14px;flex-shrink:0;margin-top:2px}
.day-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}
.day-dialog-actions .button{font-size:11px;padding:11px 14px;gap:10px}
.day-dialog-actions svg{width:15px;height:15px}
.day-draft-label{font-size:9px;color:#9aa28e;margin-top:16px}
@media(min-width:1550px){.hero{height:350px}.hero-copy{top:34px}.hero-postcard{top:50px;right:68px}}
@media(max-width:1100px){.wordmark small{display:none}.calendar-heading h1{font-size:42px}.calendar-header-actions{gap:14px}.calendar-header-actions .text-button{margin-left:3px}.calendar-date-controls{gap:12px}.calendar-range{font-size:10px}.calendar-legend{gap:18px}.calendar-event{font-size:11px}.calendar-day{padding:10px}.calendar-table th{padding:0 11px}.month-heading h2{font-size:28px}.hero{height:340px}.hero h2{font-size:52px}.hero-copy{left:37px}.hero-bottom{left:37px}}
@media(max-width:850px){.site-header{height:72px}.wordmark{font-size:23px}.calendar-heading{align-items:flex-start}.calendar-header-actions{gap:15px}.calendar-heading h1{font-size:39px}.calendar-heading .section-intro{font-size:11px}.calendar-date-controls{gap:10px}.calendar-range{display:none}.calendar-legend{font-size:9px;gap:13px}.calendar-hint{display:none!important}.calendar-status .date-help{font-size:10px}.calendar-status .draft-label{font-size:9px}.month-heading{padding:16px 18px}.month-heading>span{font-size:9px}.calendar-table td,.calendar-day{min-height:117px;height:117px}.calendar-event{font-size:10px;line-height:1.4}.calendar-category{font-size:7px;letter-spacing:.3px}.calendar-event-note{font-size:8px}.calendar-day{padding:9px}.calendar-number{font-size:16px}.calendar-table th{font-size:9px;padding:0 9px}.calendar-week-label{font-size:7px;padding:2px 3px}.month-calendars{gap:23px}.calendar-bottom-note{font-size:9px}.explorer-summary-note{font-size:9px}.hero{height:330px}.hero h2{font-size:48px}.hero-copy{top:31px;left:30px}.hero-postcard{width:170px;top:63px;right:33px}.hero-postcard img{height:108px}.hero-postcard>div{font-size:17px}.hero-bottom{left:30px;right:25px}.day-dialog-body h2{font-size:31px}}
@media(max-width:620px){.site-header{height:67px}.wordmark{font-size:21px;gap:5px}.site-header nav{gap:11px}.schedule-section{padding-top:27px}.calendar-heading{gap:16px;margin-bottom:19px}.calendar-heading .eyebrow{font-size:7px;letter-spacing:1.15px;margin-bottom:9px}.calendar-heading h1{font-size:35px;letter-spacing:-.8px}.calendar-heading .section-intro{font-size:10px;max-width:300px}.calendar-header-actions{width:100%;gap:19px}.month-jump{font-size:10px;padding:3px 0}.calendar-header-actions .text-button{margin-left:auto;font-size:10px}.plan-toolbar{gap:11px}.calendar-date-controls{display:block;width:100%}.calendar-date-controls .arrival-control{width:100%}.calendar-status{margin:12px 0 15px;align-items:flex-start}.calendar-status .date-help{font-size:9px}.calendar-status .draft-label{display:none}.calendar-legend{gap:8px 12px;font-size:8px;line-height:1.5;margin-bottom:13px}.calendar-legend>span{gap:5px}.calendar-legend .legend-dot{width:6px;height:6px}.calendar-month{border-radius:8px}.month-heading{padding:14px}.month-heading h2{font-size:26px;gap:10px}.month-heading h2>span{font-size:10px}.month-heading>span{display:none}.calendar-table th{height:28px;text-align:center;padding:0;font-size:8px;letter-spacing:0}.weekday-long{display:none}.weekday-short{display:inline}.calendar-table td,.calendar-day{height:92px;min-height:92px}.calendar-day{padding:7px 4px 6px}.calendar-day-top{margin-bottom:7px;align-items:flex-start;gap:2px}.calendar-number{font-size:13px;padding-left:2px}.calendar-week-label{font-size:5px;padding:2px;letter-spacing:0;border:0}.calendar-category,.calendar-event,.calendar-event-note{display:none}.calendar-mobile-label{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:9px;font-weight:550;line-height:1.3;overflow-wrap:break-word;width:100%;padding:0 2px}.calendar-cell.kind-outside .calendar-mobile-label{font-size:8px;font-weight:400}.month-calendars{gap:19px}.calendar-bottom-note{align-items:flex-start;gap:12px;font-size:8px;line-height:1.6;margin-bottom:16px}.calendar-bottom-note p{max-width:230px}.calendar-bottom-note .print-button{font-size:8px;gap:5px}.calendar-bottom-note .print-button svg{width:12px;height:12px}.week-explorer>summary{padding:15px;font-size:11px;gap:12px}.explorer-summary-note{display:none}.explorer-plus{margin-left:auto}.explorer-body{padding:0 12px 12px}.explorer-body .week-detail{margin-top:12px}.hero{margin-top:32px;height:350px}.hero-copy{left:24px;top:28px}.hero h2{font-size:43px;margin-bottom:12px}.hero-eyebrow{font-size:6px;letter-spacing:1.4px;margin-bottom:14px}.hero-copy>p{font-size:10px;line-height:1.6;margin-bottom:17px}.hero-copy .button{font-size:10px;padding:10px 13px}.hero-postcard{width:112px;right:20px;top:auto;bottom:55px;padding:6px}.hero-postcard img{height:68px}.hero-postcard>div{font-size:12px;margin-top:6px}.postcard-label{font-size:4px;letter-spacing:.5px;margin-bottom:5px}.hero-bottom{left:24px;right:20px;bottom:19px;font-size:8px}.trip-strip{padding:18px 0}.day-dialog-photo{height:155px}.day-dialog-body{padding:21px}.day-dialog-body h2{font-size:29px}.day-dialog-body>.eyebrow{font-size:7px;line-height:1.7}.day-description{font-size:12px;margin-top:14px}.day-planning-note{font-size:9px;padding:11px}.day-routine>div{font-size:10px;gap:12px}.day-dialog-actions .button{font-size:10px;padding:10px 12px}.day-dialog-photo .week-badge{left:21px}.day-draft-label{font-size:8px}.footer-wordmark{font-size:21px}}
@media print{.day-dialog{display:none!important}}

/* Match the continuous day-card table in the tank2026 reference. */
body{background:#f6f7f5}
.schedule-section .calendar-heading .eyebrow{color:#258c91;font-size:10px;font-weight:700;letter-spacing:.8px}
.schedule-section .calendar-heading h1{font-family:var(--sans);font-size:46px;line-height:1.15;letter-spacing:-1.7px;font-weight:700;color:#17212f}
.schedule-section{padding-top:16px}
.calendar-options{margin-top:18px;margin-bottom:14px}
.calendar-options .explorer-body{padding-top:3px}
.calendar-options .calendar-header-actions{flex-wrap:wrap}
.calendar-options .calendar-bottom-note{margin-bottom:0;padding-bottom:0;border-bottom:0}
.calendar-board{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border:1px solid #dce2e5;background:#fff;border-radius:9px;padding:7px 9px 9px;box-shadow:0 6px 24px #17212f06;overflow:hidden}
.calendar-scroll{width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c3d0ca transparent;outline-offset:-3px}
.table-scroll-hint{display:none}
.calendar-board .calendar-table{table-layout:fixed;border-collapse:separate;border-spacing:8px 9px;width:100%;min-width:1050px}
.calendar-board .calendar-table th{border:0;height:24px;background:transparent;text-align:center;padding:0;color:#76818b;font-size:14px;line-height:18px;font-weight:800;letter-spacing:0}
.calendar-board .calendar-table td{padding:0;border:0;height:1px;vertical-align:top;scroll-margin-top:20px}
.calendar-board .calendar-table .calendar-empty{background:transparent;border:0}
.calendar-board .calendar-day{font-family:inherit;border:1px solid var(--card-border);border-left:4px solid #2970bb;border-radius:8px;padding:10px 10px 12px;min-height:140px;height:100%;background:linear-gradient(180deg,var(--day-background),var(--card-bottom));color:#18212f;box-shadow:none}
.calendar-board .calendar-day:hover{box-shadow:0 3px 12px #25445417;filter:none;border-color:#8ba8b9;transform:none;z-index:1}
.calendar-board .calendar-day:focus-visible{outline:3px solid #287bad;outline-offset:2px;z-index:2}
.calendar-board .calendar-day.is-selected{border-color:#287bad;box-shadow:0 0 0 1px #287bad}
.calendar-board .kind-bay{--day-background:#eff8ef;--card-bottom:#fcfdf9;--card-border:#c4ddce;--pill:#1f6b53}
.calendar-board .kind-work{--day-background:#eff5ff;--card-bottom:#fbfcff;--card-border:#c8dcf4;--pill:#2b5d99}
.calendar-board .kind-hawaii{--day-background:#f4f1ff;--card-bottom:#faf9ff;--card-border:#d6cfee;--pill:#6457a3}
.calendar-board .kind-parks{--day-background:#fff5df;--card-bottom:#fffdf6;--card-border:#f0ddb3;--pill:#a57429}
.calendar-board .kind-rest{--day-background:#f0f7ef;--card-bottom:#fbfdf9;--card-border:#cfe1ce;--pill:#3e6d50}
.calendar-board .kind-outside{--day-background:#f7f9fa;--card-bottom:#fff;--card-border:#e0e6e9;--pill:#74828d}
.calendar-board .kind-outside .calendar-day,.calendar-board .calendar-day.is-transition{border-left-color:var(--card-border)}
.calendar-board .calendar-day-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:8px;gap:5px}
.calendar-board .calendar-number{font-size:14px;font-weight:800;line-height:1.3;color:#6d7680;padding:0;font-variant-numeric:normal;white-space:nowrap}
.calendar-emoji{font-size:18px;line-height:1;width:30px;height:30px;flex-shrink:0;border:1px solid #c5d1d4;background:#dfebed;box-shadow:inset 0 1px 1px #ffffffbd;border-radius:9px;display:flex;align-items:center;justify-content:center}
.calendar-emoji[data-emoji="🍽️"]{background:#f8eadd;border-color:#decec1}
.calendar-emoji[data-emoji="🏀"]{background:#e8e3f4;border-color:#d0c9df}
.calendar-emoji[data-emoji="🌳"],.calendar-emoji[data-emoji="🏡"]{background:#e3eadc;border-color:#c7d0bf}
.calendar-board .calendar-event{display:block;font-size:16px;line-height:1.2;font-weight:700;letter-spacing:-.25px;margin:0 0 6px;overflow:visible;max-width:100%;overflow-wrap:normal;color:#18212f}
.calendar-location{display:inline-block;max-width:100%;padding:5px 8px;background:var(--pill);color:#fff;border-radius:50px;font-size:12px;line-height:1.12;font-weight:800;letter-spacing:0;text-align:center;align-self:flex-start;margin-bottom:7px;overflow-wrap:normal}
.calendar-location.location-specific{background:#18212f}
.calendar-description{font-size:13px;color:#4e5e6d;line-height:1.35;font-weight:400;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;width:100%}
.calendar-board .calendar-cell.kind-outside .calendar-number{color:#7b8991}
.calendar-header-actions .month-jump{border-color:#bdcdd2}
@media(min-width:1450px){.calendar-board .calendar-day{padding:11px 12px 13px}.calendar-description{font-size:14px}.calendar-location{font-size:13px}}
@media(max-width:1180px){.table-scroll-hint{display:block;font-size:10px;color:#7d8a92;padding:1px 8px 8px}.calendar-board .calendar-table{border-spacing:7px 9px}}
@media(max-width:850px){.schedule-section .calendar-heading h1{font-size:39px;letter-spacing:-1.2px}.calendar-board{padding:10px}.calendar-legend{font-size:9px}.camp-heading{align-items:flex-start}.camp-heading .small-tag{font-size:7px;max-width:175px;white-space:normal;text-align:right;background:transparent}}
@media(max-width:620px){.schedule-section{padding-top:12px}.calendar-board{padding:6px;border-radius:8px}.calendar-board .calendar-table{min-width:1050px;border-spacing:7px 8px}.calendar-board .calendar-day{padding:10px 10px 12px;min-height:140px}.calendar-board .calendar-table th{font-size:13px;height:24px;padding:0}.calendar-board .calendar-day-top{margin-bottom:8px}.calendar-board .calendar-number{font-size:14px}.calendar-board .calendar-event{display:block;font-size:16px;line-height:1.2;margin-bottom:6px}.calendar-emoji{width:30px;height:30px;font-size:18px}.calendar-location{font-size:12px;margin-bottom:7px}.calendar-description{font-size:13px;line-height:1.35}.table-scroll-hint{font-size:9px;line-height:1.6;padding:3px 5px 5px}.calendar-legend>span{font-size:8px}.camp-heading .small-tag{max-width:145px;font-size:7px}.calendar-bottom-note p{max-width:none}.calendar-options .calendar-header-actions{gap:14px}.calendar-options .calendar-header-actions .text-button{margin-left:0}}

/* Warriors identity, with the calendar immediately below navigation. */
.site-mark{width:56px;height:56px;object-fit:contain;flex-shrink:0;margin-right:5px}
.footer-wordmark .site-mark{width:48px;height:48px}
@media(max-width:620px){.site-mark{width:44px;height:44px;margin-right:3px}.wordmark{font-size:19px}.footer-wordmark .site-mark{width:42px;height:42px}}

.site-header nav a[aria-current="page"]{color:#1f6b53;font-weight:700;box-shadow:0 2px 0 #1f6b53;padding-bottom:4px}
