/* Noori Tour signature yellow. Shared by every route and dialog. */
:root {
  --brand: #f6c83e;
  --brand-hover: #e9ba2e;
  --brand-soft: #f5f1e7;
  --brand-ink: #766039;
  --ink: #252c2e;
  --blue: var(--brand-ink);
  --lime: var(--brand);
  --muted: #6c6c66;
  --line: #e6e5df;
  --paper: #f7f7f3;
}
.topline { background: #343a36; color: #f3f4ee; }
.topline a[href="tel:16882615"] { color:var(--brand); font-weight:700; }
footer .brand-symbol { filter:brightness(0) invert(1); }
.topline i { background: #f3f4ee55; }
.header { border-bottom-color: var(--line); }
.logo-mark { color: white; background: var(--ink); border-radius: 6px; padding: 4px 12px 6px 4px; }
.logo-mark span { color: var(--brand); }
nav a.active { color: var(--ink); }
nav a.active:after { background: var(--brand); width: 22px; height: 3px; border-radius: 0; transform: translateX(-50%); }
.button, .button.lime { background: var(--brand); color: var(--ink); border-radius:6px; }
.button:hover, .button.lime:hover { background: var(--brand-hover); }
.button.outline { color: var(--ink); background: transparent; border-color: #cbc9bc; }
.button.outline:hover { background: var(--brand-soft); border-color: var(--brand-hover); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #8c6900; }
.hero {
  background-color: #777b65;
  background-image: url('assets/hero-options/warm-journeys/03-warm-resort-expanded-desktop.jpg');
  background-position: center;
}
.hero:before { background: linear-gradient(90deg,rgba(32,37,28,.67),rgba(32,37,28,.32) 34%,transparent 62%); }
.hero .eyebrow { color: #fff2bb; }
.hero p, .hero-bottom { color: #f2f1e9; }
.quick-wrap { background: var(--ink); }
.quick-title span, .quick-bar label { color: #c9c9bd; }
.quick-bar input::placeholder { color: #f0f0e8; }
.fleet-image { background: #f0f2f0; }
.fleet-tag { background: #ffffffed; color: var(--ink); border:1px solid #e2e5e1; border-radius:4px; }
.fleet-card:hover { box-shadow: 0 12px 32px #23232114; }
.circle-arrow { background: transparent; border-color: #d9dedb; }
.image-note { color: #73736b; }
.step { border-top-color: #d8d6c9; }
.step .number { color: var(--brand-ink); background: transparent; padding: 3px 0; border-radius: 0; }
.contact-banner { background: var(--ink); color: white; border-radius:10px; }
.contact-banner p { color: #c6cecd; }
.contact-banner .button { background: var(--brand); color: var(--ink); }
.contact-banner .button:hover { background: var(--brand-hover); }
.support-card { background-color:#f8f5eb; background-image:linear-gradient(110deg,#fffdf4c4,#fffdf480),url('assets/support-nature-soft.png'); background-position:center; background-size:cover; border:1px solid #e9e3d5; border-radius:16px; }
.status { background: var(--brand-soft); color: #705500; }
.status.waiting { background: #f1f1ed; color: #65655f; }
.note { background: #f1f3f1; color: #586260; }
.field input, .field select, .field textarea, .search-input { border-color: #d9d8cf; }
.field input::placeholder, .field textarea::placeholder { color: #79796f; }
.radios input, .check input { accent-color: var(--brand-ink); }
footer { background: var(--ink); color: #c5c5bb; }
.footer-top .logo-mark { color: white; background:#394143; }
.copyright { color: #aaa99f; }
.prototype { background: #191917; color: #bdbbb0; }
dialog::backdrop { background: #23232188; }
.floating { width:96px; height:96px; background:var(--brand); color:var(--ink); border:1px solid #252c2e14; border-radius:50%; box-shadow: 0 6px 24px #23232126; }
.floating .floating-bubble { position:absolute; right:0; bottom:calc(100% + 12px); padding:9px 12px; border-radius:10px; background:white; color:#111; font-size:12px; font-weight:500; line-height:1.4; white-space:nowrap; box-shadow:0 4px 14px #2323211f; }
.floating-bubble::after { content:""; position:absolute; right:calc(48px - 6px); top:100%; border:6px solid transparent; border-top-color:white; border-bottom:0; }
.floating svg { color:var(--ink); }
.eyebrow { color:#78817c; }
.fleet-info small { color:#78817c; }
.fleet-card { border-radius:10px; border-color:#e1e5df; }
.page-top { background:#f3f4f1; }
.process { background:#f7f8f5; }
.field input, .field select, .field textarea, .search-input { border-radius:6px; background:#fbfcfa; }
.field select, .quick-bar select, .calendar-dialog select {
  -webkit-appearance:none;
  appearance:none;
  padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23252c2e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:16px 16px;
}
.quick-bar select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
@media(forced-colors:active) { .field select, .quick-bar select, .calendar-dialog select { appearance:auto; -webkit-appearance:auto; background-image:none; } }
@media(max-width:760px) {
  .hero:before { background: linear-gradient(180deg,rgba(24,67,96,.5),transparent 45%); }
}
.vehicle-art { width:100%; height:100%; display:block; }
.reveal-pending { opacity:0; translate:0 -14px; }
@keyframes page-content-arrive { from { opacity:0; translate:0 -14px; } to { opacity:1; translate:0 0; } }
.reveal-visible { animation:page-content-arrive 950ms cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms) both; }
.scroll-reveal:focus-within { opacity:1; translate:0 0; animation:none; }
@media(prefers-reduced-motion:reduce) {
  .scroll-reveal, .reveal-pending { opacity:1; translate:none; transition:none; animation:none; }
  html { scroll-behavior:auto; }
}
.fleet-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fleet-info h3 { font-size:21px; min-height:2.8em; }
.fleet-image { height:auto; aspect-ratio:3 / 2; }
#fleet .fleet-card .fleet-image img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; transform:none; }
#fleet .fleet-tag { top:10px; left:10px; font-size:10px; padding:5px 8px; }
.field-help { display:block; margin-top:10px; color:var(--muted); font-size:13px; line-height:1.7; font-weight:400; }
.floating svg { width:28px; height:28px; }
footer .footer-contact a.footer-phone { display:inline-flex; align-items:center; justify-content:center; gap:9px; background:transparent; border:1px solid #677171; color:white; border-radius:6px; padding:14px 20px; margin:10px 0; font-size:23px; line-height:1.3; }
footer .footer-phone svg { color:var(--brand); }
.fleet-card[hidden] { display:none; }
.fleet-more { display:none; justify-content:center; margin-top:28px; }
.footer-brand { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.footer-tagline { font-size:14px; font-weight:400; color:#d5d7d1; }
.quote-wizard[hidden], .wizard-panel[hidden], .wizard-actions[hidden], .wizard-actions .button[hidden] { display:none!important; }
@media(max-width:760px) {
 body .floating { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(12px); transition:opacity .45s ease,transform .45s ease,visibility .45s; }
 body.floating-revealed .floating { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
 .page-top-quote { display:none; }
 #quote-form.is-wizard > .form-section { display:none; }
 .quote-wizard { scroll-margin-top:96px; padding:8px 0 24px; border:0; border-radius:0; background:white; box-shadow:none; }
 .wizard-progress { margin-bottom:22px; color:var(--muted); font-size:13px; }
 .wizard-progress progress { display:block; width:100%; height:6px; margin-top:10px; border:0; border-radius:9px; overflow:hidden; accent-color:var(--brand); background:#eee; }
 .wizard-progress progress::-webkit-progress-bar { background:#eee; }
 .wizard-progress progress::-webkit-progress-value { background:var(--brand); border-radius:9px; }
 .wizard-title { font-size:23px; line-height:1.4; margin-bottom:22px; letter-spacing:-1px; }
 .wizard-panel { display:flex; flex-direction:column; gap:20px; animation:wizard-enter .3s ease; }
 .wizard-panel .field { width:100%; }
 .wizard-field-title { display:inline-flex; align-items:baseline; gap:4px; }
 .wizard-panel .field:has(select[name="purpose"]), .wizard-panel .field:has(select[name="vehicle"]) { display:none; }
 .wizard-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .wizard-choice { min-height:76px; border:1px solid transparent; background:#f5f5f3; border-radius:12px; padding:14px 8px; color:var(--ink); font-size:14px; font-weight:600; transition:background .18s ease; }
 .wizard-choice[aria-pressed="true"] { background:#fff5ce; border-color:#edca62; }
 .wizard-choice:active { background:#fff5ce; }
 .wizard-vehicles { gap:8px; }
 .wizard-vehicles .wizard-choice { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:94px; padding:9px 6px; text-align:center; }
 .wizard-vehicle-icon { display:block; flex-shrink:0; width:62px; height:39px; object-fit:contain; }
 .wizard-vehicle-name { font-size:12px; line-height:1.4; word-break:keep-all; }
 .wizard-actions { display:flex; gap:10px; margin-top:24px; }
 .wizard-actions .button { flex:1; min-height:54px; padding:14px; justify-content:center; }
 .wizard-error { color:#a13220; font-size:13px; margin-top:16px; }
 .wizard-error:empty { display:none; }
 .wizard-review { margin:0; background:#f7f8f4; padding:18px; border-radius:12px; }
 .wizard-review div { padding:10px 0; border-bottom:1px solid var(--line); }
 .wizard-review div:last-child { border:0; }
 .wizard-review dt { font-size:12px; color:var(--muted); }
 .wizard-review dd { margin:4px 0 0; font-size:14px; overflow-wrap:anywhere; white-space:pre-wrap; }
 .wizard-panel .form-submit { margin:0; }
 .wizard-panel .form-submit .button { min-height:54px; }
}
@keyframes wizard-enter { from {opacity:0;transform:translateY(8px);} to {opacity:1;transform:translateY(0);} }
@media(prefers-reduced-motion:reduce) { body .floating { transition:none!important; } .wizard-panel { animation:none!important; } }
@media(max-width:760px) { .fleet-more { display:flex; } .footer-tagline { font-size:12px; } }
.fleet-more .button { min-width:180px; }
.faq-vehicles { padding-left:20px; margin:0 0 24px; color:var(--muted); line-height:1.9; }
.footer-phone svg { width:22px; height:22px; flex-shrink:0; }
.hero-inner { display:flex; flex-direction:column; align-items:flex-start; min-height:inherit; padding-bottom:84px; }
.hero-actions { margin-top:44px; padding-top:0; flex-wrap:wrap; }
.hero h1 em { color:white; }
.hero-title-line { display:block; font-weight:650; }
.floating .floating-label { font-size:12px; line-height:1.3; }
.floating-label br { display:none; }
.about-intro .button { margin-top:24px; }
.floating { right:56px; bottom:56px; }
.floating.floating-sms { bottom:164px; background:white; }
#unlock-form > .button { margin-top:24px; }
@media(max-width:760px) {
  .hero-inner { padding-bottom:74px; }
  .floating { width:82px; height:82px; right:40px; bottom:calc(44px + env(safe-area-inset-bottom, 0px)); }
  .floating-bubble::after { right:calc(41px - 6px); }
  .floating.floating-sms { bottom:calc(138px + env(safe-area-inset-bottom, 0px)); }
  footer .footer-contact a.footer-phone { font-size:21px; padding:12px 18px; }
}
.hero h1 { font-size:clamp(34px,4.5vw,64px); }
.hero h1, .hero-inner > p, .hero-link { text-shadow:0 2px 12px #20251c66; }
@media(min-width:761px) {
  .hero { background-size:cover; background-position:center; }
  .hero-inner { padding-top:120px; }
}
.floating-kakao { background:#fee500; font-size:12px; padding:0; }
.floating svg { width:34px; height:34px; }
.floating-kakao svg { width:38px; height:34px; }
.contact-banner { background:#252c2e; }
.visually-hidden, .date-value { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0!important; }
.fleet-info { padding:20px 18px; display:flex; flex-direction:column; flex:1; }
.fleet-card { display:flex; flex-direction:column; }
.fleet-info > p { min-height:3.3em; }
.fleet-foot { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:auto; padding-top:18px; }
.fleet-foot .fleet-detail, .fleet-foot .fleet-quote { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 5px; gap:4px; font-size:13px; font-weight:600; border-radius:6px; white-space:nowrap; }
.fleet-detail { color:var(--ink); background:white; border:1px solid var(--line); }
.fleet-detail:hover { background:var(--paper); }
.fleet-detail svg { width:17px; height:17px; flex-shrink:0; }
.contact-email { display:flex; align-items:center; gap:9px; width:fit-content; max-width:100%; margin-top:18px; font-size:16px; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.contact-email svg, .support-links svg { width:19px; height:19px; flex-shrink:0; }
.support-links a { display:inline-flex; align-items:center; gap:8px; }
.support-card .support-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.support-card .support-links a, .support-card .contact-email { justify-content:center; min-height:50px; padding:12px 14px; background:#fffffff0; border:1px solid #e6e0d3; border-radius:12px; text-decoration:none; box-shadow:0 3px 12px #5d4b2510; transition:background .2s,box-shadow .2s; }
.support-card .contact-email { width:100%; margin-top:10px; }
@media(max-width:760px) { .support-card .support-title-next { display:block; } }
.support-card .support-links a:hover, .support-card .contact-email:hover { background:white; box-shadow:0 5px 16px #5d4b251a; }
.support-card a.phone { display:flex; align-items:center; gap:12px; }
.support-card .phone svg { width:30px; height:30px; flex-shrink:0; }
.aside-card .contact-email { font-size:15px; }
.aside-card .aside-phone { display:flex; align-items:center; gap:9px; width:fit-content; }
.aside-phone svg { width:19px; height:19px; flex-shrink:0; }
.aside-card .aside-phone, .aside-card .contact-email { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:48px; margin-top:12px; padding:12px 9px; background:#fff; border:1px solid #e6e0d3; border-radius:12px; font-size:13px; text-decoration:none; box-shadow:0 3px 12px #5d4b2510; }
.aside-card .aside-phone:hover, .aside-card .contact-email:hover { background:#fffaf0; }
.nav-quote svg { width:18px; height:18px; flex-shrink:0; }
@media(max-width:760px) { .hero .hero-actions { display:none; } .nav-quote svg { width:15px; height:15px; } }
.footer-hours { margin-top:12px; color:#fff; font-weight:600; }
.request-status-section { border-bottom:1px solid var(--line); padding-bottom:64px; }
.request-status-section .section-head { margin-bottom:24px; align-items:center; }
.request-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.request-viewport { overflow:hidden; }
.request-duplicates { display:none; }
@keyframes request-drift { to { transform:translateX(calc(-100% - 20px)); } }
@media(prefers-reduced-motion:no-preference) {
  .request-track { display:flex; gap:20px; animation:request-drift 55s linear infinite; }
  .request-track .request-grid { flex:0 0 100%; min-width:0; }
  .request-duplicates { display:grid; }
}
@media(max-width:900px) and (prefers-reduced-motion:no-preference) {
  .request-track { width:calc(3 * min(78vw,300px) + 40px); animation-duration:45s; }
  .request-track .request-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
}
.request-card { position:relative; display:flex; flex-direction:column; padding:26px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:border-color .2s,box-shadow .2s; }
.request-card-top { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-bottom:24px; }
.request-number { color:#77766d; font-size:11px; letter-spacing:.04em; font-variant-numeric:tabular-nums; }
.request-owner { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:14px; }
.request-owner strong { font-size:15px; font-weight:400; color:#96999a; }
.request-owner time { font-size:11px; color:var(--muted); }
.request-status-section .section-head .request-intro { max-width:none; margin-top:12px; font-size:14px; }
.request-find { flex-shrink:0; gap:9px; font-size:14px; }
.request-find svg { width:18px; height:18px; }
.request-lookup .lookup-summary { display:flex; flex-direction:column; gap:5px; padding:16px; margin:20px 0; background:#f7f5ec; border-radius:10px; }
.lookup-summary span { color:var(--muted); font-size:12px; }
.request-lookup .field { display:block; margin-top:18px; }
.request-lookup .field input { display:block; margin-top:8px; }
.request-lookup .button { width:100%; margin-top:12px; }
.request-lookup .lookup-availability { margin:15px 0 0; color:var(--muted); font-size:12px; line-height:1.7; }
.request-lookup .lookup-help { margin:22px 0 0; font-size:12px; text-align:center; line-height:1.9; }
.lookup-help a { display:inline-flex; align-items:center; gap:6px; color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.lookup-help svg { width:15px; height:15px; }
.request-lookup .lookup-status { margin:16px 0 0; padding:14px; border-radius:8px; font-size:13px; background:#f7f5ec; }
.lookup-status:empty { display:none; }
.request-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:var(--paper); color:var(--ink); }
.request-icon svg { width:24px; height:24px; }
.request-card .request-purpose { margin:6px 0 0; color:var(--muted); font-size:13px; }
.request-card h3 { margin:0; font-size:21px; line-height:1.5; }
.request-card .request-caption { margin:4px 0 0; color:var(--muted); font-size:14px; }
.request-card .status { flex-shrink:0; }
.status.consulting { color:#6b541d; background:#fff6d9; }
.status.complete { color:#365a49; background:#edf4ef; }
.board-table [data-post] { display:inline-flex; align-items:center; gap:9px; min-height:32px; }
.board-table [data-post] svg { width:17px; height:17px; flex-shrink:0; color:#787f7e; }
.route-help { margin-top:-10px; color:var(--muted); font-size:13px; line-height:1.7; font-weight:400; }
.date-field { position:relative; }
.date-trigger { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:49px; margin-top:8px; padding:12px 14px; background:#fbfcfa; border:1px solid #d9d8cf; border-radius:6px; color:#79796f; text-align:left; font-size:14px; }
.date-trigger.has-value { color:var(--ink); }
.date-trigger svg { flex-shrink:0; width:20px; height:20px; color:var(--ink); }
.date-trigger:hover { border-color:var(--brand-ink); }
body:has(dialog[open]) { overflow:hidden; }
dialog { max-height:calc(100dvh - 40px); overflow:auto; overscroll-behavior:contain; }
#modal { padding:16px 8px 16px 0; overflow:hidden; border-radius:16px; }
#modal-content { max-height:calc(100dvh - 72px); overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; padding:24px 32px 24px 40px; scrollbar-width:thin; scrollbar-color:#b9b9b3 transparent; }
#modal-content::-webkit-scrollbar { width:7px; }
#modal-content::-webkit-scrollbar-track { background:transparent; }
#modal-content::-webkit-scrollbar-thumb { background:#b9b9b3; border-radius:10px; }
#modal > .close-modal { z-index:3; width:36px; height:36px; line-height:1; border-radius:50%; background:#fff; }
@media(max-width:760px) { #modal-content { padding:16px 16px 16px 24px; } }
#modal:has(.vehicle-detail) { width:min(720px,calc(100% - 32px)); }
.vehicle-gallery { margin:20px 0 24px; }
.vehicle-photo { position:relative; margin:0; aspect-ratio:16 / 10; background:#f4f4f0; border-radius:10px; overflow:hidden; isolation:isolate; }
.vehicle-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.vehicle-photo .vehicle-photo-outgoing { pointer-events:none; }
.vehicle-gallery [hidden] { display:none!important; }
.post-privacy { align-items:flex-start; line-height:1.7; margin:24px 0; }
.post-privacy input { flex-shrink:0; margin-top:4px; }
.vehicle-gallery:focus-visible { outline:2px solid #8c6900; outline-offset:5px; border-radius:10px; }
.vehicle-photo-arrow { position:absolute; z-index:2; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #252c2e15; border-radius:50%; background:#fffffff0; color:var(--ink); box-shadow:0 2px 12px #0002; }
.vehicle-photo-arrow.previous { left:10px; }
.vehicle-photo-arrow.next { right:10px; }
.vehicle-photo-arrow svg { width:22px; height:22px; }
.vehicle-photo-arrow:hover { background:white; box-shadow:0 2px 14px #0004; }
.vehicle-photo-count { position:absolute; z-index:2; right:12px; bottom:12px; padding:4px 10px; border-radius:20px; color:white; background:#252c2ebd; font-size:12px; font-variant-numeric:tabular-nums; pointer-events:none; }
.vehicle-description { margin-bottom:12px; }
.vehicle-detail dl { margin:20px 0; }
.vehicle-detail dl>div { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); font-size:14px; }
.vehicle-detail dd { margin:0; font-weight:600; }
.vehicle-detail .vehicle-detail-note { margin:10px 0 0; font-size:11px; font-weight:400; line-height:1.6; color:#767676; }
.vehicle-detail .button { width:100%; }
@media(max-width:760px) {
  #modal:has(.vehicle-detail) #modal-content { padding:16px 12px 8px 20px; }
  .vehicle-detail dl { margin:16px 0; }
}
.calendar-dialog { width:min(420px,calc(100% - 32px)); padding:28px; }
.calendar-heading { display:flex; align-items:flex-start; justify-content:space-between; }
.calendar-heading .eyebrow { margin-bottom:8px; font-size:10px; }
.calendar-heading h2 { font-size:22px; margin:0; }
.calendar-close { display:grid; place-items:center; width:36px; height:36px; background:none; border:0; color:var(--muted); font-size:28px; }
.calendar-month-nav { display:flex; align-items:center; justify-content:space-between; margin:24px 0 14px; gap:8px; }
.calendar-month-nav>button { width:36px; height:36px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--ink); font-size:24px; line-height:1; }
.calendar-month-nav>div { display:flex; align-items:center; gap:4px; }
.calendar-month-nav select { border:0; background-color:white; padding:4px 42px 4px 4px; font-size:16px; font-weight:600; color:var(--ink); }
.calendar-weekdays, .calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); text-align:center; gap:4px; }
.calendar-weekdays { font-size:12px; color:var(--muted); margin-bottom:8px; }
.calendar-day { position:relative; height:40px; border:0; background:transparent; border-radius:50%; color:var(--ink); font-size:14px; }
.calendar-day:hover:not(:disabled) { background:var(--brand-soft); }
.calendar-day[aria-current="date"]:after { content:''; position:absolute; width:4px; height:4px; border-radius:50%; background:currentColor; bottom:4px; left:calc(50% - 2px); }
.calendar-day.selected, .calendar-day.selected:hover { background:var(--brand); color:var(--ink); font-weight:700; }
.calendar-day:disabled { opacity:.28; }
.calendar-shortcuts { display:flex; gap:8px; padding:14px 0; border-bottom:1px solid var(--line); }
.calendar-shortcuts button { border:1px solid var(--line); background:white; border-radius:6px; font-size:13px; padding:5px 12px; color:var(--ink); }
.calendar-shortcuts button:disabled { opacity:.35; }
.calendar-time { display:flex; align-items:center; gap:8px; padding:18px 0; font-size:14px; }
.calendar-time>span:first-child { margin-right:auto; font-weight:600; }
.calendar-time select { border:1px solid var(--line); background-color:var(--paper); border-radius:6px; padding:8px 42px 8px 8px; color:var(--ink); font-size:14px; }
.calendar-time select:disabled { opacity:.45; cursor:not-allowed; }
.calendar-time-unknown { display:flex; align-items:center; gap:9px; min-height:44px; margin:2px 0 12px; font-size:13px; color:var(--ink); cursor:pointer; }
.calendar-time-unknown input { width:17px; height:17px; margin:0; flex-shrink:0; accent-color:#8c6900; }
.calendar-dialog .calendar-selection { text-align:center; font-size:14px; color:var(--ink); background:var(--paper); border-radius:6px; padding:10px; margin:0; }
.calendar-dialog .calendar-error { color:#a13220; font-size:13px; margin:8px 0 0; }
.calendar-actions { display:grid; grid-template-columns:1fr 2fr; gap:10px; margin-top:18px; }
.calendar-actions .button { min-height:56px; padding:14px 20px; font-size:15px; justify-content:center; text-align:center; }
#modal-content .button { display:flex; width:100%; min-height:56px; padding:16px 24px; margin-left:auto; margin-right:auto; justify-content:center; text-align:center; }
@media(max-width:760px) {
  .fleet-info { padding:14px 10px; }
  .fleet-foot { gap:6px; grid-template-columns:44px minmax(0,1fr); }
  .fleet-foot .fleet-detail, .fleet-foot .fleet-quote { font-size:12px; padding:9px 3px; letter-spacing:-.06em; }
  .fleet-detail-label { display:none; }
  .fleet-detail svg { width:20px; height:20px; }
  .request-status-section { padding-bottom:48px; }
  .request-grid { grid-template-columns:1fr; gap:12px; }
  .request-card { padding:22px; }
  .request-card-top { margin-bottom:18px; }
  .request-card h3 { font-size:20px; }
  .request-find { margin-top:20px; }
  .route-help { margin-top:-6px; }
  .calendar-dialog { padding:22px; }
  .calendar-heading h2 { font-size:21px; }
  .calendar-day { height:38px; }
  .date-trigger { font-size:14px; }
}
@media(max-width:380px) { .fleet-foot .fleet-quote { font-size:11px; } }
.page-top-about, .page-top-board, .page-top-quote { background-size:cover; background-position:center; color:white; }
.page-top-about { background-image:linear-gradient(90deg,#0008,#0004),url('assets/about-fleet-new-buses.jpg'); background-position:center 75%; }
.page-top-board { background-image:linear-gradient(90deg,#0008,#0004),url('assets/hero-options/warm-journeys/01-meadow-board-expanded.jpg'); background-position:center 52%; }
.page-top-quote { background-image:linear-gradient(90deg,#252820b8,#25282065),url('assets/hero-options/warm-journeys/quote-journey.jpg'); background-position:center 60%; }
.page-top-about p, .page-top-board p, .page-top-quote p, .page-top-about .breadcrumb, .page-top-board .breadcrumb, .page-top-quote .breadcrumb { color:#f1f6fa; }
.about-intro img { height:auto; aspect-ratio:16 / 9; object-fit:contain; }
.about-brand-panel { position:relative; isolation:isolate; display:grid; place-items:center; aspect-ratio:16 / 9; overflow:hidden; border-radius:15px; background:#f8f5ec; }
.about-brand-panel::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,#fffdf3b3,#fffdf38c),url('assets/hero-options/warm-journeys/03-warm-resort-expanded-desktop.jpg') center / cover; }
.about-brand-lockup { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:24px; }
.about-intro .about-brand-lockup img { width:clamp(48px,6vw,80px); height:auto; aspect-ratio:167 / 133; border-radius:0; object-fit:contain; }
.about-brand-lockup span { color:var(--ink); font-size:clamp(26px,3vw,39px); font-weight:700; letter-spacing:-1.8px; white-space:nowrap; }
@media(max-width:760px) {
  .hero-inner { padding-top:84px; }
  .hero-actions { margin-top:auto; padding-top:24px; flex-direction:column; align-items:flex-start; gap:12px; }
  .hero { background-position:right 54%; }
  .page-top-about { background-position:65% 85%; }
  .page-top-board { background-position:70% 52%; }
}
@media(max-width:1000px) { .fleet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .fleet-grid { grid-template-columns:1fr; } .fleet-info h3 { min-height:0; } .hero h1 { font-size:clamp(28px,7.7vw,42px); } }
@media(max-width:760px) {
  .topline .wrap { height:36px; font-size:12px; font-weight:600; color:inherit; }
  .topline i { margin:0 8px; }
  .hero { min-height:clamp(380px,calc(100svh - 330px),490px); background-color:#b7aa93; background-image:url('assets/hero-options/warm-journeys/03-warm-resort-expanded-mobile.jpg'); background-size:cover; background-position:center 42%; background-repeat:no-repeat; }
  .hero:before { background:linear-gradient(to bottom,#25251f99,transparent 38%,transparent 65%,#25251f55); }
  .hero-inner { padding-top:28px; padding-bottom:24px; }
  .floating.floating-sms, .floating.floating-kakao { padding:10px; gap:3px; font-size:11px; line-height:1.25; letter-spacing:0; }
  .floating .floating-label { display:flex; flex-direction:column; justify-content:center; width:100%; max-width:60px; min-height:28px; font-size:11px; line-height:14px; text-align:center; white-space:normal; word-break:keep-all; }
  .floating-label br { display:block; }
  .floating.floating-sms > svg, .floating.floating-kakao > svg { width:29px; height:27px; flex-shrink:0; }
  .hero-actions { margin-top:auto; padding-top:24px; }
  .hero-inner > p, .hero-link { color:#fff; text-shadow:0 1px 6px #0009; font-weight:500; }
  .page-top-quote { background-position:70% center; }
  .fleet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .fleet-info { padding:14px 12px; }
  .fleet-info h3 { font-size:16px; min-height:0; margin:0 0 6px; line-height:1.4; overflow-wrap:anywhere; }
  .fleet-info small { font-size:9px; letter-spacing:1px; }
  .fleet-info > p { font-size:12px; min-height:0; margin:0 0 12px; line-height:1.5; }
  .fleet-foot { font-size:11px; gap:5px; padding-top:12px; }
  .circle-arrow { width:24px; height:24px; flex-shrink:0; }
  #fleet .fleet-tag { top:6px; left:6px; padding:3px 5px; font-size:9px; }
}
.post-write-page { padding-bottom:64px; }
.post-back { display:inline-block; margin-bottom:28px; color:var(--muted); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.post-mobile-title { display:none; }
.desktop-picker-trigger { display:none; }
.quote-picker-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.quote-picker-card { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:86px; padding:18px 10px; background:#f5f5f3; border:1px solid transparent; border-radius:12px; color:var(--ink); font-size:14px; font-weight:600; }
.quote-picker-card img { width:62px; height:39px; }
.quote-picker-card:hover { background:#fff8df; }
.quote-picker-card[aria-pressed="true"] { background:#fff5ce; border-color:#edca62; }
@media(min-width:761px) {
 #quote-form .desktop-picker-source { display:none; }
 #quote-form .desktop-picker-trigger { display:block; width:100%; min-height:49px; padding:12px 14px; border:1px solid var(--line); border-radius:6px; background:#fafaf7; color:var(--ink); font-size:15px; text-align:left; }
 #quote-form .desktop-picker-trigger:hover { border-color:var(--brand-ink); }
}
.post-write-page .post-mobile-back { display:none; }
.post-write-page .form-submit .button { min-height:56px; }
.post-write-page #post-page-content > .button { display:flex; width:100%; min-height:56px; justify-content:center; }
@media(max-width:760px) {
  .post-write-page .post-back { display:none; }
  .post-write-page .form-submit { display:grid; grid-template-columns:1fr 2fr; gap:12px; }
  .post-write-page .form-submit .button { display:flex; align-items:center; justify-content:center; width:100%; margin-top:0; padding:14px 10px; min-width:0; }
  .post-write-top, .post-write-page aside, .post-section-title, .post-required-note { display:none; }
  .post-mobile-title { display:block; }
  .post-write-page { padding-top:24px; padding-bottom:48px; }
  .post-write-page .form-section { margin-bottom:22px; }
  .post-write-page .fields { grid-template-columns:1fr; gap:22px; }
  .post-write-page .field { font-size:14px; }
  .post-write-page .field input, .post-write-page .field select, .post-write-page .field textarea { font-size:16px; }
  .post-write-page h2 { font-size:26px; margin-bottom:24px; }
}
