@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');

:root{--black:#171717;--paper:#f1f1f3;--beige:#e6e0d8;--road:#e1d8cb;--trail:#bbb1a4;--chart:#9e958a;--muted:#171717;--line:#d5d3ce;--field:#f7f6f4;--font-ui:'IBM Plex Mono','Noto Sans KR',sans-serif;--font-ko:'Noto Sans KR',sans-serif;--body-size:13px;--nav-size:11px;--page-gutter:22px;--column:480px}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--black);background:var(--paper);font:400 var(--body-size)/1.85 var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,summary{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6a6259;outline-offset:4px}h1,h2,h3,h4{font:600 var(--body-size)/1.85 var(--font-ui);letter-spacing:0;margin:0}p{margin:0 0 20px}strong,b{font-weight:600}small{font-size:inherit}
header{min-height:72px;padding:16px var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--beige)}.brand{display:inline-flex;align-items:baseline;gap:14px;font:700 23px/1.4 var(--font-ko);letter-spacing:1.4px;white-space:nowrap}.brand span{font-size:var(--nav-size);font-weight:400;letter-spacing:0}header nav{display:flex;align-items:center;gap:20px;font-size:var(--nav-size)}.instagram-link{display:none}.text-button{padding:0;border:0;background:transparent;text-align:left}.nav-apply{background:var(--black);color:#fff;padding:10px 14px;border-radius:3px;white-space:nowrap}main{margin:0;padding:0;width:100%}
/* Customer page: continuous rectangular bands and one body type scale. */
.customer-page>header{position:sticky;top:0;z-index:20}.customer-page #schedule{scroll-margin-top:80px}
.hero,.next-run,.schedule,.guide{padding:56px var(--page-gutter);margin:0}.hero{background:var(--paper)}.hero-copy{max-width:900px}.hero h1{margin-bottom:24px}.hero p{margin:0 0 20px}.hero p:last-child{margin-bottom:0}.eyebrow,.next-label{font-size:var(--body-size);font-weight:400;letter-spacing:.8px}.next-run{background:var(--beige);padding-top:32px;padding-bottom:32px}.next-label{display:flex;justify-content:space-between;align-items:center;gap:16px}#next-countdown{white-space:nowrap}.next-main h2,.next-empty{margin-top:8px}.next-title-link{display:block;padding:0;background:transparent;border:0;font:600 var(--body-size)/1.85 var(--font-ui);text-align:left;text-decoration:none}.next-title-link:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}.next-full-date{margin:32px 0 0}.section-top{margin-bottom:28px}.section-top h2,.guide h2{margin-top:8px}
.view-switch{display:flex;gap:12px;margin-top:38px}.view-switch button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--black);font-size:var(--body-size);font-weight:400;text-align:center}.view-switch .active,.button.primary{background:var(--black);color:#fff;border-color:var(--black)}.button:hover:not(:disabled),.view-switch button:hover:not(.active){background:#00000005}.button.primary:hover:not(:disabled){background:#30302f}
.calendar-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:0 0 22px}.month-control{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.month-control h3{font-weight:400;min-width:0}.month-control button{min-width:38px;height:40px;border:1px solid var(--line);border-radius:3px;background:transparent;font-size:var(--body-size)}.month-control .this-month{padding:0 12px}.calendar-guidance{width:100%;min-width:0}.legend{display:flex;gap:24px;font-size:var(--nav-size)}.legend span{white-space:nowrap}.legend i{display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%}.road-dot{background:var(--road)}.trail-dot{background:var(--trail)}.schedule-help{margin:18px 0 0;max-width:100%;font-size:12px;line-height:1.85}.schedule-help>span{display:block;width:max-content;white-space:nowrap}#month-note:not(:empty){padding:18px 20px;background:var(--beige);margin-bottom:16px}
/* Keep the calendar grid, separate application button, and original cell dimensions. */
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:0}.weekday{padding:15px 0;text-align:center;font-size:12px}.day{min-height:142px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;position:relative}.day.empty{background:#ffffff20}.day-heading{display:flex;align-items:flex-start;gap:3px;min-width:0;min-height:23px}.day-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:23px;height:23px;font-size:12px}.day.today .day-number{background:var(--beige);color:var(--black);border-radius:50%}.sun,.sat{color:inherit}.holiday-name{font-size:10px;line-height:1.4;padding-top:4px;min-width:0;overflow-wrap:anywhere;font-weight:400}.event{width:100%;border:0;border-radius:0;text-align:left;color:var(--black);background:var(--road);margin-top:5px;padding:8px;min-height:60px;display:block}.event.trail{background:var(--trail)}.calendar .event.other-event{background:transparent;border:1px solid var(--chart)}.event:hover{filter:brightness(.97)}.event small{display:block;font-size:10px;line-height:1.5;margin-bottom:4px}.event strong{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.event .distance{display:block;font-size:10px;line-height:1.5;margin-top:5px}.event-action{width:100%;margin-top:5px;padding:7px 2px;min-height:36px;font-size:10px;font-weight:600;background:transparent;color:var(--black);border:1px solid var(--line);border-radius:2px}.event-action.chosen{background:var(--black);color:#fff;border-color:var(--black)}.status-label{display:block;font-size:10px;margin:7px 0;line-height:1.6}.schedule-foot{padding-top:16px;font-size:11px}
/* Each week shares date, session card and action rows across its seven days. */
.calendar-week {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
@supports (grid-template-rows: subgrid) {
  .calendar-week {
    grid-template-rows: max-content repeat(var(--session-slots), 1fr max-content);
  }
  .calendar-week > .day {
    display: grid;
    grid-row: 1 / -1;
    grid-template-rows: subgrid;
    grid-template-columns: minmax(0, 1fr);
  }
  .calendar-week .event {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
  }
  .calendar-week .event-action, .calendar-week .status-label { align-self: start; }
}
.list-month{padding:0;border:0}.list-month-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 0 24px;border-bottom:1px solid var(--line)}.list-month-heading>span{font-size:12px}
.list-wrap {
  --list-line: 1.375rem;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max(80px, 6em);
  align-items: stretch;
  column-gap: 12px;
  grid-template-rows: minmax(calc(4 * var(--list-line)), auto);
  padding: 18px 0;
  line-height: var(--list-line);
  border-bottom: 1px solid var(--line);
}
.session-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: stretch;
  column-gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}
