/* Daftar Cepat: clearer invitation, availability, stories and arrival details. */
body[data-design="direct"] .oh-hero-free {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  width: fit-content; max-width: 100%; margin: 17px auto 0; padding: 0;
  border: 0; border-radius: 0; background: none; color: #52617b; text-align: left;
}
body[data-design="direct"] .oh-hero-free::before { display: none; }
body[data-design="direct"] .oh-hero-free strong { display: block; padding: 6px 9px 5px; border-bottom: 2px solid #ff681e; border-radius: 3px 3px 0 0; background: #214586; color: #fff; font-size: 11px; font-weight: 750; line-height: 1.5; letter-spacing: .07em; }
body[data-design="direct"] .oh-hero-free > span { font-size: 11px; line-height: 1.5; }
body[data-design="direct"] .oh-hero-copy > .oh-hero-free { margin: 0 auto 18px; }

/* Quota is a simple unit choice, not a dashboard. */
body[data-design="direct"] .oh-unit-availability-label { margin-top: 26px !important; margin-bottom: 3px !important; color: #214586; font-size: 14px; font-weight: 700; }
body[data-design="direct"] .oh-unit-availability-help { margin: 0 0 13px !important; color: #64718a; font-size: 11px; line-height: 1.55; }
body[data-design="direct"] .oh-unit-availability { display: grid; grid-template-columns: minmax(0,1fr); gap: 7px; padding: 8px; border: 0; border-radius: 14px; background: #eaf0fa; }
body[data-design="direct"] .oh-unit-availability-card {
  display: grid; grid-template-columns: minmax(0,1fr) 66px 14px; grid-template-rows: auto auto;
  align-items: center; justify-items: stretch; align-content: center; gap: 2px 10px;
  min-width: 0; min-height: 86px; padding: 12px; border: 1px solid transparent; border-radius: 9px;
  background: #fff; color: #214586; text-align: left; box-shadow: none;
  transition: background .2s,border-color .2s,box-shadow .2s;
}
body[data-design="direct"] .oh-availability-brand { grid-column: 1; grid-row: 1; display: flex; align-items: center; gap: 8px; min-width: 0; }
body[data-design="direct"] .oh-availability-brand > img { display: block; flex: 0 0 48px; width: 48px; height: 36px; object-fit: contain; }
body[data-design="direct"] .oh-availability-brand > span { display: grid; gap: 3px; min-width: 0; }
body[data-design="direct"] .oh-availability-brand strong { font-size: 14px; line-height: 1.2; font-weight: 750; }
body[data-design="direct"] .oh-availability-brand small { color: #65738c; font-size: 9px; line-height: 1.35; }
body[data-design="direct"] .oh-unit-availability-count { grid-column: 2; grid-row: 1 / 3; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 0; width: 100%; white-space: normal; }
body[data-design="direct"] .oh-unit-availability-count > b { color: #214586; font-size: 28px; line-height: 1; font-weight: 700; letter-spacing: -.05em; }
body[data-design="direct"] .oh-unit-availability-count > span { color: #65738c; font-size: 9px; line-height: 1.4; text-align: center; }
body[data-design="direct"] .oh-unit-availability-action { display: contents; }
body[data-design="direct"] .oh-unit-availability-action .oh-unit-availability-status { grid-column: 1; grid-row: 2; justify-self: start; min-height: 0; margin-left: 56px; padding: 0; border-radius: 0; background: transparent; color: #456b52; font-size: 9px; line-height: 1.4; font-weight: 600; }
body[data-design="direct"] .oh-unit-availability-action > i { grid-column: 3; grid-row: 1 / 3; align-self: center; font-style: normal; font-size: 18px; line-height: 1; color: #8a9ab5; }
body[data-design="direct"] .oh-unit-availability-card[aria-pressed="true"] { background: #fff9f2; border-color: #edb98f; box-shadow: none; }
body[data-design="direct"] .oh-unit-availability-card[aria-pressed="true"] .oh-unit-availability-action > i { color: #df5b1d; }
body[data-design="direct"] .oh-unit-availability-card:is([data-status="full"],[data-status="closed"]) { background: #f1f4f8; border-color: transparent; }
body[data-design="direct"] .oh-unit-availability-card:is([data-status="full"],[data-status="closed"]) .oh-unit-availability-status { color: #727e91; }
body[data-design="direct"] .oh-unit-availability-card[data-status="closed"] .oh-unit-availability-count,
body[data-design="direct"] .oh-registration-window[data-closed="true"] .oh-unit-availability-count { display: none; }
body[data-design="direct"] .oh-availability-note { margin-top: 11px !important; font-size: 10px; }

/* A family story in a single reading surface. */
body[data-design="direct"] .oh-section.oh-voices { background: #fafaf8; }
body[data-design="direct"] .oh-story-card { padding: 26px 22px 20px; border-radius: 18px; background: #214586; color: #fff; box-shadow: 0 12px 32px #1835660d; }
body[data-design="direct"] .oh-story-card .oh-testimonial { max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
body[data-design="direct"] .oh-story-card .oh-testimonial::before { display: none; }
body[data-design="direct"] .oh-story-person { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
body[data-design="direct"] .oh-story-person > :is(img,.oh-avatar) { flex: 0 0 60px; width: 60px; height: 60px; border: 1px solid #ffffff30; border-radius: 50%; object-fit: cover; }
body[data-design="direct"] .oh-story-person > .oh-avatar { display: grid; place-items: center; background: #f0dbc1; color: #214586 !important; font-size: 18px !important; font-weight: 650; }
body[data-design="direct"] .oh-story-person > div { display: grid; gap: 5px; min-width: 0; }
body[data-design="direct"] .oh-story-person strong { color: #fff; font-size: 14px; line-height: 1.4; font-weight: 650; }
body[data-design="direct"] .oh-story-person span { color: #d4dff3; font-size: 11px; line-height: 1.5; }
body[data-design="direct"] .oh-story-card .oh-testimonial blockquote > p { max-width: 56ch; color: #fff; font-size: 22px; line-height: 1.5; font-weight: 500; letter-spacing: -.025em; text-wrap: pretty; }
body[data-design="direct"] .oh-story-card .oh-testimonial blockquote > .oh-story-context { margin-top: 21px; color: #c6d5ee; font-size: 11px; line-height: 1.65; font-weight: 400; letter-spacing: 0; }
body[data-design="direct"] .oh-story-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 13px; margin-top: 25px; padding-top: 18px; border-top: 1px solid #ffffff2e; }
body[data-design="direct"] .oh-story-nav > p { width: 100%; color: #c6d5ee; font-size: 10px; line-height: 1.5; }
body[data-design="direct"] .oh-story-nav .oh-quote-controls { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 0; margin: 0; }
body[data-design="direct"] .oh-story-nav .oh-quote-controls > button { flex: 0 0 44px; width: 44px; height: 44px; border-color: #ffffff55; background: transparent; color: #fff; }
body[data-design="direct"] .oh-story-nav .oh-quote-dots { display: flex; align-items: center; gap: 0; }
body[data-design="direct"] .oh-story-nav .oh-quote-dots > button { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: none; }
body[data-design="direct"] .oh-story-nav .oh-quote-dots > button > span { display: block; width: 5px; height: 5px; margin: 0; border-radius: 99px; background: #9db2d4; transition: width .2s,background .2s; }
body[data-design="direct"] .oh-story-nav .oh-quote-dots > button:is([aria-pressed="true"],[aria-current="true"],.active) > span { width: 18px; background: #ff9b64; }
body[data-design="direct"] .oh-story-nav button:focus-visible { outline-color: #ffd5ba; }
body[data-design="direct"] .oh-campus-proof { margin-top: 30px; padding-top: 25px; border-top: 1px solid #d5deec; }
body[data-design="direct"] .oh-campus-proof > header > p,
body[data-design="direct"] .oh-campus-proof > p { color: #52617b; font-size: 13px; line-height: 1.65; }
body[data-design="direct"] .oh-campus-proof .oh-proof-logos { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; padding: 24px 0 0; margin: 0; border: 0; }
body[data-design="direct"] .oh-campus-item { display: grid; align-content: start; justify-items: center; gap: 12px; min-width: 0; padding: 2px 9px; }
body[data-design="direct"] .oh-campus-item + .oh-campus-item { border-left: 1px solid #d5deec; }
body[data-design="direct"] .oh-campus-item > img { width: 68px; height: 46px; object-fit: contain; }
body[data-design="direct"] .oh-campus-item > span { color: #425676; font-size: 11px; line-height: 1.5; font-weight: 600; text-align: center; }
body[data-design="direct"] .oh-campus-proof > small { display: block; margin-top: 20px; color: #64718a; font-size: 10px; line-height: 1.7; }

/* The date and the real campus photograph form one compact location card. */
body[data-design="direct"] .oh-location-card { display: grid; grid-template-columns: minmax(0,1fr); overflow: hidden; border: 1px solid #d5deec; border-radius: 18px; background: #fff; }
body[data-design="direct"] .oh-location-card .oh-venue-photo { position: relative; margin: 0; min-width: 0; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 0; background: #dce3ed; }
body[data-design="direct"] .oh-location-card .oh-venue-photo > img { width: 100%; height: 100%; max-width: none; aspect-ratio: auto; object-fit: cover; transform: translate3d(0,var(--oh-parallax-y,0px),0) scale(1.06); }
body[data-design="direct"] .oh-location-card .oh-venue-photo > figcaption { position: absolute; left: 15px; bottom: 14px; padding: 5px 9px; border: 1px solid #ffffff30; border-radius: 4px; background: #183766d9; color: #fff; font-size: 10px; line-height: 1.5; }
body[data-design="direct"] .oh-location-body { display: grid; grid-template-columns: minmax(0,1fr); align-content: center; gap: 18px; min-width: 0; padding: 24px 22px; }
body[data-design="direct"] .oh-visit-date { display: flex; align-items: center; gap: 10px; min-width: 0; }
body[data-design="direct"] .oh-visit-date > strong { color: #214586; font-size: 50px; line-height: 1; font-weight: 600; letter-spacing: -.065em; }
body[data-design="direct"] .oh-visit-date > div { display: grid; gap: 2px; min-width: 0; }
body[data-design="direct"] .oh-visit-date span { color: #68758b; font-size: 10px; line-height: 1.5; }
body[data-design="direct"] .oh-visit-date b { color: #214586; font-size: 12px; line-height: 1.4; font-weight: 650; }
body[data-design="direct"] .oh-visit-time { display: grid; align-content: center; gap: 4px; min-width: 0; }
body[data-design="direct"] .oh-visit-time strong { color: #214586; font-size: 13px; line-height: 1.4; font-weight: 650; }
body[data-design="direct"] .oh-visit-time span { color: #68758b; font-size: 10px; line-height: 1.5; }
body[data-design="direct"] .oh-visit-units { grid-column: 1 / -1; margin: 0; padding-bottom: 18px; border-bottom: 1px solid #dce3ee; color: #597094; font-size: 11px; line-height: 1.6; }
body[data-design="direct"] .oh-location-body .oh-venue-copy { grid-column: 1 / -1; padding: 0; }
body[data-design="direct"] .oh-location-body .oh-venue-copy h3 { margin: 0 0 10px; color: #214586; font-size: 25px; font-weight: 750; line-height: 1.2; letter-spacing: -.03em; }
body[data-design="direct"] .oh-location-body .oh-venue-copy p { color: #52617b; font-size: 13px; line-height: 1.75; }
body[data-design="direct"] .oh-location-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 2px; }
body[data-design="direct"] .oh-location-actions > :is(a,button) { display: inline-flex; flex: 1 1 105px; justify-content: center; align-items: center; gap: 7px; min-height: 46px; padding: 11px 13px; border: 1px solid #bdcde4; border-radius: 8px; background: transparent; color: #214586; font: inherit; font-size: 12px; line-height: 1.4; font-weight: 600; text-align: center; }
body[data-design="direct"] .oh-location-actions > :is(a,button):last-child { border-color: #214586; background: #214586; color: #fff; }

/* Native disclosure rows keep the registration journey easy to scan. */
body[data-design="direct"] .oh-section.oh-arrival { background: #f0f4fa; }
body[data-design="direct"] .oh-arrival-flow { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: 11px; margin-top: 28px; }
body[data-design="direct"] .oh-arrival-flow > li { display: block; min-width: 0; margin: 0; padding: 0; }
body[data-design="direct"] .oh-arrival-step { overflow: hidden; border: 1px solid #d5deec; border-radius: 10px; background: #fff; }
body[data-design="direct"] .oh-arrival-step > summary { position: relative; display: grid; grid-template-columns: 26px minmax(0,1fr) 18px; gap: 13px; align-items: start; min-height: 88px; padding: 20px 17px; list-style: none; cursor: pointer; }
body[data-design="direct"] .oh-arrival-step > summary::-webkit-details-marker { display: none; }
body[data-design="direct"] .oh-arrival-step > summary::before { content: ""; position: absolute; top: 20px; bottom: 20px; left: 0; width: 3px; background: #d7e1f0; }
body[data-design="direct"] .oh-arrival-step[open] > summary::before { background: #ff681e; }
body[data-design="direct"] .oh-arrival-step .oh-flow-number { display: block; width: auto; height: auto; margin: 0; padding: 2px 0 0; border: 0; border-radius: 0; background: transparent; color: #a45127; font-size: 12px; line-height: 1.45; font-weight: 650; }
body[data-design="direct"] .oh-step-heading { display: grid; gap: 6px; min-width: 0; }
body[data-design="direct"] .oh-step-heading > strong { color: #214586; font-size: 15px; line-height: 1.35; font-weight: 700; letter-spacing: -.02em; }
body[data-design="direct"] .oh-step-heading > small { color: #64738b; font-size: 11px; line-height: 1.55; }
body[data-design="direct"] .oh-step-toggle { display: block; color: #8292ad; font-size: 22px; line-height: 1; font-weight: 400; transform-origin: center; transition: transform .2s; }
body[data-design="direct"] .oh-arrival-step[open] .oh-step-toggle { color: #e16426; transform: rotate(45deg); }
body[data-design="direct"] .oh-step-body { padding: 0 22px 23px 56px; }
body[data-design="direct"] .oh-step-body > p { margin: 0; color: #52617b; font-size: 12px; line-height: 1.8; }
body[data-design="direct"] .oh-step-body > p + p { margin-top: 13px; }
body[data-design="direct"] .oh-arrival > .oh-primary { margin-top: 27px; }

/* A generous invitation and a quiet, continuous brand footer. */
body[data-design="direct"] .oh-section.oh-final-invitation {
  max-width: none; padding: 48px max(var(--oh-gutter),calc((100vw - var(--oh-width)) / 2 + var(--oh-gutter))) 36px;
  border: 0; background: #214586; color: #fff; text-align: left;
}
body[data-design="direct"] .oh-final-inner { display: grid; grid-template-columns: minmax(0,1fr); align-items: center; gap: 29px; }
body[data-design="direct"] .oh-final-copy > .oh-kicker { margin: 0 0 17px; color: #ffc8a5; font-size: 10px; letter-spacing: .13em; }
body[data-design="direct"] .oh-final-copy h2 { max-width: 18ch; margin: 0; color: #fff; font-size: 37px; line-height: 1.09; letter-spacing: -.04em; font-weight: 700; }
body[data-design="direct"] .oh-final-copy > p:not(.oh-kicker) { max-width: 43ch; margin-top: 19px; color: #d5e1f7; font-size: 13px; line-height: 1.8; }
body[data-design="direct"] .oh-final-ticket { min-width: 0; padding: 25px 23px; border: 0; border-radius: 16px; background: #fafaf8; color: #214586; box-shadow: 0 14px 36px #0c244521; }
body[data-design="direct"] .oh-final-free { margin: 0; color: #96603d; font-size: 9px; line-height: 1.6; font-weight: 750; letter-spacing: .12em; }
body[data-design="direct"] .oh-final-date { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 2px 15px; margin-top: 19px; }
body[data-design="direct"] .oh-final-date > strong { grid-column: 1; grid-row: 1 / 3; color: #214586; font-size: 69px; line-height: .94; font-weight: 550; letter-spacing: -.06em; }
body[data-design="direct"] .oh-final-date > span { align-self: end; color: #214586; font-size: 19px; line-height: 1.2; font-weight: 650; letter-spacing: -.025em; }
body[data-design="direct"] .oh-final-date > small { align-self: start; color: #64718a; font-size: 10px; line-height: 1.6; }
body[data-design="direct"] .oh-final-place { margin-top: 22px; padding-top: 17px; border-top: 1px solid #d9e1ed; color: #52617b; font-size: 12px; line-height: 1.6; }
body[data-design="direct"] .oh-final-ticket > .oh-primary { display: flex; width: 100%; min-width: 0; min-height: 51px; margin-top: 21px; padding: 13px 17px; border-radius: 99px; background: #ff681e; color: #172e5b; font-size: 14px; font-weight: 750; }
body[data-design="direct"] .oh-final-note { display: block; margin-top: 13px; color: #64718a; font-size: 9px; line-height: 1.65; text-align: center; }
body[data-design="direct"] .oh-footer.oh-footer-refined { max-width: none; margin: 0; padding: 0 max(var(--oh-gutter),calc((100vw - var(--oh-width)) / 2 + var(--oh-gutter))) 30px; background: #214586; color: #d4dff3; text-align: left; }
body[data-design="direct"] .oh-footer-inner { display: grid; gap: 15px; padding-top: 26px; border-top: 1px solid #ffffff2b; }
body[data-design="direct"] .oh-footer-brand { display: inline-flex; align-items: center; width: fit-content; min-height: 44px; }
body[data-design="direct"] .oh-footer-brand > img { display: block; width: 190px; max-width: 100%; height: 36px; margin: 0; object-fit: contain; object-position: left center; }
body[data-design="direct"] .oh-footer-inner > p { max-width: 44ch; margin: 0; color: #d4dff3; font-size: 11px; line-height: 1.8; }
body[data-design="direct"] .oh-footer-inner > small { margin: 0; color: #b7c8e5; font-size: 10px; line-height: 1.6; }
body[data-design="direct"] .oh-footer-top { display: inline-flex; align-items: center; gap: 12px; justify-self: start; min-height: 44px; margin-top: 0; color: #fff; font-size: 11px; line-height: 1.5; text-decoration: none; }
body[data-design="direct"] :is(.oh-arrival-step > summary,.oh-location-actions > a,.oh-location-actions > button):focus-visible { outline: 2px solid #de5d21; outline-offset: 3px; }
body[data-design="direct"] :is(.oh-footer-top,.oh-footer-brand,.oh-final-ticket > .oh-primary):focus-visible { outline-color: #ffbd93; }

@media (min-width: 360px) {
  body[data-design="direct"] .oh-location-body { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 21px 13px; }
  body[data-design="direct"] .oh-visit-time { padding-left: 13px; border-left: 1px solid #dce3ee; }
}
@media (min-width: 600px) {
  body[data-design="direct"] .oh-story-card { padding: 38px 36px 27px; }
  body[data-design="direct"] .oh-story-person > :is(img,.oh-avatar) { width: 68px; height: 68px; flex-basis: 68px; }
  body[data-design="direct"] .oh-story-person strong { font-size: 16px; }
  body[data-design="direct"] .oh-story-person span { font-size: 12px; }
  body[data-design="direct"] .oh-story-card .oh-testimonial blockquote > p { font-size: 29px; line-height: 1.48; }
  body[data-design="direct"] .oh-story-card .oh-testimonial blockquote > .oh-story-context { font-size: 12px; }
  body[data-design="direct"] .oh-story-nav > p { width: auto; font-size: 11px; }
  body[data-design="direct"] .oh-story-nav .oh-quote-controls { width: auto; gap: 12px; }
  body[data-design="direct"] .oh-campus-proof { margin-top: 35px; padding-top: 30px; }
  body[data-design="direct"] .oh-campus-proof > header > p { font-size: 14px; }
  body[data-design="direct"] .oh-campus-proof .oh-proof-logos { max-width: 650px; padding-top: 27px; }
  body[data-design="direct"] .oh-campus-item > img { width: 84px; height: 56px; }
  body[data-design="direct"] .oh-location-body { padding: 31px; gap: 23px 25px; }
  body[data-design="direct"] .oh-visit-date > strong { font-size: 60px; }
  body[data-design="direct"] .oh-visit-date b { font-size: 15px; }
  body[data-design="direct"] .oh-visit-date span { font-size: 11px; }
  body[data-design="direct"] .oh-visit-time strong { font-size: 16px; }
  body[data-design="direct"] .oh-visit-time span { font-size: 11px; }
  body[data-design="direct"] .oh-location-body .oh-venue-copy h3 { font-size: 29px; }
  body[data-design="direct"] .oh-arrival-flow { gap: 13px; }
  body[data-design="direct"] .oh-arrival-step > summary { padding: 22px; grid-template-columns: 28px minmax(0,1fr) 20px; gap: 17px; }
  body[data-design="direct"] .oh-step-heading > strong { font-size: 17px; }
  body[data-design="direct"] .oh-step-heading > small { font-size: 12px; }
  body[data-design="direct"] .oh-step-body { padding: 0 27px 26px 67px; }
  body[data-design="direct"] .oh-step-body > p { font-size: 13px; }
  body[data-design="direct"] .oh-section.oh-final-invitation { padding-block: 65px 42px; }
  body[data-design="direct"] .oh-final-copy h2 { font-size: 48px; }
  body[data-design="direct"] .oh-final-copy > p:not(.oh-kicker) { font-size: 15px; }
  body[data-design="direct"] .oh-final-ticket { max-width: 470px; padding: 32px; }
  body[data-design="direct"] .oh-final-date > strong { font-size: 79px; }
  body[data-design="direct"] .oh-final-date > span { font-size: 24px; }
  body[data-design="direct"] .oh-final-date > small { font-size: 11px; }
  body[data-design="direct"] .oh-final-note { font-size: 10px; }
}
@media (min-width: 701px) {
  body[data-design="direct"] .oh-unit-availability { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  body[data-design="direct"] .oh-unit-availability-card { display: flex; flex-direction: column; align-items: center; gap: 15px; min-height: 191px; padding: 16px 10px 11px; text-align: center; }
  body[data-design="direct"] .oh-availability-brand { display: flex; flex-direction: column; align-items: center; gap: 8px; }
  body[data-design="direct"] .oh-availability-brand > img { flex-basis: auto; width: 60px; height: 38px; }
  body[data-design="direct"] .oh-availability-brand > span { justify-items: center; gap: 3px; }
  body[data-design="direct"] .oh-availability-brand strong { font-size: 13px; }
  body[data-design="direct"] .oh-unit-availability-count { margin-top: auto; }
  body[data-design="direct"] .oh-unit-availability-count > b { font-size: 29px; }
  body[data-design="direct"] .oh-unit-availability-action { display: flex; align-items: center; justify-content: space-between; gap: 6px; width: 100%; margin-top: 0; }
  body[data-design="direct"] .oh-unit-availability-action .oh-unit-availability-status { margin-left: 0; font-size: 9px; }
  body[data-design="direct"] .oh-unit-availability-action > i { font-size: 16px; }
}
@media (min-width: 900px) {
  body[data-design="direct"] .oh-story-card { padding: 43px 48px 28px; }
  body[data-design="direct"] .oh-story-card .oh-testimonial blockquote > p { font-size: 31px; max-width: 52ch; }
  body[data-design="direct"] .oh-story-card .oh-testimonial blockquote > .oh-story-context { font-size: 12px; }
  body[data-design="direct"] .oh-location-card { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  body[data-design="direct"] .oh-location-card .oh-venue-photo { height: 100%; min-height: 410px; aspect-ratio: auto; }
  body[data-design="direct"] .oh-location-body { padding: 35px; gap: 23px 18px; }
  body[data-design="direct"] .oh-visit-date > strong { font-size: 54px; }
  body[data-design="direct"] .oh-visit-date b { font-size: 13px; }
  body[data-design="direct"] .oh-visit-time { padding-left: 18px; }
  body[data-design="direct"] .oh-visit-time strong { font-size: 14px; }
  body[data-design="direct"] .oh-arrival-flow { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
  body[data-design="direct"] .oh-arrival-step > summary { min-height: 128px; padding: 22px 18px; grid-template-columns: 23px minmax(0,1fr) 16px; gap: 11px; }
  body[data-design="direct"] .oh-step-heading > strong { font-size: 16px; }
  body[data-design="direct"] .oh-step-heading > small { font-size: 11px; }
  body[data-design="direct"] .oh-step-body { padding: 0 22px 25px; }
  body[data-design="direct"] .oh-final-inner { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 62px; }
  body[data-design="direct"] .oh-final-copy h2 { font-size: 52px; }
  body[data-design="direct"] .oh-final-ticket { max-width: none; }
  body[data-design="direct"] .oh-footer-inner { grid-template-columns: 200px minmax(0,1fr) auto; align-items: center; gap: 7px 33px; padding-top: 28px; }
  body[data-design="direct"] .oh-footer-brand { grid-column: 1; grid-row: 1 / 3; }
  body[data-design="direct"] .oh-footer-inner > p { grid-column: 2; grid-row: 1; }
  body[data-design="direct"] .oh-footer-inner > small { grid-column: 2; grid-row: 2; }
  body[data-design="direct"] .oh-footer-top { grid-column: 3; grid-row: 1 / 3; justify-self: end; }
}
@media (max-width: 359px) {
  body[data-design="direct"] .oh-unit-availability { padding: 7px; gap: 6px; }
  body[data-design="direct"] .oh-unit-availability-card { padding: 11px 9px; gap: 2px 7px; grid-template-columns: minmax(0,1fr) 62px 12px; }
  body[data-design="direct"] .oh-availability-brand { gap: 7px; }
  body[data-design="direct"] .oh-availability-brand > img { width: 43px; height: 33px; flex-basis: 43px; }
  body[data-design="direct"] .oh-availability-brand small { font-size: 8px; }
  body[data-design="direct"] .oh-unit-availability-action .oh-unit-availability-status { margin-left: 50px; }
  body[data-design="direct"] .oh-story-card { padding: 25px 19px 18px; }
  body[data-design="direct"] .oh-story-person { gap: 12px; }
  body[data-design="direct"] .oh-story-person > :is(img,.oh-avatar) { width: 54px; height: 54px; flex-basis: 54px; }
  body[data-design="direct"] .oh-story-person strong { font-size: 13px; }
  body[data-design="direct"] .oh-location-body { padding: 23px 20px; }
  body[data-design="direct"] .oh-visit-time { padding: 0 0 0 2px; }
  body[data-design="direct"] .oh-arrival-step > summary { padding: 19px 15px; gap: 10px; }
  body[data-design="direct"] .oh-step-body { padding-left: 51px; padding-right: 19px; }
  body[data-design="direct"] .oh-final-ticket { padding: 25px 20px; }
  body[data-design="direct"] .oh-final-copy h2 { font-size: 33px; }
  body[data-design="direct"] .oh-final-date { gap: 2px 13px; }
  body[data-design="direct"] .oh-final-date > strong { font-size: 62px; }
  body[data-design="direct"] .oh-final-date > span { font-size: 17px; }
  body[data-design="direct"] .oh-final-date > small { font-size: 9px; }
}
@media (hover: hover) {
  body[data-design="direct"] .oh-unit-availability-card:not(:disabled):hover { border-color: #9fb4d6; background: #f7faff; box-shadow: none; }
  body[data-design="direct"] .oh-story-nav .oh-quote-controls > button:hover { background: #ffffff12; border-color: #ffffff90; }
  body[data-design="direct"] .oh-story-nav .oh-quote-dots > button:hover > span { background: #ffe0cc; }
  body[data-design="direct"] .oh-arrival-step > summary:hover { background: #fbfcff; }
  body[data-design="direct"] .oh-location-actions > :is(a,button):hover { border-color: #dc723e; }
  body[data-design="direct"] .oh-footer-top:hover { color: #ffc5a2; }
}
html[data-motion-mode="reduced"] body[data-design="direct"] .oh-location-card .oh-venue-photo > img { transform: none; }
html[data-motion-mode="reduced"] body[data-design="direct"] :is(.oh-unit-availability-card,.oh-step-toggle,.oh-quote-dots > button > span) { transition: none; }
@media (prefers-reduced-motion: reduce) {
  body[data-design="direct"] .oh-location-card .oh-venue-photo > img { transform: none; }
  body[data-design="direct"] :is(.oh-unit-availability-card,.oh-step-toggle,.oh-quote-dots > button > span) { transition: none; }
}
@media print {
  body[data-design="direct"] .oh-location-card .oh-venue-photo > img { transform: none; }
  body[data-design="direct"] :is(.oh-story-card,.oh-location-card,.oh-arrival-step,.oh-final-ticket) { break-inside: avoid; }
}
/* Continue the footer behind the fixed registration bar at the page end. */
@media screen {
  body[data-design="direct"] { padding-bottom: 0; }
  body[data-design="direct"] .oh-footer.oh-footer-refined { padding-bottom: calc(30px + 89px + env(safe-area-inset-bottom)); }
}
