/* A calm, mobile-first workspace. No remote fonts or decorative image substitutions. */
.calendar-marker-more {display:block;text-align:center;font-size:10px;color:#64758c;line-height:1.6}
.calendar-more-events {display:grid;gap:12px}
.calendar-more-events>summary {cursor:pointer;min-height:44px;padding:10px 12px;border:1px solid #dce5f2;border-radius:10px;color:#245bdc;font-size:13px}
.calendar-more-events[open]>.calendar-event {margin-top:12px}
.brief-copy-fallback {display:block;width:100%;max-width:100%;min-height:78px;margin-bottom:16px}
@media print {.brief-copy-fallback {display:none!important}}
:root {--experience-ink:#16314e; --experience-blue:#245bdc; --experience-muted:#60748c; --experience-line:#e0e7f0; --experience-radius:20px}

html {scroll-padding-top:88px; scrollbar-gutter:stable}
body {font-family:Inter,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif; background:radial-gradient(ellipse at 100% 0,#edf3ff 0,transparent 46%),#f7f9fc; color:var(--experience-ink); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; line-height:1.65}
h1,h2,h3 {font-weight:650; text-wrap:balance}
a,button,input,select,textarea {-webkit-tap-highlight-color:transparent}
a,button {touch-action:manipulation}
button,input,select,textarea {font-family:inherit}
button,a.btn {transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}
input,select,textarea {background:#fff; min-height:46px; font-size:15px}
input:focus,select:focus,textarea:focus {box-shadow:0 0 0 4px #245bdc12; border-color:#7799e6}
textarea {line-height:1.8}
a:focus-visible,button:focus-visible {outline:3px solid #2462d6; outline-offset:3px}
.btn {min-height:44px; border-radius:11px}
.btn.primary {background:#245bdc!important; border-color:#245bdc!important}
.btn:hover {transform:none; box-shadow:0 3px 12px #193c6b0a}
.topbar {background:#ffffffed; backdrop-filter:blur(16px); border-bottom:1px solid #e7edf6}
.section {max-width:1200px; padding-left:28px; padding-right:28px}
.experience-eyebrow {font-size:11px; letter-spacing:.14em; font-weight:650; color:#5c78a0; margin:0 0 8px; text-transform:uppercase}
.home-calendar>.section-head {padding:14px 0 4px; align-items:center; margin-bottom:22px}
.home-calendar>.section-head:before {display:none}
.home-calendar>.section-head h1 {font-size:clamp(28px,3.8vw,43px); font-weight:650; letter-spacing:-.04em!important; line-height:1.3}
.home-calendar>.section-head p:not(.experience-eyebrow) {margin-top:9px; font-size:14px; color:var(--experience-muted)}
.calendar-all {border-radius:12px; background:#fff; padding:11px 16px; white-space:nowrap}
.calendar-card,.home-calendar .calendar-card {border-radius:var(--experience-radius); border:1px solid #dce5f2; box-shadow:0 12px 45px #1b3b6b05}
.calendar-toolbar {height:88px; padding:16px 24px; background:#fff; grid-template-columns:96px 1fr 96px}
.calendar-month strong {font-size:24px; font-weight:650; letter-spacing:-.035em}
.calendar-month span {font-size:12px; color:#6d7f96}
.calendar-nav {width:auto; min-height:44px; border-radius:12px; background:#f6f8fc; justify-content:center; padding:0 10px; border:1px solid #e2e9f4}
.calendar-nav:last-child {justify-content:center}
.calendar-nav span {font-size:12px}
.calendar-jumpbar {display:flex; align-items:center; justify-content:space-between; gap:16px; background:#fff; padding:0 24px 15px}
.calendar-today {display:flex; align-items:center; min-height:40px; color:#305da7; font-size:12px}
.calendar-jump {display:flex; align-items:center; gap:9px; margin:0}
.calendar-jump label {margin:0; white-space:nowrap; color:#6b7d93; font-size:12px}
.calendar-jump input {width:144px; min-height:38px; font-size:12px; padding:6px 9px; background:#f8fafd; border-color:#e1e8f1}
.calendar-go {min-height:38px; padding:5px 12px; border:1px solid #dbe5f4; border-radius:8px; font-size:12px; background:#fff; color:#305da7; cursor:pointer}
.schedule-legend {padding:0 24px 16px; justify-content:flex-start; gap:14px 24px; border-top:0; background:#fff}
.schedule-legend>span {font-size:12px; color:var(--state,#61738b)}
.schedule-legend i {width:7px; height:7px}
.calendar-weekdays {background:#f5f8fc; border-bottom:1px solid #e5ecf5}
.calendar-weekdays span {font-size:10px; font-weight:600; letter-spacing:.06em; padding:10px 0}
.calendar-grid {gap:1px; background:#e9eef5}
.calendar-day,.home-calendar .calendar-day {padding:10px; min-height:94px; background:#fbfcfe}
.calendar-day.has-sessions {background:#fff}
.calendar-day.blank {background:#f5f7fb}
.calendar-day.today {background:#f0f5ff}
.calendar-day.is-selected {box-shadow:inset 0 0 0 2px #245bdc}
.calendar-day-top {margin-bottom:7px}
.calendar-day-top b {font-size:13px}
.calendar-day-top a {min-height:28px}
.calendar-day-top .day-count {font-size:10px; color:#7b8da2}
.calendar-day-link:after {z-index:2; border-radius:7px}
.calendar-day-link:focus-visible {outline:0}
.calendar-day-link:focus-visible:after {outline:3px solid #245bdc; outline-offset:-3px}
.calendar-marker {position:relative; z-index:1; pointer-events:none; font-size:12px; border:0; min-height:26px; border-radius:6px; padding:4px 6px; gap:5px; transition:filter .18s}
.calendar-marker small {font-size:10px}
.calendar-footnote {background:#fff; padding:13px 22px; margin:0; font-size:11px; line-height:1.7; color:#7a8b9f; border-top:1px solid #e9eef5}
.calendar-empty {padding:26px 18px; text-align:center}
.calendar-empty strong {display:block; font-size:17px; color:#355479}
.calendar-empty p {font-size:13px; color:#6d7f96}
.calendar-head h2 {font-size:28px}
.home-intro {padding-top:31px!important; padding-bottom:18px}
.home-heading {gap:18px}
.home-heading h2 {font-size:25px; letter-spacing:-.03em; line-height:1.45}
.home-heading a {white-space:nowrap; color:#48688d; font-size:12px}
.core-grid {gap:18px}
.core-card {border-radius:16px; border-color:#dee6f0; box-shadow:0 3px 18px #1f3f6f03; transition:transform .24s,box-shadow .24s,border-color .24s}
.core-card:hover {transform:translateY(-3px); box-shadow:0 12px 32px #1f3f6f0c; border-color:#adc3ed}
.core-card .core-link {display:flex; flex-direction:column; height:100%}
.core-card .core-link>img {width:100%; height:194px; aspect-ratio:1.7; object-fit:cover}
.core-body {padding:21px; display:flex; flex-direction:column}
.core-body h2 {font-size:20px; line-height:1.5; letter-spacing:-.025em}
.core-body .card-meta {font-size:11px; color:#5d7b9f}
.core-body .card-unit {font-size:12px; line-height:1.7; margin-bottom:12px}
.core-body .card-price {font-size:18px; font-weight:650; margin:8px 0 13px; color:#284f8a}
.card-price small {font-size:10px; font-weight:400; color:#73849c}
.core-body .card-action {font-size:12px; min-height:43px}
.photo-reference {font-size:9px; top:23px; right:20px}
.core-body .availability {font-size:12px}
.core-body .home-dates span {font-size:11px}
.learning-card {border-radius:18px}
.partner-strip {border-radius:16px; background:linear-gradient(105deg,#f1f5fe,#fff); padding:27px; border-color:#dce5f3}
.partner-strip h3 {font-size:21px}
.simple-disclosure {border-radius:12px}
.schedule-product-row {border:1px solid #e0e8f2; border-radius:16px; padding:21px; box-shadow:0 4px 22px #233f6603}
.schedule-product-row .product-thumb {width:64px; height:64px; border-radius:14px}
.schedule-product-main h2 {font-size:20px}
.schedule-group-list {display:grid; gap:16px}
.schedule-results .toolbar {padding:0; margin:0 0 22px; gap:14px}
.schedule-results .filterbar {gap:8px; display:flex; flex-wrap:wrap}
.chip {border-color:#dce5f1; border-radius:999px; min-height:40px; font-size:12px}
.chip.active {background:#245bdc; color:#fff}
.schedule-results .search-label {flex:1; max-width:460px; font-size:12px; color:#657992}
.schedule-results .search-label input {margin-top:6px}
.date-chip {min-width:165px; border-left-width:2px; border-radius:11px; padding:12px 14px; gap:6px; transition:box-shadow .18s,transform .18s}
.date-chip:hover {transform:translateY(-1px); box-shadow:0 4px 14px #23436a08}
.date-chip b {font-size:13px}
.date-chip span {font-size:11px}
.date-chip strong {font-size:14px; font-weight:600}
.date-chip em {font-size:10px}
.schedule-product-row .date-chip-list {gap:10px}
.panel,.detail-panel,.auth-card {border-color:#e0e7f1; border-radius:16px; box-shadow:0 4px 20px #243f6703}
.auth-card {box-shadow:0 18px 70px #17375e08}
.auth-card h1 {font-size:31px}
.auth-card label {font-size:13px}
.auth-card input {font-size:16px; min-height:48px}
.auth-card .btn.primary {min-height:48px}
.work-tabs {scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#ced9eb transparent; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch}
.work-tabs a {scroll-snap-align:start; border-radius:9px 9px 0 0}
.action-tile {border-radius:15px; box-shadow:0 4px 22px #294d7b04}
.workspace-shell .stats-grid {border-radius:16px}
.workspace-shell .resource-row {border-radius:12px}
.review-item,.review-body {border-radius:12px}
.workspace-shell .section-head h1 {letter-spacing:-.03em}
.table-wrap {scrollbar-width:thin; scrollbar-color:#cbd8eb #f6f8fb; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch}
th {background:#f7f9fc!important; font-size:11px; color:#6d7f96}
td {font-size:13px}
tr:hover td {background:#fafcff}
.table-wrap td input,.table-wrap td select {font-size:14px}
.photo-gallery figure {border-radius:14px}
.photo-gallery img {background:#eef3f9; object-fit:contain}
.photo-gallery figcaption {line-height:1.7}
.photo-gallery:focus-visible {outline:3px solid #245bdc; outline-offset:4px}
.detail-copy {line-height:1.95; color:#3d5673; max-width:76ch}
.product-thumb {background:#edf3fb}
.calendar-dialog-open {overflow:hidden}
.calendar-day-dialog {width:min(600px,calc(100% - 40px)); max-height:min(82dvh,760px); border:1px solid #dce5f2; border-radius:24px; padding:25px; color:#16304f; box-shadow:0 30px 120px #0c284c30; overflow:auto; background:#fff}
.calendar-day-dialog::backdrop {background:#122d4f66; backdrop-filter:blur(4px)}
.calendar-dialog-head {display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:22px}
.calendar-dialog-head h2 {font-size:24px; margin:0; line-height:1.5; letter-spacing:-.025em}
.calendar-dialog-close {width:44px; height:44px; flex-shrink:0; border:1px solid #e4eaf3; border-radius:50%; font-size:25px; background:#f7f9fc; color:#59728f; cursor:pointer; line-height:1}
.calendar-dialog-events {display:grid; gap:12px; margin-bottom:18px}
.calendar-event {padding:17px; border:1px solid #e2e9f2; border-radius:14px; background:#fff}
.calendar-event[hidden] {display:none}
.calendar-event-top {display:flex; justify-content:space-between; align-items:center; gap:10px}
.calendar-event-city {color:#6b819c; font-size:11px}
.calendar-event-status {display:flex; align-items:center; gap:6px; background:var(--tint); color:var(--state); font-size:11px; padding:3px 8px; border-radius:30px}
.calendar-event-status i {width:5px; height:5px; border-radius:50%; background:var(--state)}
.calendar-event h3 {font-size:18px; line-height:1.5; margin:11px 0 5px}
.calendar-event p {font-size:12px; color:#70829a; margin:0 0 14px}
.calendar-event-bottom {display:flex; justify-content:space-between; align-items:center; gap:14px}
.calendar-event-bottom strong {font-size:18px; color:#28538c}
.calendar-event-bottom strong small {font-size:10px; margin-left:3px; color:#7789a0; font-weight:400}
.calendar-event-bottom .btn {font-size:12px; white-space:nowrap}
.calendar-day-dialog>#calendar-dialog-all {font-size:13px}

@media(min-width:1000px) {.section {padding-top:30px; padding-bottom:30px}
.home-calendar {padding-top:24px; padding-bottom:8px}
.home-calendar>.section-head {margin-bottom:23px}
.calendar-day,.home-calendar .calendar-day {min-height:93px}
.core-card .core-link>img {height:202px}
.core-section {padding-top:0}
.home-intro {padding-top:30px!important}
}

@media(max-width:760px) {html {scroll-padding-top:76px}
.section {padding-left:18px; padding-right:18px}
.topbar {padding-left:18px; padding-right:18px}
.home-calendar {padding-top:19px; padding-bottom:8px}
.home-calendar>.section-head {align-items:center; gap:12px; margin-bottom:16px; padding:5px 0 0}
.home-calendar>.section-head h1 {font-size:26px; line-height:1.4}
.home-calendar>.section-head .experience-eyebrow {font-size:8px; margin:0 0 5px; letter-spacing:.08em}
.home-calendar>.section-head p:not(.experience-eyebrow) {font-size:11px; margin-top:5px; max-width:245px; line-height:1.7}
.calendar-all {font-size:11px; border:0; padding:0; color:#345c9e; gap:4px; align-self:flex-end; margin-bottom:3px}
.calendar-card,.home-calendar .calendar-card {border-radius:15px}
.calendar-toolbar {height:75px; grid-template-columns:44px 1fr 44px; padding:12px 13px}
.calendar-nav {width:44px; min-height:44px; padding:0; border-radius:11px}
.calendar-nav span {display:none}
.calendar-nav .ui-icon {width:18px; height:18px}
.calendar-month strong {font-size:21px}
.calendar-month span {font-size:10px}
.calendar-jumpbar {padding:0 13px 12px; gap:8px}
.calendar-today {font-size:12px; min-height:44px}
.calendar-jump {gap:5px}
.calendar-jump label {display:none}
.calendar-jump input {width:145px; min-height:44px; height:44px; padding:6px; font-size:16px}
.calendar-go {font-size:12px; min-height:44px; padding:6px 10px}
.schedule-legend {padding:0 12px 12px; gap:6px 13px; justify-content:flex-start}
.schedule-legend>span {font-size:9px; gap:4px}
.schedule-legend .legend-label {display:none}
.schedule-legend i {width:6px; height:6px}
.calendar-weekdays span {font-size:9px; padding:8px 0; letter-spacing:0}
.calendar-day,.home-calendar .calendar-day {min-height:69px; padding:5px 3px}
.calendar-day-top {margin-bottom:4px; min-height:22px; justify-content:center}
.calendar-day-top>a {justify-content:center; min-height:24px; gap:2px}
.calendar-day-top b,.has-sessions .calendar-day-top b {font-size:12px}
.calendar-day-top .day-count {display:none}
.calendar-day-top em {display:none}
.calendar-day.today .calendar-day-top b {width:24px; height:24px}
.calendar-marker {min-height:21px; font-size:10px; padding:2px; justify-content:center; line-height:1.4; border-radius:4px}
.calendar-marker span {font-size:10px}
.calendar-marker small,.calendar-marker i {display:none}
.calendar-markers {gap:3px}
.calendar-footnote {font-size:9px; padding:11px 13px; line-height:1.8}
.calendar-empty {padding:24px 12px}
.calendar-empty strong {font-size:16px}
.calendar-empty p {font-size:12px}
.home-intro {padding-top:23px!important; padding-bottom:15px}
.home-heading h2 {font-size:21px; max-width:75%; line-height:1.5}
.home-heading a {font-size:11px; white-space:nowrap}
.core-grid {grid-template-columns:1fr; gap:13px}
.core-card {border-radius:14px}
.core-card .core-link {display:flex; flex-direction:column}
.core-card .core-link>img {width:100%; height:auto; min-height:0; aspect-ratio:2/1; object-fit:cover}
.core-card .photo-pending {min-height:170px; height:auto; padding:20px; display:flex; flex-direction:column; justify-content:space-between; align-items:center}
.photo-pending .base-symbol {position:static; width:48px; height:54px}
.photo-pending small {font-size:9px}
.core-body {padding:21px 20px 16px}
.core-body h2 {font-size:22px; line-height:1.5; margin-bottom:6px}
.core-body .card-meta {font-size:12px; padding:0; margin-bottom:5px}
.core-body .card-unit {font-size:13px; line-height:1.7; margin-bottom:10px}
.core-body .availability {font-size:13px; line-height:1.5}
.core-body .home-dates {margin-bottom:5px}
.core-body .home-dates span {font-size:12px; line-height:1.7}
.core-body .card-price {font-size:20px; margin:8px 0 12px; line-height:1.6}
.card-price small {font-size:11px}
.core-body .card-action {font-size:13px; min-height:43px; padding-top:11px}
.photo-reference {position:static; display:inline-block; font-size:8px; line-height:1.5; margin:0 0 3px}
.core-card .next-date {font-size:11px!important}
.partner-strip {padding:22px; gap:16px}
.partner-strip h3 {font-size:20px}
.partner-strip p {font-size:12px; line-height:1.9}
.learning-card {border-radius:16px}
.schedule-product-row {padding:17px; border-radius:14px; gap:14px}
.schedule-product-main {gap:11px}
.schedule-product-row .product-thumb {width:52px; height:52px; border-radius:11px}
.schedule-product-main h2 {font-size:17px}
.schedule-product-main p {font-size:11px}
.schedule-product-row>.btn {font-size:10px; padding:8px; min-height:40px}
.schedule-results .section-head h1 {font-size:25px; line-height:1.4}
.schedule-results .section-head {align-items:flex-start; gap:12px}
.schedule-results .section-head>.btn {font-size:10px; min-height:40px; padding:8px}
.schedule-results .toolbar {gap:10px; margin-bottom:18px; overflow:visible}
.schedule-results .filterbar {flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:4px; scrollbar-width:none; overscroll-behavior-x:contain}
.schedule-results .filterbar::-webkit-scrollbar {display:none}
.schedule-results .filterbar .chip {flex-shrink:0; min-height:38px; font-size:11px; scroll-snap-align:start; padding:7px 14px}
.schedule-results .search-label {max-width:none; min-width:180px; font-size:11px}
.schedule-results .search-label input {min-height:43px; font-size:14px}
.schedule-results .toolbar>#clearFilters {min-height:43px; font-size:11px}
.schedule-product-row .date-chip-list {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0}
.date-chip {min-width:0; padding:11px 9px; border-radius:9px; gap:5px}
.date-chip b {font-size:11px; line-height:1.5}
.date-chip span {font-size:10px; line-height:1.6}
.date-chip strong {font-size:13px}
.date-chip em {font-size:9px}
.workspace-actions {grid-template-columns:1fr!important; gap:10px!important}
.workspace-actions .action-tile {padding:19px; display:block}
.workspace-actions .action-tile h2 {font-size:18px; white-space:normal}
.workspace-actions .action-tile p {font-size:12px; line-height:1.8}
.workspace-actions .action-tile>.ui-icon {margin-bottom:8px}
.workspace-shell .stats-grid strong {font-size:29px}
.workspace-shell .stats-grid span {font-size:12px}
.workspace-status {line-height:1.8}
.work-tabs {padding-bottom:5px; gap:5px; scrollbar-width:none; max-width:100%; margin-right:0}
.work-tabs a {padding:10px 13px; min-height:44px; font-size:12px}
.form-grid input,.form-grid select,.form-grid textarea {font-size:16px}
.panel,.detail-panel {border-radius:14px}
.form-grid label {font-size:12px}
.photo-gallery figcaption {font-size:12px}
.mobile-dock {box-shadow:0 -5px 25px #14315a05}
.calendar-day-dialog {width:100%; max-width:600px; max-height:86dvh; margin:auto auto 0; border-radius:24px 24px 0 0; border-bottom:0; padding:24px 18px max(24px,env(safe-area-inset-bottom)); animation:calendar-sheet-enter .22s ease-out}
.calendar-dialog-head {margin-bottom:20px}
.calendar-dialog-head h2 {font-size:23px}
.calendar-dialog-head .experience-eyebrow {font-size:9px}
.calendar-event {padding:16px}
.calendar-event h3 {font-size:18px}
.calendar-event-bottom strong {font-size:17px}
.calendar-dialog-events {gap:12px}
}

@media(max-width:380px) {.section {padding-left:13px; padding-right:13px}
.home-calendar>.section-head h1 {font-size:23px}
.home-calendar>.section-head p:not(.experience-eyebrow) {font-size:10px}
.calendar-all {font-size:10px}
.calendar-jump label {display:none}
.core-body {padding:18px}
.core-body h2 {font-size:20px}
.core-body .card-unit {font-size:12px}
.core-body .availability {font-size:12px}
.core-body .card-price {font-size:19px}
.home-heading h2 {font-size:19px}
.calendar-marker span {font-size:9px}
.schedule-product-main h2 {font-size:15px}
.schedule-product-row>.btn {font-size:9px}
}

@keyframes calendar-sheet-enter {from {transform:translateY(20px); opacity:.7}
to {transform:translateY(0); opacity:1}
}

@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto!important}
*,*:before,*:after {animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important}
.core-card:hover,.date-chip:hover {transform:none}
}


/* v4.3: one calendar, one selected-day panel, with no hidden business data. */
.calendar-layout {display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:start}

.calendar-layout>.calendar-card {min-width:0}

.calendar-agenda {min-width:0; overflow:hidden; background:#fff; border:1px solid #dce5f2; border-radius:20px; box-shadow:0 12px 45px #1b3b6b05}

.calendar-agenda[hidden] {display:none}

.calendar-layout.is-empty {grid-template-columns:1fr}

.calendar-agenda-heading {padding:26px 23px 20px; border-bottom:1px solid #e5ecf4; background:linear-gradient(120deg,#f1f6ff,#fff)}

.calendar-agenda-heading h2 {font-size:24px; letter-spacing:-.035em; line-height:1.5; margin:5px 0 7px; font-variant-numeric:tabular-nums}

.calendar-agenda-heading h2:focus-visible {outline:3px solid #245bdc; outline-offset:5px; border-radius:3px}

#calendar-selection-status {font-size:11px; color:#60738b; margin:0; line-height:1.8}

.calendar-selected-events {display:grid; gap:0; padding:0 23px; max-height:470px; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-width:thin; scrollbar-color:#c8d7eb transparent}

.calendar-selected-events .calendar-event {border:0; border-radius:0; padding:21px 0; border-bottom:1px solid #e5ecf4}

.calendar-selected-events .calendar-event:last-child {border-bottom:0}

.calendar-selected-events .calendar-event h3 {font-size:18px; margin:12px 0 7px}

.calendar-selected-events .calendar-event p {font-size:12px; line-height:1.7}

.calendar-price-label {display:block; font-size:10px; color:#657992; margin-bottom:4px}

.calendar-event-bottom strong {display:block; line-height:1.5}

.calendar-agenda-all {display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:56px; padding:15px 23px; border-top:1px solid #e5ecf4; font-size:12px; color:#315f9e; background:#fafcff}

.calendar-agenda-all:hover {background:#f0f5fe}

.calendar-day.is-selected {background:#edf3ff; box-shadow:inset 0 0 0 2px #245bdc}

.calendar-day.has-sessions:hover {background:#f3f7ff}

.calendar-selected-events .btn {min-height:44px; font-size:12px; padding:8px 10px}

.calendar-event-bottom>div {min-width:0}

.calendar-card .schedule-legend {gap:9px 17px; font-size:11px; padding-left:20px; padding-right:20px}

.calendar-card .schedule-legend>span {font-size:11px}

.destination-index {position:absolute; right:20px; top:20px; display:flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid #e2e8f2; border-radius:50%; font-size:11px; font-weight:600; color:#7a8da6; letter-spacing:.02em}

.core-body {position:relative}

.core-body>.card-meta {padding-right:45px}

.core-body .photo-reference {position:static; order:0; align-self:flex-start; margin:0 0 6px; background:transparent; border:0; padding:0; color:#71839a; font-size:10px}

.core-card .core-link>img {background:#e9eff7; object-fit:cover; display:block}

.core-card .core-body {flex:1}

.core-body .card-action {border-top:1px solid #e6ecf4}

.home-heading {align-items:end}

.home-heading h2 {margin-bottom:0}

.home-learning {margin-top:12px}

@media(min-width:761px) and (max-width:1100px) {.core-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:960px) {
.calendar-layout {grid-template-columns:minmax(0,1fr); gap:14px}

.calendar-agenda {border-radius:16px}

.calendar-agenda-heading {padding:20px 20px 16px; display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:12px}

.calendar-agenda-heading>.experience-eyebrow {grid-column:1/-1; font-size:10px; margin-bottom:3px}

.calendar-agenda-heading h2 {font-size:21px; margin:2px 0; white-space:normal}

#calendar-selection-status {font-size:11px; max-width:150px; text-align:right}

.calendar-selected-events {padding:0 20px; max-height:none; overflow:visible}

.calendar-selected-events .calendar-event {padding:18px 0}

.calendar-selected-events .calendar-event h3 {font-size:19px}

.calendar-selected-events .calendar-event p {font-size:13px}

.calendar-event-bottom strong {font-size:19px}

.calendar-price-label {font-size:11px}

.calendar-agenda-all {padding:14px 20px; font-size:13px}

.calendar-event-city,.calendar-event-status {font-size:12px}

}

@media(max-width:760px) {
.home-calendar>.section-head {flex-wrap:wrap; align-items:end}

.home-calendar>.section-head h1 {font-size:29px; line-height:1.4; letter-spacing:-.03em!important}

.home-calendar>.section-head>div {flex:1 1 100%; min-width:0}

.home-calendar>.section-head p:not(.experience-eyebrow) {font-size:12px; max-width:none}

.home-calendar>.section-head>.calendar-all {min-height:44px; align-self:auto; font-size:12px; padding:0; margin:-10px 0 -8px auto}

.home-calendar>.section-head .experience-eyebrow {font-size:10px; line-height:1.6}

.calendar-card .schedule-legend {padding:0 12px 12px; gap:7px 13px}

.calendar-card .schedule-legend>span {font-size:10px}

.calendar-footnote {font-size:11px}

.calendar-marker {min-height:21px}

.calendar-marker span {font-size:10px}

.calendar-marker small {display:none}

.calendar-day-top b,.has-sessions .calendar-day-top b {font-size:13px}

.core-grid {gap:19px}

.core-card {border-radius:18px}

.destination-index {right:20px; top:20px}

.home-heading h2 {font-size:24px; max-width:76%}

.home-heading a {font-size:12px; min-height:44px; display:flex; align-items:center}

.schedule-results .filterbar .chip {min-height:44px; font-size:12px}

.schedule-results .search-label input {font-size:16px; min-height:46px}

}

@media(max-width:380px) {
.home-calendar>.section-head h1 {font-size:26px}

.home-calendar>.section-head>div {flex-basis:100%}

.calendar-jumpbar {padding-left:10px; padding-right:10px}

.calendar-jump input {width:133px}

.calendar-agenda-heading {display:block}

#calendar-selection-status {text-align:left; max-width:none; margin-top:7px}

.home-heading h2 {font-size:21px}

}