.session-row::after { content: ""; position: absolute; inset: 0; }
.run-date, .run-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.run-date { text-align: center; white-space: nowrap; }
.run-date small, .run-content small, .list-action .status-label,
.list-action .event-action, .list-capacity {
  font-family: var(--font-ui);
  font-size: var(--body-size);
  line-height: var(--list-line);
}
.run-date small, .run-content small { font-weight: 400; }
.run-content {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.list-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
.run-badge {
  display: inline-flex;
  align-items: center;
  min-height: var(--list-line);
  padding: 0 7px;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}
.run-badge.road { background: var(--road); }
.run-badge.trail { background: var(--trail); }
.list-action .event-action, .list-action .status-label {
  margin: auto 0 0;
}
.list-action button {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 0 3px;
}
/* Text-only statuses share the last baseline. Outlined signup buttons end at its lower edge. */
.list-action button.status-label {
  margin-bottom: min(0px, calc((var(--list-line) - 44px) / 2));
}
.list-capacity { text-align: center; overflow-wrap: anywhere; }
.empty-list{padding:40px 0}
.guide{display:block}.first-time{background:var(--beige)}.community-copy,.faqs{margin-top:32px;max-width:900px}.community-copy p,.faqs p,.faqs summary{font-size:var(--body-size);font-weight:400;line-height:1.85}.community-copy a:not(.button),.faqs p a,footer>a:last-child{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#aaa59e}.community-copy .button{margin-top:8px;width:100%}.community-copy .join-code{margin:12px 0 0}details{border-bottom:1px solid var(--line);padding:18px 0}summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:16px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;line-height:1;flex-shrink:0}details[open] summary span{font-size:0}details[open] summary span::after{content:'−';font-size:20px}details p{margin:22px 0 8px;padding-right:16px}footer{background:var(--paper);padding:40px var(--page-gutter) 92px;display:flex;flex-direction:column;align-items:flex-start;gap:22px;font-size:var(--body-size)}footer .brand{margin-bottom:18px;font-size:21px}footer .brand span{font-size:var(--nav-size)}.subtle,.notice{color:var(--black);font-size:var(--body-size);line-height:1.85}
/* Session and registration dialogs. Input text remains 16px to avoid mobile focus zoom. */
dialog{border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--black);padding:44px 28px 32px;width:min(620px,calc(100% - 28px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#0007}.close{position:absolute;right:12px;top:8px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;font-size:24px}.detail-heading{margin:18px 0 8px;overflow-wrap:anywhere}.detail-korean{margin-bottom:24px}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;border-block:1px solid var(--line);padding:24px 0;margin:24px 0}.detail-meta small{display:block;margin-bottom:6px}.detail-meta .detail-pace{grid-column:1/-1;min-width:0}.detail-pace p{margin:10px 0 0}.session-guidance{padding:24px;background:var(--beige);margin-bottom:32px;display:grid;gap:24px}.session-guidance h3{margin-bottom:8px}.session-guidance p,.session-notes{white-space:pre-line;overflow-wrap:anywhere}.session-guidance p{margin:0}.detail-location h3{margin-bottom:12px}.detail-location p{margin-bottom:16px}.session-notes{margin-top:24px}.course-placeholder{margin-top:28px;padding:22px;border:1px dashed var(--line)}.course-placeholder h3{margin-bottom:8px}.course-placeholder p{margin:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px}
form label,.session-picker{display:block;margin:24px 0;font-size:var(--body-size);font-weight:400}input:not([type=checkbox]):not([type=hidden]),select,textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:48px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:3px;background:var(--field);color:var(--black);font-size:16px;font-family:var(--font-ui)}input[readonly],textarea[readonly]{background:transparent}input[type=date],input[type=time]{appearance:none;-webkit-appearance:none}input::-webkit-date-and-time-value{text-align:left;min-width:0}input[type=checkbox]{width:20px;height:20px;accent-color:var(--black);flex-shrink:0}textarea{resize:vertical;line-height:1.85}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.form-grid label{min-width:0}.consent{display:flex;align-items:flex-start;gap:10px}.consent input{margin:4px 0 0}#first-profile{border:0;padding:0;margin:0;min-width:0}.profile-intro{padding-top:20px}.instagram-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:3px;background:var(--field);margin-top:8px}.instagram-input>span{padding-left:12px}.instagram-input input{border:0!important;margin:0!important;background:transparent!important;flex:1}#lookup-title{margin:14px 0 24px}#lookup-result,#connection-result,#admin-result{margin-top:22px;white-space:pre-line}.registration-item{border-bottom:1px solid var(--line);padding:18px 0}.registration-item p{margin:10px 0}#guest-form{margin-bottom:32px}#selection-bar{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--trail);border:1px solid var(--line);padding:14px 20px;display:flex;align-items:center;gap:20px;z-index:10;max-width:calc(100% - 24px)}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;background:var(--black);color:#fff;padding:16px 22px;z-index:100}
/* Operator pages: full-width bands rather than floating rounded cards. */
.operator-page header>a:last-child{font-size:var(--nav-size)}.operator-page main{max-width:none;width:100%;min-width:0;margin:0;padding:0}.operator-intro{padding:58px var(--page-gutter) 52px}.operator-intro h1{margin:8px 0 0}.operator-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:38px 0 0;max-width:900px}.operator-nav .button{width:100%;min-width:0;white-space:normal}.admin-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);align-items:start;gap:0}.admin-grid aside{background:var(--beige);padding:44px 32px 44px var(--page-gutter)}.admin-grid>section{padding:44px var(--page-gutter) 56px 32px;min-width:0}.admin-grid aside>.button{width:100%;margin-top:12px}.notice{margin:20px 0}.admin-grid aside .notice{margin-bottom:28px}.session-picker{margin-top:28px}.session-detail-heading,.reminder-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:28px}.session-detail-heading .button{padding:10px 12px}#session-form>.button{min-width:160px;margin-top:16px}.attendance-heading{background:var(--beige);padding:44px var(--page-gutter)}.attendance-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:18px;margin-bottom:24px;max-width:900px}.attendance-nav .button{padding:8px}.attendance-nav p{margin:0 0 8px}.attendance-heading>p{margin:0}.roster{padding:48px var(--page-gutter) 56px}.roster>.button{margin:24px 0}#roster{margin-top:28px}.attendance-summary{margin-bottom:24px}.attendance-summary strong{font-size:inherit}.attendance-check{width:24px!important;height:24px;vertical-align:middle;margin:0;accent-color:var(--black)}.attended{background:var(--road)}.table-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain}table{width:100%;border-collapse:collapse;font-size:var(--body-size);text-align:left}th,td{padding:16px 12px;border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}#roster td,#roster th{padding:14px 10px;white-space:nowrap}#roster td:first-child,#roster th:first-child{width:54px}.reminder-actions{display:flex;gap:10px}#reminder-dialog{width:min(680px,calc(100% - 28px));padding:28px}#reminder-message{min-height:300px;height:55dvh;white-space:pre-wrap}#reminder-status{min-height:1.85em;margin-bottom:16px}.download-body{background:var(--beige);padding:48px var(--page-gutter)}#download-form{max-width:900px;margin-top:28px}.download-session-option{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);margin:0}.download-session-option input{margin:0}#download-sessions{margin-top:24px}
/* Dashboard bars and tables use the original data and grouping. */
.dashboard-band{padding:52px var(--page-gutter);background:var(--paper)}.dashboard-overview,.dashboard-participation{background:var(--beige)}.dashboard-band>*{max-width:1120px}.dashboard-title-row{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px}.dashboard-title-row label{display:block;margin:0;max-width:180px}.dashboard-title-row select{margin-top:6px;min-width:130px}.stats-cards{display:grid;margin:28px 0 24px}.stats-cards article{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.stats-cards article:last-child{border:0}.stats-cards strong{font-size:var(--body-size);font-weight:600;font-variant-numeric:tabular-nums}.dashboard-chart-group{margin-top:36px}.dashboard-chart-group+.dashboard-chart-group{margin-top:44px;padding-top:36px;border-top:1px solid var(--line)}.chart-bars{padding:0;margin:24px 0 0;border:0;background:transparent}.chart-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;margin:22px 0}.chart-row>span{grid-column:1;grid-row:1;overflow-wrap:anywhere}.chart-row b{grid-column:2;grid-row:1;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}.chart-track{grid-column:1/-1;grid-row:2;height:8px;overflow:hidden;background:#1717170b;border:0}.chart-track i{display:block;height:100%;background:var(--chart);border:0}.chart-track .road{background:var(--road)}.chart-track .trail{background:var(--trail)}.chart-scale{display:flex;justify-content:space-between;font-size:11px;margin-top:12px;color:#5c5853}.chart-description{margin:24px 0 0}.dashboard .table-scroll{margin-top:28px}.dashboard table{table-layout:fixed}.dashboard th,.dashboard td{font-size:12px;padding:14px 8px;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dashboard th:first-child,.dashboard td:first-child{text-align:left;padding-left:0}.dashboard th:last-child,.dashboard td:last-child{padding-right:0}.dashboard .rank-table th:nth-child(2),.dashboard .rank-table td:nth-child(2){width:27%;text-align:left}.dashboard .rank-table th:first-child,.dashboard .rank-table td:first-child{width:12%}.dashboard-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}.dashboard-filters label{display:block}.dashboard-ranking .chart-bars{margin-top:32px}

header{min-height:66px;gap:12px;padding-top:12px;padding-bottom:12px}.brand{font-size:21px}header nav{gap:14px}.nav-apply{padding:10px 12px}#my-runs{white-space:nowrap}.hero{padding-block:44px}.next-run{padding-block:28px}.schedule,.guide{padding-top:42px;padding-bottom:44px}.section-top{margin-bottom:24px}.view-switch{margin-top:36px}.view-switch button{padding:10px 16px}.month-control{gap:8px}.month-control button{min-width:34px;height:38px}.month-control .this-month{padding-inline:10px}.calendar-toolbar{padding-bottom:20px;gap:20px}.legend{gap:22px}.weekday{font-size:11px;padding:12px 0}.day{padding:5px 2px;min-height:120px}.day-heading{gap:1px}.day-heading .day-number{width:auto;min-width:18px;padding:0 3px;font-size:11px}.holiday-name{font-size:8px;line-height:1.35}.calendar .event{min-height:63px;padding:6px 3px}.event small,.event .distance{font-size:8px}.event strong,.event-action{font-size:9px}.event-action{padding-inline:0}.status-label{font-size:9px}.list-month-heading{flex-wrap:wrap}.community-copy,.faqs{margin-top:32px}.community-copy p{margin-bottom:24px}details p{padding-right:0}footer{padding-top:36px}footer .brand{font-size:21px}#selection-bar{bottom:10px;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));gap:12px;width:calc(100% - 24px);font-size:11px}#selection-bar .button{padding:10px 12px;font-size:11px}#selection-bar .text-button{font-size:10px}.operator-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.operator-nav .button{padding:11px 6px}.admin-grid{display:block}.admin-grid aside,.admin-grid>section{padding:48px var(--page-gutter)}.admin-grid aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-grid aside>p,.admin-grid aside>.notice,.admin-grid aside>label{grid-column:1/-1}.admin-grid aside>p{margin-bottom:0}.admin-grid aside>.notice{margin-top:0}.admin-grid aside>.button{margin:0;padding-inline:8px;font-size:12px}.session-picker{margin-bottom:0}.form-grid{gap:0 12px}.session-detail-heading{margin-bottom:24px}.session-detail-heading .button{font-size:12px}#session-form>.button{width:100%}.attendance-nav{gap:12px}#roster td,#roster th{font-size:12px;padding-inline:8px}#reminder-dialog{padding:24px 20px}.download-body .actions{flex-direction:column}.dashboard-filters{grid-template-columns:minmax(0,1fr);gap:20px}
@media(max-width:360px){:root{--page-gutter:18px}header{gap:8px}header .brand{font-size:19px;letter-spacing:1px}header nav{gap:8px}.nav-apply{padding-inline:8px;font-size:10px}#my-runs{font-size:10px}.form-grid{grid-template-columns:1fr}.dashboard th,.dashboard td{padding-inline:4px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Allow copy to wrap naturally within the column. */
.desktop-copy-break{display:none}

/* Opening photo and sticky header. */
.mobile-announcement,.mobile-photo{display:none}
  .customer-page .mobile-announcement{display:flex;align-items:center;justify-content:center;height:36px;background:#222;color:#bdb8ae;font:400 11px/1.85 var(--font-ui);letter-spacing:.3px;white-space:nowrap;padding-inline:8px}
  .customer-page>header{height:52px;min-height:52px;margin-bottom:-52px;padding-block:0;background:transparent;color:#bdb8ae;border-bottom:1px solid transparent;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
  .customer-page>header .nav-apply{display:none}
  .customer-page>header #my-runs{min-height:44px}
  .customer-page .mobile-photo{display:block;height:var(--mobile-photo-height,calc(100vh - 72px));height:var(--mobile-photo-height,calc(100svh - 72px));background:#151515 url('/ajajrc-mobile-hero.webp') center/cover no-repeat}
  .customer-page.mobile-past-hero>header{background:var(--beige);color:var(--black);border-bottom-color:var(--line)}
@media(prefers-reduced-motion:reduce){.customer-page>header{transition:none}}

/* Keep the approved wordmark geometry and inherit the header color. */
.customer-page>header .brand--distance{align-items:center;flex:0 0 auto;min-height:44px;line-height:1}
.header-wordmark{display:block;width:180px;height:auto;overflow:hidden}
@media(max-width:360px){.header-wordmark{width:164px}}

/* Customer footer. */
.footer-brand-row{display:contents}
.footer-wordmark,.footer-instagram{display:none}
.customer-page footer .footer-logo-text{font:inherit;letter-spacing:inherit}
  .customer-page footer{gap:12px}
  .customer-page footer .footer-brand-row{display:flex;align-items:center;justify-content:space-between;width:100%;height:29.4px;flex:none;gap:12px}
  .customer-page footer .brand{align-items:center;margin-bottom:0}
  .customer-page footer .footer-logo-text{display:none}
  .customer-page footer .footer-wordmark{display:block;width:87.28125px;height:auto;flex:none}
  .customer-page footer .footer-instagram{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none}
  .customer-page footer>.subtle{margin-top:38px}

/* Calendar and selection controls: mobile release polish. */
 .calendar .day-heading{flex-direction:column;align-items:flex-start;gap:0}
 .calendar .holiday-name{padding:0 3px 2px}
 .customer-page footer{padding-bottom:56px}
 #selection-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}
 #selection-count{justify-self:start;white-space:nowrap;font-size:10px}
 #selection-bar #submit-selection{justify-self:center;padding-inline:8px;white-space:nowrap}
 #selection-bar #clear-selection{justify-self:end;padding-inline:0;white-space:nowrap}

/* Keep Korean words together in customer-facing explanatory copy. */
.customer-page :is(p,summary,.notice,.community-copy,.detail-location,.detail-heading,.detail-korean,.consent){word-break:keep-all;overflow-wrap:break-word}
.customer-page .schedule-help>span{width:auto;white-space:normal;word-break:keep-all;overflow-wrap:break-word}

@font-face {
  font-family: 'AJAJRC Regular';
  src: url('/ajajrc-regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

  .customer-page .next-label > span:first-child,
  .customer-page .section-top .eyebrow,
  .customer-page .guide .eyebrow,
  .customer-page .legend > span,
  .customer-page .list-action .run-badge:is(.road, .trail) {
    font-family: 'AJAJRC Regular', var(--font-ui);
    font-weight: 400;
    font-synthesis: none;
    letter-spacing: 0;
  }

  .customer-page .legend > span,
  .customer-page .list-action .run-badge:is(.road, .trail) {
    font-size: 8px;
  }

  .customer-page .calendar .event .distance { font-size: 7.5px; }

.calendar .weekday.sat, .calendar .day-number.sat {color:#54789d}
.calendar .weekday.sun, .calendar .day-number.sun {color:#ad6065}
.run-badge.other {background:transparent;padding-inline:0}

/* Member and operator pages share a centered mobile column at every viewport size. */
html {
  background: var(--paper);
  scroll-padding-top: 58px;
}
body.customer-page, body.operator-page {
  width: 100%;
  max-width: var(--column);
  min-height: 100svh;
  margin-inline: auto;
}
.customer-page main { background: var(--beige); }
.customer-page main > .schedule,
.customer-page main > .guide:not(.first-time) { background: var(--paper); }
.customer-page #schedule { scroll-margin-top: 0; }

@media (min-width: 481px) {
  .customer-page .mobile-photo {
    height: auto;
    aspect-ratio: 1121 / 1403;
  }
}
#selection-bar, #toast { max-width: min(calc(var(--column) - 24px), calc(100% - 24px)); }
dialog { max-width: min(calc(var(--column) - 24px), calc(100% - 28px)); }

.operator-page { --font-ui: var(--font-ko); overflow-wrap: break-word; }
.operator-page > header {
  position: sticky;
  top: 0;
  z-index: 5;
  min-height: 52px;
  padding-block: 0;
  border-bottom: 1px solid var(--line);
}
.operator-page header .brand { align-items: center; min-height: 44px; }
.operator-page header .header-wordmark { width: 176px; }
.operator-intro { padding-block: 35px 30px; }
.operator-intro .eyebrow {
  font: 400 9.2px/1.5 'AJAJRC Regular', var(--font-ui);
  letter-spacing: 0;
}
.operator-intro h1 { margin-top: 12px; font-size: 22px; line-height: 1.5; letter-spacing: -.5px; }
.operator-nav { margin-top: 22px; gap: 8px; }
.operator-page main h2 { font-size: 17px; font-weight: 700; }
.admin-grid aside, .admin-grid > section, .roster, .download-body, .dashboard-band, .attendance-heading {
  padding-block: 30px 32px;
}
.admin-grid aside > .notice { margin-bottom: 7px; }
.operator-page footer { padding-block: 28px; }
.operator-page footer .brand { gap: 12px; }
#reminder-dialog { width: min(448px, calc(100% - 24px)); }
@media (max-width: 360px) {
  .operator-page { --page-gutter: 16px; }
  .operator-page header .header-wordmark { width: 145px; }
  .operator-intro .eyebrow { font-size: 8px; }
}

.meeting-time { min-width: 0; margin: 24px 0; padding: 0; border: 0; }
.meeting-time legend { padding: 0; }
.meeting-time-parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.meeting-time-parts select { padding-inline: 5px; font-variant-numeric: tabular-nums; }
