/* SOURCE: /assets/bundles/index-styles-04.css */
:root{
 --blue:#0b63ce;--blue2:#0756b7;--navy:#082754;--ink:#14243e;--muted:#6f7f93;
 --line:#dce5ef;--soft:#f5f8fc;--white:#fff;--max:1160px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Pretendard,"Noto Sans KR","Malgun Gothic",Arial,sans-serif;color:var(--ink);background:#fff}
html.ot-home-booting body{visibility:hidden!important}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}

/* ===== 리뉴얼 전 헤더 ===== */
.site-header{
 height:62px;background:#fff;border-bottom:1px solid #edf1f6;
 display:flex;align-items:center;position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:9999!important;background:#fff;box-shadow:0 2px 10px rgba(8,39,84,.08);transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform
}
.header-inner{width:100%;display:flex;align-items:center;gap:20px}
.site-header,.site-header *{-webkit-backface-visibility:hidden;backface-visibility:hidden}
.brand{display:flex;align-items:center;white-space:nowrap;flex:0 0 auto}
.brand img{display:block;width:220px;height:56px;object-fit:contain;object-position:left center}
.nav{margin-left:auto;display:flex;align-items:center;gap:31px;font-size:14.2296px;font-weight:800}
.nav a{
 position:relative;
 padding:21px 0 20px;
 transition:color .16s ease
}
.nav a:after{
 content:"";
 position:absolute;
 left:0;
 right:0;
 bottom:0;
 height:3px;
 background:var(--blue);
 transform:scaleX(0);
 transform-origin:center;
 transition:transform .16s ease
}
.nav a:hover{color:var(--blue)}
.nav a:hover:after{transform:scaleX(1)}
.nav a.active{color:var(--blue)}
.nav a.active:after{transform:scaleX(1)}
.phone{font-size:20.4204px;font-weight:950;color:var(--blue);white-space:nowrap}
.menu-btn{width:38px;height:38px;border:0;border-radius:9px;background:#f2f6fb;color:#0b63ce;font-size:22.3608px;cursor:pointer}
.mobile-menu-panel{
 position:fixed;top:62px;right:0;bottom:0;width:min(330px,86vw);z-index:90;
 background:#fff;border-left:1px solid #dfe7f1;box-shadow:-14px 0 34px rgba(18,47,83,.18);
 padding:18px 14px;transform:translateX(105%);pointer-events:none;transition:transform .2s ease
}
.mobile-menu-panel.open{transform:translateX(0);pointer-events:auto}
.mobile-menu-grid{display:grid;gap:10px}
.mobile-menu-link{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:14px 16px;background:#f6f9fd;border:1px solid #dce7f3;border-radius:11px;font-size:14.2296px;font-weight:900}
.mobile-menu-link.primary{background:linear-gradient(135deg,#0b63ce,#0756b7);color:#fff;border-color:#0b63ce}
.mobile-menu-backdrop{display:none;position:fixed;inset:62px 0 0;z-index:80;background:rgba(9,28,53,.34)}
.mobile-menu-backdrop.open{display:block}
body.menu-open{overflow:hidden}

/* ===== 리뉴얼 전 겹친 메인 배너 ===== */
.hero{background:#e8f3ff;overflow:hidden;padding:0}
.hero-media{position:relative;width:100%;max-width:1868px;margin:0 auto;line-height:0}
.hero-media img{width:100%;height:auto;display:block}
.hero-hotspot{position:absolute;display:block;z-index:3;border-radius:8px}
.hero-hotspot.departure{left:18.8%;top:70.5%;width:5.5%;height:13.5%}
.hero-hotspot.arrival{left:24.6%;top:70.5%;width:5.4%;height:13.5%}

/* ===== 리뉴얼 전 서비스 특징 ===== */
.features{padding:0}
.features-box{
 min-height:80px;border-bottom:1px solid #e4eaf1;background:#fff;
 display:grid;grid-template-columns:repeat(4,1fr)
}
.feature{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 16px;position:relative}
.feature+.feature:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#e7ecf2}
.feature h3{margin:0 0 4px;font-size:15.246px;color:#152b49}
.feature p{margin:0;color:#758399;font-size:12.012px;line-height:1.4}

/* ===== 차량안내 ===== */
section{padding:17px 0}
#vehicles{padding-top:30px;padding-bottom:22px}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}
.section-title{font-size:22.3608px;letter-spacing:-1px;margin:0 0 6px;color:#0b1d38}
.section-sub{margin:0;color:#78879a;font-size:13.1208px}
.more{font-size:12.012px;color:var(--blue);font-weight:900;padding-top:7px}
.vehicle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
/* 초기 구버전 콘텐츠 깜빡임 방지 */
.vehicle-grid,.notice-board-body{visibility:hidden;opacity:0}
.vehicle-grid.content-ready,.notice-board-body.content-ready{visibility:visible;opacity:1;transition:none}

.vehicle{
 border:1px solid var(--line);border-radius:8px;background:#fff;
 padding:14px 12px 15px;min-height:220px
}
.vehicle h3{text-align:center;margin:0 0 5px;font-size:15.246px;color:#142f58}
.vehicle-photo{height:112px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vehicle-photo img{max-width:100%;max-height:104px;object-fit:contain}
.vehicle-name{font-size:13.2132px;font-weight:900;margin-top:4px}
.vehicle-desc{font-size:12.012px;color:#53647a;margin-top:8px;min-height:31px;line-height:1.45}
.vehicle-specs{font-size:10.9032px;color:#7d8a9d;margin-top:10px}

/* ===== 차량예약 ===== */
.reservation-section{padding-top:4px;padding-bottom:10px}
.booking-panel{display:grid;grid-template-columns:165px 1fr;border:1px solid #cfdceb;border-radius:8px;overflow:hidden;background:#fff;min-height:177px}
.booking-side{padding:22px 18px;background:linear-gradient(180deg,#0c6cd9,#0756b7);color:#fff;display:flex;flex-direction:column;justify-content:center}
.booking-side h2{font-size:21.3444px;margin:0 0 9px}
.booking-side p{font-size:13.1208px;line-height:1.55;margin:0;color:#e0edff}
.booking-side .calendar{font-size:35.112px;margin-top:14px;opacity:.85}
.booking-choice{padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.booking-choice-copy{display:flex;flex-direction:column;gap:6px}
.booking-choice-copy strong{font-size:16.5396px;color:#173251}
.booking-choice-copy span{font-size:12.012px;color:#718095}
.booking-choice-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;min-width:680px}
.trip-button{
 min-height:82px;border:1px solid #cbd9e9;border-radius:9px;padding:14px 16px;
 display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;background:#fff
}
.trip-button.departure{border-color:#8db9ee;background:#f5faff}
.trip-button.lookup{border-color:#bfd4ec;background:#f8fbff}
.trip-button.lookup .trip-icon{background:#173f73}
.trip-icon{grid-row:1/3;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#0b67d5;color:#fff}
.trip-button b{font-size:15.246px;color:#0c315f}
.trip-button small{font-size:10.9032px;color:#718095}

/* ===== 이용요금/공지 ===== */
#fare{padding-top:3px;padding-bottom:16px}
.info-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:12px}
.box{border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px 14px 12px}
.box-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.box-head h3{margin:0;font-size:16.2624px}
.fare-search{display:flex;gap:7px;margin:0 0 10px}
.fare-search input{min-width:0;flex:1;height:38px;border:1px solid #cdd9e7;border-radius:7px;padding:0 11px;font-size:13.1208px;color:#213b5b;outline:none;background:#fff}
.fare-search input:focus{border-color:#6aa5e8;box-shadow:0 0 0 3px rgba(11,99,206,.08)}
.fare-search button{height:38px;border:0;border-radius:7px;padding:0 14px;background:var(--blue);color:#fff;font-size:13.1208px;font-weight:900;cursor:pointer;white-space:nowrap}
.fare-search button:hover{background:var(--blue2)}
.fare-search-reset{background:#edf3fa!important;color:#35506e!important}
.fare-search-msg{display:none;margin:-2px 0 8px;font-size:10.9032px;color:#62748a}
.fare-search-msg.show{display:block}
.fare-table{width:100%;border-collapse:collapse;text-align:center;font-size:11.4576px}
.fare-table th,.fare-table td{border:1px solid #e2e8f0;padding:7px 5px}
.fare-table th{background:#edf5ff;color:#244a73;font-weight:900}
.fare-table td:first-child{font-weight:800;color:#294866}
.fare-note{font-size:10.3488px;color:#7b8798;margin:7px 0 0}
.fare-mode{display:flex;gap:8px;margin:0 0 12px}.fare-mode button{flex:1;height:38px;border:1px solid #d5e1ee;border-radius:10px;background:#f7fbff;color:#284768;font-size:13.1208px;font-weight:900;cursor:pointer}.fare-mode button.active{background:var(--blue);border-color:var(--blue);color:#fff}.fare-panel{display:none}.fare-panel.active{display:block}.fare-search-guide{margin:-1px 0 9px;color:#6c7d92;font-size:10.9032px;line-height:1.5}.fare-calc{border:1px solid #e2e9f2;border-radius:12px;background:#fbfdff;padding:12px}.fare-calc-top{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:8px;align-items:center;margin-bottom:10px}.fare-calc-top input{flex:1;min-width:0;height:40px;border:1px solid #cdd9e7;border-radius:10px;padding:0 13px;font-size:13.2132px;font-weight:800;color:#213b5b;outline:none}.fare-calc-top input:focus{border-color:#6aa5e8;box-shadow:0 0 0 3px rgba(11,99,206,.08)}.fare-calc-unit{height:40px;padding:0 10px;border-radius:10px;background:#edf5ff;color:#28507e;display:grid;place-items:center;font-size:13.2132px;font-weight:900}.fare-calc-note{margin:0 0 10px;color:#76879b;font-size:10.9032px;line-height:1.5}.calc-card{border:1px solid #dbe6f1;border-radius:12px;background:#fff;padding:12px 13px}.calc-card+.calc-card{margin-top:10px}.calc-card h4{margin:0 0 4px;font-size:15.246px;color:#15345d}.calc-card p{margin:0 0 9px;color:#6e8096;font-size:10.9032px}.calc-rate-list{display:grid;gap:0}.calc-rate{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border-top:1px solid #e5ebf2}.calc-rate:nth-child(1){border-top:0}.calc-rate:nth-child(odd){margin-top:5px;background:#fff;border-radius:8px 8px 0 0}.calc-rate:nth-child(1){margin-top:0}.calc-rate.outside{margin-top:0;border-top:0;background:#f6faff;border-radius:0 0 8px 8px;padding:6px 8px 8px}.calc-rate-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:13.1208px;color:#51667f;font-weight:800}.calc-rate-time{white-space:nowrap}.calc-rate-kind{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:999px;background:#edf3fa;color:#4f6680;font-size:9.7944px;font-weight:900;white-space:nowrap}.calc-rate.outside .calc-rate-kind{background:#dfeeff;color:#145797}.calc-rate-amount{font-size:14.2296px;color:#122946;font-weight:950;white-space:nowrap}.calc-caption{margin-top:8px;color:#7d8da2;font-size:10.3488px;line-height:1.45}.calc-caption-grid{border-top:1px solid #e5ebf2;padding-top:7px;display:grid;gap:4px}.calc-caption-line{color:#6f8096;font-size:10.3488px;line-height:1.55;letter-spacing:-.1px}.calc-caption-line b{color:#3c5877;font-weight:950}.fare-calc-options{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px 10px;border:1px solid #e0e8f1;border-radius:10px;background:#fff;font-size:10.9032px;color:#53677f}.fare-calc-options input{width:16px;height:16px;accent-color:var(--blue)}.fare-calc-warn{margin:8px 0 0;color:#8a5b20;font-size:10.3488px;line-height:1.55}.fare-estimate-notice{margin:0 0 10px;padding:9px 10px;border:1px solid #cfe0f3;border-radius:10px;background:#eef6ff;color:#174d87;font-size:12.012px;font-weight:900;line-height:1.5}.outside-auto-box{margin:10px 0 0;padding:10px 11px;border:1px solid #d9e5f1;border-radius:10px;background:#f8fbff;color:#3b5878;font-size:10.9032px;line-height:1.55}.outside-auto-box b{color:#0b63ce}.outside-auto-box.applied{border-color:#b9d5f3;background:#eef6ff;color:#174d87}
@media(max-width:520px){
 .fare-search{gap:5px}.fare-search input{height:36px;font-size:12.012px}.fare-search button{height:36px;padding:0 10px;font-size:12.012px}
 .fare-table{font-size:10.3488px}.fare-table th,.fare-table td{padding:7px 3px}
 .fare-mode{flex-direction:column}.fare-calc-top{grid-template-columns:1fr 52px}.fare-calc-unit{width:100%}.calc-card h4{font-size:14.2296px}.calc-rate-name{font-size:12.012px}.calc-rate-amount{font-size:13.2132px}
 .calc-caption-line{font-size:9.7944px;line-height:1.55}
}
/* ===== 메인 공지사항 게시판 ===== */
.notice-box{padding:0!important;overflow:hidden}
.notice-box .box-head{margin:0;padding:14px 15px 12px;border-bottom:2px solid #1f5f9f}
.notice-board{width:100%}
.notice-board-head,.notice-row{display:grid;grid-template-columns:48px minmax(0,1fr) 88px;align-items:center}
.notice-board-head{min-height:34px;background:#f4f7fb;border-bottom:1px solid #dce5ef;color:#52657b;font-size:10.9032px;font-weight:800;text-align:center}
.notice-board-body{width:100%}
.notice-row{min-height:38px;border-bottom:1px solid #e8edf3;font-size:12.012px;color:#24364d;transition:background .15s ease}
.notice-row:last-child{border-bottom:0}
.notice-row:hover{background:#f7fbff}
.notice-num,.notice-date{text-align:center;color:#7d8b9d;font-size:10.9032px}
.notice-title{min-width:0;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:#213b5b}
.notice-row:hover .notice-title{color:var(--blue)}
@media(max-width:520px){
 .notice-board-head,.notice-row{grid-template-columns:40px minmax(0,1fr) 76px}
 .notice-row{min-height:36px}
 .notice-title{font-size:11.4576px;padding:0 6px}
 .notice-date,.notice-num{font-size:9.7944px}
}

/* ===== footer ===== */
footer{background:linear-gradient(180deg,#0b376f 0%,#062654 100%);color:#d2deed}
.footer-top{padding:34px 0 30px;display:grid;grid-template-columns:.82fr 1.58fr .86fr 1fr;gap:0;align-items:stretch}
.footer-col{min-width:0;padding:0 34px}
.footer-col:first-child{padding-left:0}
.footer-col:last-child{padding-right:0}
.footer-col+.footer-col{border-left:1px solid rgba(255,255,255,.16)}
.footer-phone-col{display:flex;align-items:center}
.foot-phone{font-size:19.404px;font-weight:400;line-height:1.2;color:#fff;margin:0;letter-spacing:.1px;white-space:nowrap}
.foot-title{font-size:14.2296px;font-weight:700;color:#fff;margin-bottom:12px}
.foot-text,.foot-links{font-size:13.1208px;line-height:2}
.foot-links a{display:block;color:#d2deed}
.foot-links a:hover{color:#fff;text-decoration:underline}
.admin-link{margin-top:14px;color:#aebfd4!important;text-decoration:underline}
.legal-links{border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 0 0;font-size:12.012px;color:#aebfd4}
.legal-links a{color:#e1e9f3;font-weight:700}
.legal-links a:hover{text-decoration:underline}
.copyright{border-top:0;padding:10px 0 18px;text-align:center;font-size:10.9032px;color:#96aac3}

@media(max-width:950px){
 .nav{gap:15px;font-size:13.1208px}.phone{font-size:16.5396px}
 .vehicle-grid{grid-template-columns:repeat(2,1fr)}
 .info-grid{grid-template-columns:1fr}
 .booking-panel{grid-template-columns:150px 1fr}
 .footer-top{grid-template-columns:1fr 1.45fr 1fr 1fr}
 .footer-col{padding:0 22px}
}
@media(max-width:720px){
 .site-header{height:60px}.nav,.phone{display:none}.menu-btn{margin-left:auto}
 .mobile-menu-panel{top:60px}.mobile-menu-backdrop{inset:60px 0 0}
 .brand img{width:190px}
 .hero-media img{width:100%;max-width:none;transform:none}
 .hero-hotspot{display:none}
 .features-box{grid-template-columns:1fr 1fr}
 .feature:nth-child(3):before{display:none}
 .vehicle-grid{grid-template-columns:1fr 1fr}
 .booking-panel{grid-template-columns:1fr}
 .booking-side{padding:18px 16px}.booking-side .calendar{display:none}
 .booking-choice{padding:18px;flex-direction:column;align-items:stretch}
 .booking-choice-buttons{min-width:0;width:100%;grid-template-columns:1fr 1fr}
 .booking-choice-buttons .trip-button{min-width:0;width:100%}
 .booking-choice-buttons .trip-button.lookup{grid-column:1/-1}
}
@media(max-width:520px){
 .wrap{padding:0 14px}
 .vehicle-grid{grid-template-columns:1fr 1fr;gap:9px}
 .vehicle{padding:12px 8px}.vehicle h3{font-size:13.2132px}.vehicle-photo{height:92px}.vehicle-photo img{max-height:86px}
 .footer-top{grid-template-columns:1fr 1fr;row-gap:26px}
 .footer-col{padding:0 18px}
 .footer-col:nth-child(3){border-left:0}
 .footer-phone-col{align-items:flex-start}
 .booking-choice-buttons{grid-template-columns:1fr}
 .booking-choice-buttons .trip-button.lookup{grid-column:auto}
}

/* fixed header spacer */
.header-spacer{height:62px;background:#fff}
@media(max-width:720px){.header-spacer{height:104px}}

/* ===== mobile header to desktop-like banner ===== */
@media(max-width:720px){
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:9999!important;
    height:auto!important;
    min-height:0!important;
  }
  .header-inner{
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px 12px!important;
    padding:10px 14px 8px!important;
  }
  .brand{
    flex:0 0 auto!important;
  }
  .brand img{
    width:190px!important;
    max-width:190px!important;
    height:50px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .phone{
    display:block!important;
    margin-left:auto!important;
    font-size:17.4636px!important;
    line-height:1!important;
  }
  .nav{
    display:flex!important;
    order:3!important;
    width:100%!important;
    margin-left:0!important;
    gap:18px!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    padding:2px 0 0!important;
    font-size:13.2132px!important;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
  .nav::-webkit-scrollbar{display:none}
  .nav a{
    padding:10px 0 12px!important;
    flex:0 0 auto!important;
  }
  .menu-btn,
  .mobile-menu-panel,
  .mobile-menu-backdrop{
    display:none!important;
  }
  body.menu-open{overflow:auto!important}
  .hero-media img{width:100%!important;max-width:100%!important;height:auto!important;transform:none!important;object-fit:contain!important;object-position:center center!important}
}


/* ===== 2026-09-01 공개페이지 상단메뉴 완전 통일 ===== */
.site-header.ot-site-header{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  width:100%!important;
  height:74px!important;min-height:74px!important;
  z-index:9999!important;
  display:block!important;
  background:#fff!important;
  border-bottom:1px solid #e8edf3!important;
  box-shadow:0 2px 10px rgba(8,39,84,.06)!important;
  transform:none!important;
}
.header-inner.ot-header-inner{
  width:100%!important;
  max-width:1180px!important;
  height:74px!important;min-height:74px!important;
  margin:0 auto!important;
  padding:0 20px!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:0!important;
  box-sizing:border-box!important;
}
.brand.ot-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 235px!important;
  width:235px!important;
  min-width:235px!important;
  height:74px!important;
  line-height:0!important;
  overflow:hidden!important;
}
.brand.ot-brand img{
  display:block!important;
  width:235px!important;
  max-width:235px!important;
  height:62px!important;
  max-height:62px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.nav.ot-nav{
  display:flex!important;
  align-items:center!important;
  flex:0 1 auto!important;
  min-width:0!important;
  margin-left:18px!important;
  margin-right:auto!important;
  gap:24px!important;
  padding:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-size:14.2296px!important;
  font-weight:800!important;
}
.nav.ot-nav a{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  padding:28px 0 25px!important;
  color:#122946!important;
  text-decoration:none!important;
  line-height:1.2!important;
}
.nav.ot-nav a:after{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  height:3px!important;
  background:#0b63ce!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
}
.nav.ot-nav a:hover,.nav.ot-nav a.active{color:#0b63ce!important}
.nav.ot-nav a:hover:after,.nav.ot-nav a.active:after{transform:scaleX(1)!important}
.phone.ot-phone{
  display:block!important;
  flex:0 0 auto!important;
  margin-left:18px!important;
  font-size:20.4204px!important;
  font-weight:950!important;
  line-height:1!important;
  color:#0b63ce!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.menu-btn.ot-menu-btn{display:none!important}
.header-spacer.ot-header-spacer{
  display:block!important;
  width:100%!important;
  height:74px!important;min-height:74px!important;
  background:#fff!important;
}

/* 메뉴 7개가 추가되어도 사라지지 않도록 단계적으로 간격만 축소 */
@media(max-width:1120px) and (min-width:981px){
  .header-inner.ot-header-inner{padding:0 16px!important}
  .brand.ot-brand{flex-basis:220px!important;width:220px!important;min-width:220px!important}
  .brand.ot-brand img{width:220px!important;max-width:220px!important}
  .nav.ot-nav{margin-left:10px!important;gap:17px!important;font-size:13.2132px!important}
  .phone.ot-phone{margin-left:12px!important;font-size:18.3876px!important}
}
@media(max-width:980px) and (min-width:721px){
  .header-inner.ot-header-inner{padding:0 14px!important}
  .brand.ot-brand{flex-basis:200px!important;width:200px!important;min-width:200px!important}
  .brand.ot-brand img{width:200px!important;max-width:200px!important;height:58px!important}
  .nav.ot-nav{margin-left:8px!important;gap:12px!important;font-size:13.1208px!important}
  .phone.ot-phone{margin-left:10px!important;font-size:16.5396px!important}
}

/* 휴대폰도 모든 페이지에서 동일한 2단 상단배너 */
@media(max-width:720px){
  .site-header.ot-site-header{
    height:126px!important;
    min-height:126px!important;
  }
  .header-inner.ot-header-inner{
    height:126px!important;
    min-height:126px!important;
    padding:0 24px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:72px 54px!important;
    gap:0 12px!important;
  }
  .brand.ot-brand{
    grid-column:1!important;grid-row:1!important;
    width:225px!important;min-width:225px!important;height:72px!important;
  }
  .brand.ot-brand img{
    width:225px!important;max-width:225px!important;
    height:66px!important;max-height:66px!important;
  }
  .phone.ot-phone{
    grid-column:2!important;grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
    font-size:21.3444px!important;
  }
  .nav.ot-nav{
    grid-column:1/3!important;grid-row:2!important;
    width:100%!important;
    margin:0!important;
    gap:25px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    padding:0!important;
    font-size:15.246px!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  .nav.ot-nav::-webkit-scrollbar{display:none!important}
  .nav.ot-nav a{
    flex:0 0 auto!important;
    padding:16px 0 14px!important;
  }
  .header-spacer.ot-header-spacer{
    height:126px!important;min-height:126px!important;
  }
  .mobile-menu-panel,.mobile-menu-backdrop,.ot-mobile-panel,.ot-mobile-backdrop{display:none!important}
  body.menu-open,body.ot-menu-open{overflow:auto!important}
}
@media(max-width:480px){
  .site-header.ot-site-header{height:118px!important;min-height:118px!important}
  .header-inner.ot-header-inner{
    height:118px!important;min-height:118px!important;
    grid-template-rows:68px 50px!important;
    padding:0 16px!important;
  }
  .brand.ot-brand{
    width:190px!important;min-width:190px!important;height:68px!important;
  }
  .brand.ot-brand img{
    width:190px!important;max-width:190px!important;
    height:60px!important;max-height:60px!important;
  }
  .phone.ot-phone{font-size:17.4636px!important}
  .nav.ot-nav{gap:20px!important;font-size:13.2132px!important}
  .nav.ot-nav a{padding:14px 0 12px!important}
  .header-spacer.ot-header-spacer{height:118px!important;min-height:118px!important}
}


/* ===== PC 상단 배너 위치 고정 / 우측 정렬 최종 보정 ===== */
html{scrollbar-gutter:stable!important}

@media(min-width:981px){
  .site-header.ot-site-header{
    left:0!important;
    right:0!important;
    width:100%!important;
    height:74px!important;
    min-height:74px!important;
  }

  .header-inner.ot-header-inner{
    width:calc(100% - 40px)!important;
    max-width:1180px!important;
    min-width:0!important;
    height:74px!important;
    min-height:74px!important;
    margin:0 auto!important;
    padding:0!important;

    display:grid!important;
    grid-template-columns:235px minmax(0,1fr) 120px!important;
    column-gap:22px!important;
    align-items:center!important;
  }

  .brand.ot-brand{
    grid-column:1!important;
    width:235px!important;
    min-width:235px!important;
    height:74px!important;
    margin:0!important;
    justify-self:start!important;
  }

  .brand.ot-brand img{
    width:235px!important;
    max-width:235px!important;
    height:62px!important;
    max-height:62px!important;
  }

  .nav.ot-nav{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;

    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:24px!important;

    overflow:visible!important;
    white-space:nowrap!important;
    font-size:14.2296px!important;
  }

  .nav.ot-nav a{
    flex:0 0 auto!important;
    margin:0!important;
  }

  .phone.ot-phone{
    grid-column:3!important;
    width:120px!important;
    min-width:120px!important;
    margin:0!important;
    padding:0!important;
    justify-self:end!important;
    text-align:right!important;
    font-size:20.4204px!important;
  }
}

@media(max-width:1120px) and (min-width:981px){
  .header-inner.ot-header-inner{
    width:calc(100% - 28px)!important;
    grid-template-columns:210px minmax(0,1fr) 105px!important;
    column-gap:14px!important;
  }

  .brand.ot-brand{
    width:210px!important;
    min-width:210px!important;
  }

  .brand.ot-brand img{
    width:210px!important;
    max-width:210px!important;
  }

  .nav.ot-nav{
    gap:15px!important;
    font-size:12.7512px!important;
  }

  .phone.ot-phone{
    width:105px!important;
    min-width:105px!important;
    font-size:17.4636px!important;
  }
}

@media(max-width:980px) and (min-width:721px){
  .header-inner.ot-header-inner{
    width:calc(100% - 24px)!important;
    max-width:1180px!important;
    margin:0 auto!important;
    padding:0!important;

    display:grid!important;
    grid-template-columns:190px minmax(0,1fr) 96px!important;
    column-gap:10px!important;
    align-items:center!important;
  }

  .brand.ot-brand{
    grid-column:1!important;
    width:190px!important;
    min-width:190px!important;
    margin:0!important;
  }

  .brand.ot-brand img{
    width:190px!important;
    max-width:190px!important;
  }

  .nav.ot-nav{
    grid-column:2!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    justify-content:flex-end!important;
    gap:10px!important;
    font-size:12.5664px!important;
  }

  .phone.ot-phone{
    grid-column:3!important;
    width:96px!important;
    min-width:96px!important;
    margin:0!important;
    justify-self:end!important;
    text-align:right!important;
    font-size:16.2624px!important;
  }
}


/* ===== 공개페이지 메인 메뉴 720 x 68 고정 ===== */
@media(min-width:721px){
  .site-header.ot-site-header{
    height:68px!important;
    min-height:68px!important;
  }

  .site-header .header-inner.ot-header-inner{
    height:68px!important;
    min-height:68px!important;
    align-items:center!important;
  }

  .site-header .nav.ot-nav{
    box-sizing:border-box!important;
    flex:0 0 720px!important;
    width:720px!important;
    min-width:720px!important;
    max-width:720px!important;
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;

    margin-left:auto!important;
    margin-right:0!important;
    padding:0!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:31px!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:68px!important;
    padding:0!important;
    margin:0!important;
    flex:0 0 auto!important;
  }

  .header-spacer.ot-header-spacer{
    height:68px!important;
    min-height:68px!important;
  }
}

/* 모바일은 화면폭 때문에 기존 반응형 유지 */
@media(max-width:720px){
  .site-header .nav.ot-nav{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .site-header .nav.ot-nav a{
    height:auto!important;
  }
}


/* ===== 이용요금 페이지 기준: 전체 공개페이지 폰트 + 상단헤더 최종 통일 ===== */
html,body,button,input,select,textarea{
  font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR","Segoe UI",sans-serif!important;
}

/* PC */
@media(min-width:1180px){
  .site-header.ot-site-header{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;
    width:100%!important;
    height:68px!important;
    min-height:68px!important;
    z-index:9999!important;
    background:#fff!important;
    border-bottom:1px solid #e8edf3!important;
    box-shadow:0 2px 10px rgba(8,39,84,.06)!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:1180px!important;
    height:68px!important;
    min-height:68px!important;
    margin:0 auto!important;
    padding:0 24px!important;
    display:grid!important;
    grid-template-columns:235px 720px minmax(0,129px)!important;
    column-gap:24px!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    width:235px!important;
    min-width:235px!important;
    height:68px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    line-height:0!important;
    overflow:hidden!important;
  }

  .site-header .brand.ot-brand img{
    display:block!important;
    width:235px!important;
    max-width:235px!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .site-header .nav.ot-nav{
    grid-column:2!important;
    box-sizing:border-box!important;
    width:720px!important;
    min-width:720px!important;
    max-width:720px!important;
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:31px!important;
    overflow:visible!important;
    white-space:nowrap!important;
    font-size:15.246px!important;
    font-weight:800!important;
    letter-spacing:0!important;
  }

  .site-header .nav.ot-nav a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:68px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 auto!important;
    color:#122946!important;
    font-size:15.246px!important;
    font-weight:800!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-decoration:none!important;
  }

  .site-header .nav.ot-nav a:after{
    content:""!important;
    position:absolute!important;
    left:0!important;right:0!important;bottom:0!important;
    height:3px!important;
    background:#0b63ce!important;
    transform:scaleX(0)!important;
  }

  .site-header .nav.ot-nav a:hover,
  .site-header .nav.ot-nav a.active{color:#0b63ce!important}

  .site-header .nav.ot-nav a:hover:after,
  .site-header .nav.ot-nav a.active:after{transform:scaleX(1)!important}

  .site-header .phone.ot-phone{
    grid-column:3!important;
    justify-self:end!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    color:#0b63ce!important;
    font-size:21.3444px!important;
    font-weight:950!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-align:right!important;
    text-decoration:none!important;
  }

  .header-spacer.ot-header-spacer{
    display:block!important;
    height:68px!important;
    min-height:68px!important;
  }
}

/* 노트북/태블릿은 이용요금 페이지의 폰트 비율 유지하면서 폭만 반응형 */
@media(max-width:1179px) and (min-width:721px){
  .site-header.ot-site-header{
    height:68px!important;
    min-height:68px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:1180px!important;
    height:68px!important;
    min-height:68px!important;
    margin:0 auto!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    box-sizing:border-box!important;
  }

  .site-header .brand.ot-brand{
    flex:0 0 200px!important;
    width:200px!important;
    min-width:200px!important;
    height:68px!important;
  }

  .site-header .brand.ot-brand img{
    width:200px!important;
    max-width:200px!important;
    height:58px!important;
    max-height:58px!important;
  }

  .site-header .nav.ot-nav{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:68px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    white-space:nowrap!important;
    font-size:13.2132px!important;
    font-weight:800!important;
  }

  .site-header .nav.ot-nav a{
    height:68px!important;
    display:flex!important;
    align-items:center!important;
    padding:0!important;
    font-size:13.2132px!important;
    font-weight:800!important;
  }

  .site-header .phone.ot-phone{
    flex:0 0 auto!important;
    margin:0!important;
    font-size:18.3876px!important;
    font-weight:950!important;
  }

  .header-spacer.ot-header-spacer{
    height:68px!important;
    min-height:68px!important;
  }
}

/* 모바일: 이용요금 페이지 기준 */
@media(max-width:720px){
  .site-header.ot-site-header{
    height:126px!important;
    min-height:126px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    height:126px!important;
    min-height:126px!important;
    margin:0 auto!important;
    padding:0 24px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:72px 54px!important;
    gap:0 12px!important;
    box-sizing:border-box!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:225px!important;
    min-width:225px!important;
    height:72px!important;
  }

  .site-header .brand.ot-brand img{
    width:225px!important;
    max-width:225px!important;
    height:66px!important;
    max-height:66px!important;
  }

  .site-header .phone.ot-phone{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
    font-size:21.3444px!important;
    font-weight:950!important;
  }

  .site-header .nav.ot-nav{
    grid-column:1/3!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:25px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    font-size:15.246px!important;
    font-weight:800!important;
    scrollbar-width:none!important;
  }

  .site-header .nav.ot-nav::-webkit-scrollbar{display:none!important}

  .site-header .nav.ot-nav a{
    height:auto!important;
    flex:0 0 auto!important;
    padding:16px 0 14px!important;
    font-size:15.246px!important;
    font-weight:800!important;
  }

  .header-spacer.ot-header-spacer{
    height:126px!important;
    min-height:126px!important;
  }
}

@media(max-width:480px){
  .site-header.ot-site-header{
    height:118px!important;
    min-height:118px!important;
  }

  .site-header .header-inner.ot-header-inner{
    height:118px!important;
    min-height:118px!important;
    grid-template-rows:68px 50px!important;
    padding:0 16px!important;
  }

  .site-header .brand.ot-brand{
    width:190px!important;
    min-width:190px!important;
    height:68px!important;
  }

  .site-header .brand.ot-brand img{
    width:190px!important;
    max-width:190px!important;
    height:60px!important;
    max-height:60px!important;
  }

  .site-header .phone.ot-phone{
    font-size:17.4636px!important;
  }

  .site-header .nav.ot-nav{
    gap:20px!important;
    font-size:13.2132px!important;
  }

  .site-header .nav.ot-nav a{
    padding:14px 0 12px!important;
    font-size:13.2132px!important;
  }

  .header-spacer.ot-header-spacer{
    height:118px!important;
    min-height:118px!important;
  }
}


/* ===== 공개페이지 공통 푸터: 메인 기준 / 높이 압축 ===== */
footer.ot-public-footer{
  margin:0!important;
  padding:0!important;
  background:#0b376c!important;
  color:#fff!important;
  border:0!important;
  text-align:left!important;
}
footer.ot-public-footer .ot-footer-inner{
  width:min(1180px,calc(100% - 36px))!important;
  margin:0 auto!important;
}
footer.ot-public-footer .ot-footer-top{
  display:grid!important;
  grid-template-columns:.82fr 1.58fr .86fr 1fr!important;
  gap:0!important;
  align-items:stretch!important;
  padding:15px 0 11px!important;
}
footer.ot-public-footer .ot-footer-col{
  min-width:0!important;
  padding:0 28px!important;
  border-left:1px solid rgba(255,255,255,.14)!important;
}
footer.ot-public-footer .ot-footer-col:first-child{
  border-left:0!important;
  padding-left:0!important;
  display:flex!important;
  align-items:center!important;
}
footer.ot-public-footer .ot-foot-phone{
  margin:0!important;
  color:#fff!important;
  font-size:17.4636px!important;
  font-weight:500!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
footer.ot-public-footer .ot-foot-title{
  margin:0 0 5px!important;
  color:#fff!important;
  font-size:13.2132px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
footer.ot-public-footer .ot-foot-text,
footer.ot-public-footer .ot-foot-links{
  margin:0!important;
  color:#d9e5f3!important;
  font-size:12.012px!important;
  font-weight:400!important;
  line-height:1.48!important;
}
footer.ot-public-footer .ot-foot-links{
  display:flex!important;
  flex-direction:column!important;
  gap:1px!important;
}
footer.ot-public-footer a{
  color:#e6eef8!important;
  text-decoration:none!important;
}
footer.ot-public-footer a:hover{text-decoration:underline!important}
footer.ot-public-footer .ot-admin-link{margin-top:4px!important}
footer.ot-public-footer .ot-legal{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:7px 0 0!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  color:#aebfd4!important;
  font-size:10.9032px!important;
  line-height:1.3!important;
}
footer.ot-public-footer .ot-legal a{font-weight:700!important}
footer.ot-public-footer .ot-copyright{
  padding:5px 0 9px!important;
  text-align:center!important;
  color:#96aac3!important;
  font-size:9.7944px!important;
  line-height:1.3!important;
}

@media(max-width:850px){
  footer.ot-public-footer .ot-footer-top{
    grid-template-columns:1fr 1.5fr 1fr 1fr!important;
  }
  footer.ot-public-footer .ot-footer-col{padding:0 14px!important}
}
@media(max-width:650px){
  footer.ot-public-footer .ot-footer-top{
    grid-template-columns:1fr 1fr!important;
    row-gap:14px!important;
    padding:14px 0 11px!important;
  }
  footer.ot-public-footer .ot-footer-col{
    padding:0 12px!important;
    border-left:0!important;
  }
  footer.ot-public-footer .ot-footer-col:nth-child(even){
    border-left:1px solid rgba(255,255,255,.14)!important;
  }
  footer.ot-public-footer .ot-footer-col:first-child{
    padding-left:12px!important;
  }
}
@media(max-width:430px){
  footer.ot-public-footer .ot-footer-top{
    grid-template-columns:1fr!important;
    row-gap:10px!important;
  }
  footer.ot-public-footer .ot-footer-col,
  footer.ot-public-footer .ot-footer-col:nth-child(even){
    border-left:0!important;
    padding:0 6px!important;
  }
  footer.ot-public-footer .ot-footer-col:first-child{padding-left:6px!important}
  footer.ot-public-footer .ot-foot-links{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    column-gap:12px!important;
  }
}


/* ===== 홈페이지 공지사항 최상단 배치 ===== */
.home-notice-top{
  padding:14px 0 8px!important;
  background:#fff!important;
}
.home-notice-top .notice-box{
  width:100%!important;
  margin:0!important;
}
.home-notice-top .notice-board-head,
.home-notice-top .notice-row{
  grid-template-columns:70px minmax(0,1fr) 120px!important;
}
.home-notice-top .notice-board-head{
  min-height:36px!important;
}
.home-notice-top .notice-row{
  min-height:39px!important;
}
#fare .info-grid{
  grid-template-columns:1fr!important;
}

@media(max-width:650px){
  .home-notice-top{
    padding:10px 0 6px!important;
  }
  .home-notice-top .notice-board-head,
  .home-notice-top .notice-row{
    grid-template-columns:45px minmax(0,1fr) 82px!important;
  }
}


/* ===== 홈페이지 공지사항 위치 + 하단 회사정보 1/3 높이 가로형 ===== */

/* 공지사항: 24시간 예약 / 정시 배차 / 친절 상담 / 공항 샌딩·픽업 바로 아래 */
.home-notice-top{
  padding:8px 0 12px!important;
  background:#fff!important;
}
.home-notice-top .notice-box{
  width:100%!important;
  margin:0!important;
}
.home-notice-top .notice-board-head,
.home-notice-top .notice-row{
  grid-template-columns:70px minmax(0,1fr) 120px!important;
}

/* 기존 세로형 푸터 규칙 무력화 */
footer.ot-public-footer{
  margin:0!important;
  padding:0!important;
  background:linear-gradient(180deg,#0b376f 0%,#062654 100%)!important;
  color:#d8e5f4!important;
  text-align:left!important;
}
footer.ot-public-footer .ot-footer-inner{
  width:min(1210px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:0!important;
}
footer.ot-public-footer .ot-footer-horizontal{
  min-height:62px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:20px!important;
  padding:10px 0 8px!important;
  border-bottom:1px solid rgba(255,255,255,.13)!important;
  white-space:nowrap!important;
}
footer.ot-public-footer .ot-footer-phone{
  flex:0 0 auto!important;
  color:#fff!important;
  font-size:17.4636px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
footer.ot-public-footer .ot-footer-company,
footer.ot-public-footer .ot-footer-quick,
footer.ot-public-footer .ot-footer-service{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#cfdded!important;
  font-size:10.9032px!important;
  line-height:1.2!important;
}
footer.ot-public-footer .ot-footer-company{
  flex:1 1 auto!important;
  justify-content:center!important;
}
footer.ot-public-footer .ot-footer-quick,
footer.ot-public-footer .ot-footer-service{
  flex:0 0 auto!important;
}
footer.ot-public-footer .ot-footer-company b,
footer.ot-public-footer .ot-footer-quick b,
footer.ot-public-footer .ot-footer-service b{
  color:#fff!important;
  font-size:12.012px!important;
  font-weight:900!important;
  margin-right:2px!important;
}
footer.ot-public-footer .ot-footer-company span+span:before,
footer.ot-public-footer .ot-footer-quick a+a:before,
footer.ot-public-footer .ot-footer-service a+a:before{
  content:"·"!important;
  margin-right:7px!important;
  color:#738dab!important;
}
footer.ot-public-footer a{
  color:#dce8f5!important;
  text-decoration:none!important;
}
footer.ot-public-footer a:hover{text-decoration:underline!important}

footer.ot-public-footer .ot-footer-bottom{
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  padding:5px 0 7px!important;
  color:#91a8c3!important;
  font-size:9.7944px!important;
  line-height:1.2!important;
}
footer.ot-public-footer .ot-footer-policy{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
footer.ot-public-footer .ot-footer-policy a{
  color:#c9d8e9!important;
  font-weight:700!important;
}

/* PC에서 전체 파란영역 약 100px 내외로 압축 */
@media(min-width:1001px){
  footer.ot-public-footer{
    min-height:0!important;
  }
}

/* 좁은 화면은 가로형을 유지하면서 필요한 만큼 줄바꿈 */
@media(max-width:1000px){
  footer.ot-public-footer .ot-footer-horizontal{
    white-space:normal!important;
    flex-wrap:wrap!important;
    gap:8px 16px!important;
    padding:10px 0!important;
  }
  footer.ot-public-footer .ot-footer-company{
    flex:1 1 100%!important;
    order:4!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:650px){
  .home-notice-top{
    padding:6px 0 10px!important;
  }
  .home-notice-top .notice-board-head,
  .home-notice-top .notice-row{
    grid-template-columns:45px minmax(0,1fr) 82px!important;
  }

  footer.ot-public-footer .ot-footer-inner{
    width:calc(100% - 24px)!important;
  }
  footer.ot-public-footer .ot-footer-horizontal{
    justify-content:flex-start!important;
  }
  footer.ot-public-footer .ot-footer-company,
  footer.ot-public-footer .ot-footer-quick,
  footer.ot-public-footer .ot-footer-service{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
  footer.ot-public-footer .ot-footer-bottom{
    flex-direction:column!important;
    gap:4px!important;
    padding:7px 0 9px!important;
  }
}


/* 공지사항은 4개 특징 박스 전체가 끝난 다음에 배치 */
.home-notice-top{
  margin:0!important;
  padding:10px 0 12px!important;
}


/* ===== 공통 하단 회사정보: 대표번호 기준 세로 중앙 정렬 + 모바일 폰트 최적화 ===== */

/* 기존 디자인/폭/색상은 유지하고 각 칸의 내용만 세로 중앙으로 정렬 */
footer .footer-top,
footer.ot-public-footer .ot-footer-top{
  align-items:stretch!important;
}

footer .footer-col,
footer.ot-public-footer .ot-footer-col{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

/* 제일 왼쪽 대표번호도 동일한 중앙 기준 */
footer .footer-col:first-child,
footer.ot-public-footer .ot-footer-col:first-child{
  justify-content:center!important;
}

/* 회사정보 / 바로가기 / 서비스안내 제목과 내용 간격은 현재 느낌 유지 */
footer .foot-title,
footer.ot-public-footer .ot-foot-title{
  margin-top:0!important;
}

@media(max-width:720px){
  /* 모바일에서 하단 전체가 화면폭을 넘지 않도록 */
  footer,
  footer.ot-public-footer{
    overflow:hidden!important;
  }

  footer .footer-top,
  footer.ot-public-footer .ot-footer-top{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  footer .footer-col,
  footer.ot-public-footer .ot-footer-col{
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* 휴대폰 폭에 맞춰 폰트 축소 */
  footer .foot-phone,
  footer.ot-public-footer .ot-foot-phone{
    font-size:15.246px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  footer .foot-title,
  footer.ot-public-footer .ot-foot-title{
    font-size:12.012px!important;
    line-height:1.25!important;
    margin-bottom:4px!important;
  }

  footer .foot-text,
  footer .foot-links,
  footer.ot-public-footer .ot-foot-text,
  footer.ot-public-footer .ot-foot-links{
    font-size:10.3488px!important;
    line-height:1.4!important;
    overflow-wrap:anywhere!important;
    word-break:keep-all!important;
  }

  footer .legal-links,
  footer.ot-public-footer .ot-legal{
    font-size:9.7944px!important;
  }

  footer .copyright,
  footer.ot-public-footer .ot-copyright{
    font-size:8.6856px!important;
  }
}

@media(max-width:480px){
  footer .foot-phone,
  footer.ot-public-footer .ot-foot-phone{
    font-size:14.2296px!important;
  }

  footer .foot-title,
  footer.ot-public-footer .ot-foot-title{
    font-size:11.4576px!important;
  }

  footer .foot-text,
  footer .foot-links,
  footer.ot-public-footer .ot-foot-text,
  footer.ot-public-footer .ot-foot-links{
    font-size:9.7944px!important;
    line-height:1.35!important;
  }

  footer .legal-links,
  footer.ot-public-footer .ot-legal{
    font-size:9.24px!important;
  }

  footer .copyright,
  footer.ot-public-footer .ot-copyright{
    font-size:8.5008px!important;
  }
}


/* ===== 하단 푸터: 대표번호 / 바로가기 / 서비스 안내 삭제 ===== */

/* 남은 회사정보만 가운데 배치 */
footer .footer-top,
footer.ot-public-footer .ot-footer-top{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-left:0!important;
  padding-right:0!important;
}

footer .footer-col,
footer.ot-public-footer .ot-footer-col{
  display:none!important;
}

footer .footer-col:nth-child(2),
footer.ot-public-footer .ot-footer-col:nth-child(2){
  display:flex!important;
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
  border-left:0!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

/* 가로형 푸터 버전이 있는 경우 */
footer.ot-public-footer .ot-footer-phone,
footer.ot-public-footer .ot-footer-quick,
footer.ot-public-footer .ot-footer-service{
  display:none!important;
}

footer.ot-public-footer .ot-footer-company{
  width:100%!important;
  max-width:900px!important;
  margin:0 auto!important;
  justify-content:center!important;
  text-align:center!important;
}

/* 모바일에서도 회사정보만 화면폭에 맞게 */
@media(max-width:720px){
  footer .footer-col:nth-child(2),
  footer.ot-public-footer .ot-footer-col:nth-child(2){
    max-width:100%!important;
    padding:0 12px!important;
  }

  footer.ot-public-footer .ot-footer-company{
    max-width:100%!important;
    padding:0 8px!important;
  }
}


/* ===== 폴드/태블릿 차량예약 영역만 반응형 보정 ===== */
/* 다른 섹션(헤더/차량안내/이용요금/공지/푸터)은 변경하지 않음 */

/* 펼친 폴드 및 작은 노트북/태블릿 */
@media (max-width:1279px) and (min-width:721px){
  .reservation-section .booking-panel{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .reservation-section .booking-side{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:22px 24px!important;
    min-height:118px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  .reservation-section .booking-side h2{
    margin:0 0 7px!important;
    font-size:23.2848px!important;
    line-height:1.2!important;
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
  }

  .reservation-section .booking-side p{
    margin:0!important;
    max-width:560px!important;
    font-size:13.1208px!important;
    line-height:1.5!important;
    word-break:keep-all!important;
  }

  .reservation-section .booking-side .calendar{
    margin-top:10px!important;
    font-size:27.72px!important;
  }

  .reservation-section .booking-choice{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:22px 24px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:18px!important;
  }

  .reservation-section .booking-choice-copy{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
  }

  .reservation-section .booking-choice-copy strong{
    font-size:20.4204px!important;
    line-height:1.3!important;
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }

  .reservation-section .booking-choice-copy span{
    font-size:13.1208px!important;
    line-height:1.5!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }

  .reservation-section .booking-choice-buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    gap:10px!important;
    overflow:visible!important;
  }

  .reservation-section .trip-button,
  .reservation-section .booking-choice-buttons .trip-button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:72px!important;
    box-sizing:border-box!important;
    padding:12px 16px!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:12px!important;
  }

  .reservation-section .trip-button.lookup{
    grid-column:auto!important;
  }

  .reservation-section .trip-button b{
    font-size:15.246px!important;
    line-height:1.25!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }

  .reservation-section .trip-button small{
    font-size:11.4576px!important;
    line-height:1.35!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }
}

/* 휴대폰: 기존 구조를 유지하면서 잘림만 확실히 방지 */
@media (max-width:720px){
  .reservation-section,
  .reservation-section .wrap,
  .reservation-section .booking-panel,
  .reservation-section .booking-choice,
  .reservation-section .booking-choice-buttons{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .reservation-section .booking-panel{
    grid-template-columns:1fr!important;
    overflow:hidden!important;
  }

  .reservation-section .booking-side{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }

  .reservation-section .booking-side h2,
  .reservation-section .booking-choice-copy strong{
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }

  .reservation-section .booking-choice{
    flex-direction:column!important;
    align-items:stretch!important;
    padding:18px!important;
  }

  .reservation-section .booking-choice-buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    overflow:visible!important;
  }

  .reservation-section .booking-choice-buttons .trip-button{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    grid-column:auto!important;
  }
}


/* ===== 메인 4~9번 신규 구성 ===== */
.home-extra-section{padding:10px 0}
.home-extra-box{
  background:#fff;
  border:1px solid #dbe5ef;
  border-radius:14px;
  box-shadow:0 5px 18px rgba(20,58,104,.035);
  padding:23px 24px;
}
.home-extra-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.home-extra-title{
  margin:0;
  color:#16365d;
  font-size:19.404px;
  font-weight:950;
  letter-spacing:-.35px;
}
.home-extra-sub{
  margin:5px 0 0;
  color:#78879a;
  font-size:12.012px;
  line-height:1.5;
}
.home-extra-more,.home-mini-link{
  color:#0b63ce;
  font-size:12.012px;
  font-weight:900;
  white-space:nowrap;
}

/* 4. 채널 */
.home-channel-section{padding-top:12px}
.home-channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.home-channel-card{
  min-height:136px;
  border-radius:14px;
  padding:22px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:transform .15s ease,box-shadow .15s ease;
}
.home-channel-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,58,104,.08)}
.home-channel-card.kakao{background:#fee500;color:#30280b}
.home-channel-card.naver{background:#03c75a;color:#fff}
.home-channel-label{font-size:9.7944px;font-weight:950;opacity:.72;letter-spacing:.4px}
.home-channel-card strong{margin-top:6px;font-size:18.3876px;font-weight:950}
.home-channel-card p{margin:6px 0 11px;font-size:11.4576px;line-height:1.5;opacity:.82}
.home-channel-go{
  display:inline-flex;
  width:max-content;
  padding:7px 10px;
  border-radius:7px;
  background:rgba(29,25,10,.88);
  color:#fff;
  font-size:10.9032px;
  font-weight:900;
}
.home-channel-card.naver .home-channel-go{background:#fff;color:#02a94c}

/* 5. 공항택시 이용 안내 */
.home-airport-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.home-airport-card{border:1px solid #dce6f0;border-radius:12px;overflow:hidden;background:#fff}
.home-airport-head{padding:12px 16px;background:#0e65cc;color:#fff;font-size:14.2296px;font-weight:900}
.home-airport-body{padding:14px 16px}
.home-airport-body ul{margin:0 0 10px;padding-left:18px;color:#67798e;font-size:11.4576px;line-height:1.75}

/* 6. 예약 절차 */
.home-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.home-process-grid:before{
  content:"";position:absolute;left:12.5%;right:12.5%;top:27px;height:2px;background:#d8e6f5
}
.home-process-step{position:relative;z-index:1;text-align:center;padding:0 12px}
.home-step-num{
  width:54px;height:54px;margin:0 auto 10px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#0e67d1;color:#fff;border:5px solid #eef5ff;
  box-shadow:0 0 0 1px #cfdfef;font-size:13.1208px;font-weight:950
}
.home-process-step h3{margin:0 0 5px;color:#17385f;font-size:13.2132px;font-weight:900}
.home-process-step p{margin:0;color:#78879a;font-size:10.9032px;line-height:1.5;word-break:keep-all}

/* 7. 확인사항/서비스 */
.home-info-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.home-mini-card{
  background:#fff;border:1px solid #dce6f0;border-radius:13px;
  padding:18px 20px;box-shadow:0 4px 14px rgba(20,58,104,.025)
}
.home-mini-card h2{margin:0 0 11px;color:#16375e;font-size:15.246px;font-weight:950}
.home-check-list{display:grid;gap:7px;color:#6f7f93;font-size:11.4576px;line-height:1.45}
.home-check-list div:before{content:"✓";color:#0e68d1;font-weight:950;margin-right:7px}

/* 8. 차량 선택 가이드 */
.home-vehicle-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.home-vehicle-guide-card{
  border:1px solid #dfe8f2;border-radius:12px;padding:16px 14px;background:#fbfdff
}
.home-vehicle-icon{
  width:38px;height:38px;border-radius:10px;background:#eaf3ff;
  display:flex;align-items:center;justify-content:center;font-size:19.404px;margin-bottom:10px
}
.home-vehicle-guide-card h3{margin:0 0 6px;color:#16365d;font-size:13.2132px;font-weight:900}
.home-vehicle-guide-card p{margin:0;color:#748398;font-size:10.9032px;line-height:1.5}

/* 9. FAQ */
.home-faq-list{display:grid;gap:7px}
.home-faq-item{border:1px solid #dfe7f1;border-radius:10px;background:#fff;padding:12px 14px}
.home-faq-q{display:flex;align-items:center;gap:8px;color:#193b63;font-size:12.5664px;font-weight:900}
.home-faq-q span{
  width:22px;height:22px;border-radius:50%;background:#eaf3ff;color:#0e66ce;
  display:inline-flex;align-items:center;justify-content:center;font-size:9.7944px;flex:0 0 22px
}
.home-faq-a{margin:6px 0 0 30px;color:#7a899b;font-size:10.9032px;line-height:1.5}

/* 폴드/태블릿 */
@media(max-width:900px){
  .home-airport-grid,.home-info-two{grid-template-columns:1fr}
  .home-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .home-process-grid:before{display:none}
  .home-process-step{border:1px solid #e0e8f2;border-radius:11px;padding:14px 10px}
  .home-vehicle-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 모바일 */
@media(max-width:520px){
  .home-extra-section{padding:7px 0}
  .home-extra-box{padding:18px 14px;border-radius:12px}
  .home-extra-head{align-items:flex-start;margin-bottom:14px}
  .home-extra-title{font-size:16.5396px}
  .home-extra-sub,.home-extra-more{font-size:10.3488px}
  .home-channel-card{min-height:116px;padding:17px 16px}
  .home-channel-card strong{font-size:16.2624px}
  .home-channel-card p{font-size:10.3488px}
  .home-airport-head{font-size:13.1208px;padding:10px 13px}
  .home-airport-body{padding:12px 13px}
  .home-airport-body ul{font-size:10.3488px}
  .home-process-grid{grid-template-columns:1fr}
  .home-process-step{
    display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;
    column-gap:10px;text-align:left;padding:11px 12px
  }
  .home-step-num{grid-row:1/3;width:40px;height:40px;margin:0;border-width:4px}
  .home-process-step h3{font-size:12.5664px;margin-top:1px}
  .home-process-step p{font-size:9.7944px}
  .home-mini-card{padding:15px}
  .home-mini-card h2{font-size:13.2132px}
  .home-check-list{font-size:10.3488px}
  .home-vehicle-guide-grid{grid-template-columns:1fr}
  .home-faq-a{margin-left:0;font-size:9.7944px}
  .home-faq-q{font-size:11.4576px}
}


/* ===== 모바일 상단 메뉴 잘림 방지 + 채널 좌우 배치 ===== */
@media(max-width:720px){
  .nav.ot-nav{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    font-size:clamp(9.24px,3.63vw,12.012px)!important;
  }

  .nav.ot-nav a{
    min-width:0!important;
    width:100%!important;
    padding:16px 1px 14px!important;
    text-align:center!important;
    flex:none!important;
    overflow:visible!important;
    white-space:nowrap!important;
    letter-spacing:-.35px!important;
  }

  .nav.ot-nav a:after{
    left:4px!important;
    right:4px!important;
  }

  /* 모바일에서도 카카오톡 / 네이버 블로그는 좌우 2칸 */
  .home-channel-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .home-channel-card{
    min-width:0!important;
    padding:16px 14px!important;
  }
}

@media(max-width:480px){
  .nav.ot-nav{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:0!important;
    font-size:clamp(8.778px,3.498vw,10.626px)!important;
  }

  .nav.ot-nav a{
    padding:14px 0 12px!important;
    letter-spacing:-.55px!important;
  }

  .home-channel-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .home-channel-card{
    min-height:112px!important;
    padding:13px 10px!important;
  }

  .home-channel-label{
    font-size:8.1312px!important;
    letter-spacing:0!important;
  }

  .home-channel-card strong{
    font-size:14.2296px!important;
    line-height:1.25!important;
  }

  .home-channel-card p{
    font-size:9.24px!important;
    line-height:1.4!important;
    word-break:keep-all!important;
  }

  .home-channel-go{
    max-width:100%!important;
    padding:6px 7px!important;
    font-size:8.6856px!important;
    white-space:normal!important;
    line-height:1.25!important;
  }
}


/* ===== 모바일 상단 7개 메뉴 위로 이동 + 차량 선택 가이드 실제 대표차량 이미지 ===== */

/* 차량 선택 가이드: 차량안내 > 대표 차량 4칸과 동일 이미지 */
.home-vehicle-guide-card{
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.home-vehicle-guide-image{
  width:100%!important;
  height:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 12px 6px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.home-vehicle-guide-image img{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:132px!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.home-vehicle-guide-info{
  padding:12px 14px 15px!important;
  border-top:1px solid #edf2f7!important;
}
.home-vehicle-guide-info h3{
  margin:0 0 6px!important;
  color:#16365d!important;
  font-size:13.2132px!important;
  font-weight:900!important;
}
.home-vehicle-guide-info p{
  margin:0!important;
  color:#748398!important;
  font-size:10.9032px!important;
  line-height:1.5!important;
}

/* 7개 메뉴 스크롤 방식 유지 + 글자 30% 축소 + 위치를 기존보다 50% 더 위로 */
@media(max-width:720px){
  .site-header .nav.ot-nav{
    transform:translateY(-12px)!important;
    font-size:11.4576px!important;
  }

  .site-header .nav.ot-nav a{
    padding:6px 0 22px!important;
    line-height:1.2!important;
    font-size:11.4576px!important;
  }

  .site-header .nav.ot-nav a:after{
    height:2px!important;
    bottom:2px!important;
  }

  .home-vehicle-guide-image{
    height:128px!important;
  }

  .home-vehicle-guide-image img{
    max-height:112px!important;
  }
}

@media(max-width:480px){
  .site-header .nav.ot-nav{
    transform:translateY(-12px)!important;
    font-size:9.8868px!important;
  }

  .site-header .nav.ot-nav a{
    padding:5px 0 21px!important;
    line-height:1.2!important;
    font-size:9.8868px!important;
  }

  .site-header .nav.ot-nav a:after{
    bottom:2px!important;
  }

  /* 모바일도 대표 차량 이미지 4칸 형태 유지: 2 x 2 */
  .home-vehicle-guide-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .home-vehicle-guide-image{
    height:104px!important;
    padding:8px 8px 4px!important;
  }

  .home-vehicle-guide-image img{
    max-height:92px!important;
  }

  .home-vehicle-guide-info{
    padding:9px 9px 11px!important;
  }

  .home-vehicle-guide-info h3{
    font-size:12.5664px!important;
  }

  .home-vehicle-guide-info p{
    font-size:9.6096px!important;
    line-height:1.4!important;
    word-break:keep-all!important;
  }
}


/* ===== 모바일 상단 7개 메뉴 최종: 스크롤 없음 / PC처럼 한 줄 고정 ===== */
@media(max-width:720px){
  .site-header .nav.ot-nav{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    align-items:center!important;
    justify-content:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    white-space:nowrap!important;
    transform:translateY(-12px)!important;
    font-size:11.4576px!important;
  }

  .site-header .nav.ot-nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:5px 0 20px!important;
    flex:none!important;
    text-align:center!important;
    font-size:11.4576px!important;
    line-height:1.15!important;
    letter-spacing:-0.7px!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a:after{
    left:6px!important;
    right:6px!important;
    bottom:2px!important;
    height:2px!important;
  }
}

@media(max-width:480px){
  .site-header .nav.ot-nav{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:0!important;
    transform:translateY(-12px)!important;
    font-size:9.8868px!important;
  }

  .site-header .nav.ot-nav a{
    width:auto!important;
    min-width:0!important;
    padding:4px 0 19px!important;
    font-size:9.8868px!important;
    line-height:1.1!important;
    letter-spacing:-0.8px!important;
  }

  .site-header .nav.ot-nav a:after{
    left:4px!important;
    right:4px!important;
    bottom:2px!important;
  }
}



/* ===== 상단 7개 메뉴 최종 보정: 위치 30% 낮춤 + 폰트 20% 확대 / 공통 적용 ===== */
@media(min-width:1180px){
  .site-header .nav.ot-nav{
    align-items:flex-end!important;
    padding-top:8px!important;
    gap:20px!important;
    box-sizing:border-box!important;
  }

  .site-header .nav.ot-nav a{
    height:60px!important;
    font-size:17.4636px!important;
    line-height:1.1!important;
    letter-spacing:-0.2px!important;
  }
}

@media(max-width:1179px) and (min-width:721px){
  .site-header .nav.ot-nav{
    align-items:flex-end!important;
    padding-top:8px!important;
    gap:10px!important;
    box-sizing:border-box!important;
  }

  .site-header .nav.ot-nav a{
    height:60px!important;
    font-size:16.2624px!important;
    line-height:1.1!important;
    letter-spacing:-0.2px!important;
  }
}

@media(max-width:720px){
  .site-header .nav.ot-nav{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    align-items:end!important;
    justify-content:stretch!important;
    gap:0!important;
    overflow:visible!important;
    white-space:nowrap!important;
    transform:translateY(-4px)!important;
    font-size:12.7512px!important;
  }

  .site-header .nav.ot-nav a{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    padding:7px 0 18px!important;
    height:auto!important;
    text-align:center!important;
    font-size:12.7512px!important;
    line-height:1.1!important;
    letter-spacing:-1px!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a:after{
    left:3px!important;
    right:3px!important;
    bottom:2px!important;
  }
}

@media(max-width:480px){
  .site-header .nav.ot-nav{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:0!important;
    overflow:visible!important;
    white-space:nowrap!important;
    transform:translateY(-4px)!important;
    font-size:12.012px!important;
  }

  .site-header .nav.ot-nav a{
    width:auto!important;
    min-width:0!important;
    padding:6px 0 18px!important;
    font-size:12.012px!important;
    line-height:1.05!important;
    letter-spacing:-1.1px!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a:after{
    left:2px!important;
    right:2px!important;
    bottom:2px!important;
  }
}



/* === OT UNIFIED HEADER FINAL START === */

/* 공통 */
.site-header.ot-site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:9999!important;
  background:#fff!important;
  border-bottom:1px solid #e8edf3!important;
  box-shadow:0 2px 10px rgba(8,39,84,.06)!important;
}
.site-header.ot-site-header,
.site-header.ot-site-header *{
  box-sizing:border-box!important;
}
.site-header .brand.ot-brand,
.site-header .nav.ot-nav,
.site-header .phone.ot-phone{
  text-decoration:none!important;
}
.site-header .brand.ot-brand img{
  display:block!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-header .nav.ot-nav a{
  position:relative!important;
  color:#122946!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.site-header .nav.ot-nav a:hover,
.site-header .nav.ot-nav a.active{
  color:#0b63ce!important;
}
.site-header .nav.ot-nav a:after{
  content:""!important;
  position:absolute!important;
  background:#0b63ce!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
}
.site-header .nav.ot-nav a:hover:after,
.site-header .nav.ot-nav a.active:after{
  transform:scaleX(1)!important;
}
.site-header .phone.ot-phone{
  color:#0b63ce!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.header-spacer.ot-header-spacer{
  display:block!important;
  width:100%!important;
  background:#fff!important;
}

/* 1180px 이상: 메인 페이지와 동일한 PC 헤더 */
@media(min-width:1180px){
  .site-header.ot-site-header{
    height:68px!important;
    min-height:68px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:1180px!important;
    height:68px!important;
    min-height:68px!important;
    margin:0 auto!important;
    padding:0 24px!important;
    display:grid!important;
    grid-template-columns:235px 720px minmax(0,129px)!important;
    column-gap:24px!important;
    align-items:center!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    width:235px!important;
    min-width:235px!important;
    height:68px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
    line-height:0!important;
  }

  .site-header .brand.ot-brand img{
    width:235px!important;
    max-width:235px!important;
    height:62px!important;
    max-height:62px!important;
  }

  .site-header .nav.ot-nav{
    grid-column:2!important;
    width:720px!important;
    min-width:720px!important;
    max-width:720px!important;
    height:68px!important;
    min-height:68px!important;
    margin:0!important;
    padding:8px 0 0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    gap:20px!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    height:60px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 auto!important;
    font-size:17.4636px!important;
    line-height:1.1!important;
    letter-spacing:-.2px!important;
  }

  /* 파란 밑줄을 기존보다 위로 */
  .site-header .nav.ot-nav a:after{
    left:0!important;
    right:0!important;
    bottom:5px!important;
    height:3px!important;
  }

  .site-header .phone.ot-phone{
    grid-column:3!important;
    justify-self:end!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:21.3444px!important;
    text-align:right!important;
  }

  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBackdrop,
  #otFullMenuPanel{
    display:none!important;
  }

  .header-spacer.ot-header-spacer{
    height:68px!important;
    min-height:68px!important;
  }
}

/* 768~1179px: 한 줄 유지하면서 축소. 절대 줄바꿈/깨짐 방지 */
@media(min-width:768px) and (max-width:1179px){
  .site-header.ot-site-header{
    height:68px!important;
    min-height:68px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    height:68px!important;
    min-height:68px!important;
    margin:0!important;
    padding:0 clamp(10px,2vw,18px)!important;
    display:grid!important;
    grid-template-columns:minmax(170px,22vw) minmax(0,1fr) auto!important;
    column-gap:clamp(8px,1.3vw,16px)!important;
    align-items:center!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    width:min(215px,100%)!important;
    min-width:0!important;
    height:68px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    line-height:0!important;
  }

  .site-header .brand.ot-brand img{
    width:min(215px,100%)!important;
    max-width:100%!important;
    height:58px!important;
    max-height:58px!important;
  }

  .site-header .nav.ot-nav{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    height:68px!important;
    margin:0!important;
    padding:8px 0 0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:clamp(5px,.8vw,12px)!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    height:60px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    flex:0 1 auto!important;
    font-size:clamp(11.088px,1.848vw,14.784px)!important;
    line-height:1.08!important;
    letter-spacing:-.5px!important;
  }

  .site-header .nav.ot-nav a:after{
    left:0!important;
    right:0!important;
    bottom:5px!important;
    height:3px!important;
  }

  .site-header .phone.ot-phone{
    grid-column:3!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(14.784px,2.376vw,19.404px)!important;
  }

  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBackdrop,
  #otFullMenuPanel{
    display:none!important;
  }

  .header-spacer.ot-header-spacer{
    height:68px!important;
    min-height:68px!important;
  }
}

/* 767px 이하: 이전 요청대로 모바일만 전체메뉴 */
@media(max-width:767px){
  .site-header.ot-site-header{
    height:72px!important;
    min-height:72px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    margin:0!important;
    padding:0 10px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-rows:72px!important;
    align-items:center!important;
    gap:6px!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:170px!important;
    min-width:0!important;
    max-width:170px!important;
    height:64px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    line-height:0!important;
  }

  .site-header .brand.ot-brand img{
    width:170px!important;
    max-width:100%!important;
    height:56px!important;
    max-height:56px!important;
  }

  .site-header .nav.ot-nav{
    display:none!important;
  }

  .site-header .phone.ot-phone{
    display:block!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    font-size:14.2296px!important;
  }

  #otFullMenuBtn{
    display:flex!important;
    grid-column:3!important;
    grid-row:1!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    height:40px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #d5e2ef!important;
    border-radius:10px!important;
    background:#f5f8fc!important;
    color:#0b63ce!important;
    font-family:inherit!important;
    font-size:13.2132px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  .header-spacer.ot-header-spacer{
    height:72px!important;
    min-height:72px!important;
  }

  #otFullMenuBackdrop{
    display:none!important;
    position:fixed!important;
    z-index:9997!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    background:rgba(9,31,58,.42)!important;
  }
  #otFullMenuBackdrop.open{display:block!important}

  #otFullMenuPanel{
    display:block!important;
    position:fixed!important;
    z-index:9998!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 72px)!important;
    padding:18px 16px 22px!important;
    background:#fff!important;
    border-top:1px solid #e6edf5!important;
    box-shadow:0 14px 30px rgba(14,45,82,.18)!important;
    transform:translateY(-110%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .18s ease,opacity .18s ease,visibility .18s ease!important;
    overflow-y:auto!important;
  }
  #otFullMenuPanel.open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .ot-full-menu-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin:0 0 14px!important;
    padding:0 2px 12px!important;
    border-bottom:1px solid #e7edf5!important;
  }
  .ot-full-menu-title{
    color:#16375e!important;
    font-size:17.4636px!important;
    font-weight:950!important;
  }
  .ot-full-menu-sub{
    color:#7f8fa2!important;
    font-size:12.012px!important;
    font-weight:700!important;
  }
  .ot-full-menu-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .ot-full-menu-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:52px!important;
    padding:10px 8px!important;
    border:1px solid #dce7f3!important;
    border-radius:10px!important;
    background:#f7faff!important;
    color:#17385f!important;
    font-size:14.2296px!important;
    font-weight:900!important;
    text-align:center!important;
    text-decoration:none!important;
  }
  .ot-full-menu-link.active{
    background:#0b63ce!important;
    border-color:#0b63ce!important;
    color:#fff!important;
  }

  body.ot-full-menu-open{overflow:hidden!important}

  /* 기존 모바일 메뉴가 있어도 충돌하지 않게 숨김 */
  .mobile-menu-backdrop,
  .mobile-menu-panel{
    display:none!important;
  }
}

@media(max-width:390px){
  .site-header .brand.ot-brand{
    width:150px!important;
    max-width:150px!important;
  }
  .site-header .brand.ot-brand img{
    width:150px!important;
  }
  .site-header .phone.ot-phone{
    font-size:12.7512px!important;
  }
  #otFullMenuBtn{
    width:45px!important;
    font-size:13.1208px!important;
  }
}
/* === OT UNIFIED HEADER FINAL END === */



/* === OT BODY TYPOGRAPHY FINAL START === */
/* 페이지 제목/섹션 제목(h1~h4, .title, .page-title)은 기존 크기 그대로 유지 */

/* 본문 기본 폰트 */
main{
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:14.2296px!important;
}

/* 일반 내용 텍스트 및 폼 */
main :where(
  p, span, li, label, input, select, textarea, button, td, th, a
){
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:14.2296px!important;
}

/* div 기반 본문/설명 텍스트 */
main :where(
  .sub,
  .page-sub,
  .desc,
  .description,
  .info,
  .status,
  .hint,
  .help,
  .muted,
  .meta,
  .vehicle-meta,
  .vehicle-desc,
  .vehicle-specs,
  .fare-search-guide,
  .search-hint,
  .page-calc-note,
  .fare-estimate-notice,
  .calc-caption,
  .notice-title,
  .notice-date,
  .board-head,
  .board-row
){
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:14.2296px!important;
  line-height:1.55!important;
}

/* 검색창/입력창은 조금 더 작게 */
main input,
main select,
main textarea,
main .search-input,
main #fareSearch,
main #distanceKm{
  font-size:13.2132px!important;
}

/* placeholder도 동일하게 축소 */
main input::placeholder,
main textarea::placeholder{
  font-size:13.2132px!important;
}

/* 제목은 기존 디자인 강제 유지 */
main h1,
main h2,
main h3,
main h4,
main .title,
main .page-title,
main .home-extra-title,
main .panel-title h3,
main .box-head h3,
main .section-head h2{
  font-family:inherit;
}

/* 모바일에서는 본문을 한 단계 더 축소 */
@media(max-width:767px){
  main{
    font-size:13.2132px!important;
  }

  main :where(
    p, span, li, label, input, select, textarea, button, td, th, a
  ){
    font-size:13.2132px!important;
  }

  main :where(
    .sub,
    .page-sub,
    .desc,
    .description,
    .info,
    .status,
    .hint,
    .help,
    .muted,
    .meta,
    .vehicle-meta,
    .vehicle-desc,
    .vehicle-specs,
    .fare-search-guide,
    .search-hint,
    .page-calc-note,
    .fare-estimate-notice,
    .calc-caption,
    .notice-title,
    .notice-date,
    .board-head,
    .board-row
  ){
    font-size:13.2132px!important;
    line-height:1.5!important;
  }

  main input,
  main select,
  main textarea,
  main .search-input,
  main #fareSearch,
  main #distanceKm,
  main input::placeholder,
  main textarea::placeholder{
    font-size:13.1208px!important;
  }
}
/* === OT BODY TYPOGRAPHY FINAL END === */



/* ===== 메인 빠른 상담·소식 / FAQ 배치 최종 ===== */
.home-channel-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

@media(max-width:520px){
  .home-channel-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .home-channel-card{
    min-width:0!important;
    min-height:108px!important;
    padding:12px 9px!important;
  }
  .home-channel-card strong{
    font-size:14.2296px!important;
  }
  .home-channel-card p{
    font-size:9.24px!important;
    line-height:1.4!important;
  }
  .home-channel-go{
    padding:6px 7px!important;
    font-size:8.6856px!important;
    white-space:nowrap!important;
  }
  .home-channel-label{
    font-size:8.1312px!important;
  }
  .home-faq-section{
    padding-top:2px!important;
  }
}



/* === OT HOME QUICK TOGGLE START === */
.home-quick-toggle{
  padding:14px 0 20px;
  background:#fff;
}
.home-quick-toggle-box{
  overflow:hidden;
  border:1px solid #dbe5ef;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 24px rgba(17,48,84,.055);
}
.home-quick-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-bottom:1px solid #dbe5ef;
  background:#f4f7fb;
}
.home-quick-tab{
  position:relative;
  min-height:54px;
  padding:0 10px;
  border:0;
  border-right:1px solid #dbe5ef;
  background:transparent;
  color:#5e7085;
  font-family:inherit;
  font-size:14.2296px!important;
  font-weight:800;
  cursor:pointer;
}
.home-quick-tab:last-child{
  border-right:0;
}
.home-quick-tab::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:-1px;
  height:3px;
  border-radius:3px 3px 0 0;
  background:#0b63ce;
  transform:scaleX(0);
  transition:transform .18s ease;
}
.home-quick-tab.active{
  background:#fff;
  color:#0b63ce;
}
.home-quick-tab.active::after{
  transform:scaleX(1);
}
.home-quick-tab:focus-visible{
  outline:2px solid #0b63ce;
  outline-offset:-3px;
}
.home-quick-panels{
  background:#fff;
}
.home-quick-panel{
  min-height:126px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:23px 25px;
}
.home-quick-panel[hidden]{
  display:none!important;
}
.home-quick-copy{
  min-width:0;
}
.home-quick-eyebrow{
  display:block;
  margin-bottom:4px;
  color:#8795a6;
  font-size:9.7944px!important;
  font-weight:800;
  letter-spacing:.65px;
}
.home-quick-copy h3{
  margin:0 0 7px;
  color:#153c69;
  font-size:18.3876px!important;
  line-height:1.3;
  letter-spacing:-.1px;
}
.home-quick-copy p{
  margin:0;
  color:#66798e;
  font-size:13.1208px!important;
  line-height:1.65;
  word-break:keep-all;
}
.home-quick-action{
  flex:0 0 auto;
  min-width:158px;
  height:45px;
  padding:0 17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:9px;
  background:#0b63ce;
  color:#fff!important;
  font-size:13.1208px!important;
  font-weight:850;
  text-decoration:none!important;
  box-shadow:0 4px 12px rgba(11,99,206,.16);
}
.home-quick-action span{
  font-size:14.2296px!important;
}
.home-quick-action:hover{
  background:#095ab9;
}

@media(max-width:720px){
  .home-quick-toggle{
    padding:10px 0 14px;
  }
  .home-quick-toggle-box{
    border-radius:12px;
  }
  .home-quick-tab{
    min-height:48px;
    padding:0 5px;
    font-size:13.2132px!important;
  }
  .home-quick-panel{
    min-height:145px;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:14px;
    padding:18px 16px;
  }
  .home-quick-copy h3{
    font-size:17.4636px!important;
  }
  .home-quick-copy p{
    font-size:12.5664px!important;
  }
  .home-quick-action{
    width:100%;
    min-width:0;
    height:43px;
  }
}

@media(max-width:420px){
  .home-quick-tab{
    font-size:13.1208px!important;
  }
  .home-quick-tabs{
    grid-template-columns:repeat(3,1fr);
  }
}
/* === OT HOME QUICK TOGGLE END === */



/* === HOME QUICK TRIP TOGGLE START === */
.home-quick-trip-toggle{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-width:440px;
  overflow:hidden;
  border:1px solid #0b63ce;
  border-radius:9px;
  background:#fff;
}
.home-quick-trip-btn{
  height:45px;
  padding:0 15px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0b63ce!important;
  background:#fff;
  font-size:13.1208px!important;
  font-weight:850;
  text-decoration:none!important;
  white-space:nowrap;
}
.home-quick-trip-btn + .home-quick-trip-btn{
  border-left:1px solid #0b63ce;
}
.home-quick-trip-btn:hover,
.home-quick-trip-btn:focus-visible{
  background:#0b63ce;
  color:#fff!important;
}
@media(max-width:720px){
  .home-quick-trip-toggle{
    width:100%;
    min-width:0;
  }
  .home-quick-trip-btn{
    height:43px;
  }
}
/* === HOME QUICK TRIP TOGGLE END === */



/* ===== 공지사항 + FAQ 아코디언 최종 ===== */
.home-notice-top{
  padding:8px 0 4px!important;
}
.home-notice-top .notice-box{
  padding:14px 14px 12px!important;
}
.home-notice-accordion,
.home-faq-list{
  overflow:hidden;
  border:1px solid #dfe7f0;
  border-radius:11px;
  background:#fff;
}
.home-notice-item,
.home-faq-item{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
}
.home-notice-item+.home-notice-item,
.home-faq-item+.home-faq-item{
  border-top:1px solid #e7edf4!important;
}
.home-notice-q,
.home-faq-q{
  width:100%;
  min-height:48px;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#203b5b!important;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  box-sizing:border-box;
  transition:background .16s ease,color .16s ease;
}
.home-notice-q:hover,
.home-faq-q:hover,
.home-notice-item.open .home-notice-q,
.home-faq-item.open .home-faq-q{
  background:#f6faff!important;
}
.home-notice-q:focus-visible,
.home-faq-q:focus-visible{
  outline:2px solid #0b63ce;
  outline-offset:-2px;
}

/* 공지사항 질문행 */
.home-notice-q{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 100px 24px;
  align-items:center;
  gap:8px;
  padding:11px 12px!important;
}
.home-notice-num{
  color:#8a98aa;
  font-size:12.012px;
  font-weight:800;
  text-align:center;
}
.home-notice-title{
  min-width:0;
  overflow:hidden;
  color:#243c58;
  font-size:13.1208px;
  font-weight:850;
  line-height:1.45;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-notice-date{
  color:#8795a6;
  font-size:10.9032px;
  text-align:center;
  white-space:nowrap;
}
.home-accordion-icon{
  color:#64809d;
  font-size:16.5396px;
  font-weight:500;
  line-height:1;
  text-align:center;
}
.home-notice-a,
.home-faq-a{
  background:#f9fbfd;
  border-top:1px solid #e8eef5;
}
.home-notice-a[hidden],
.home-faq-a[hidden]{
  display:none!important;
}
.home-notice-a-inner{
  padding:16px 22px 17px 72px;
  color:#53677e;
  font-size:12.012px;
  line-height:1.75;
  word-break:keep-all;
}
.home-notice-content{
  white-space:normal;
}
.home-notice-detail-link{
  display:inline-flex;
  margin-top:10px;
  color:#0b63ce!important;
  font-size:10.9032px;
  font-weight:850;
  text-decoration:none!important;
}

/* FAQ는 공지사항 바로 아래, 같은 리스트 톤 */
.home-faq-section{
  padding:4px 0 10px!important;
}
.home-faq-section .home-extra-box{
  padding:14px!important;
}
.home-faq-section .home-extra-head{
  margin-bottom:10px!important;
}
.home-faq-q{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 24px;
  align-items:center;
  gap:8px;
  padding:12px 13px!important;
}
.home-faq-qmark{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eaf4ff;
  color:#0b63ce;
  font-size:12.012px;
  font-weight:950;
}
.home-faq-qtext{
  min-width:0;
  color:#203b5b;
  font-size:13.1208px;
  font-weight:850;
  line-height:1.45;
}
.home-faq-a-inner{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:8px;
  padding:14px 13px 16px;
  color:#566b82;
  font-size:12.012px;
  line-height:1.75;
  word-break:keep-all;
}
.home-faq-amark{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf2f7;
  color:#526b85;
  font-size:12.012px;
  font-weight:950;
}
.home-faq-a-inner>div{
  min-width:0;
  padding-top:2px;
}

/* 이전 FAQ 표시 규칙 무력화 */
.home-faq-a{
  margin-left:0!important;
}
.home-faq-item .home-faq-a{
  display:block;
}
.home-faq-item .home-faq-a[hidden]{
  display:none!important;
}

@media(max-width:650px){
  .home-notice-top .notice-box,
  .home-faq-section .home-extra-box{
    padding:11px!important;
  }
  .home-notice-q{
    grid-template-columns:30px minmax(0,1fr) 70px 20px;
    gap:5px;
    padding:11px 8px!important;
  }
  .home-notice-num{
    font-size:10.3488px;
  }
  .home-notice-title{
    font-size:11.4576px;
  }
  .home-notice-date{
    font-size:9.24px;
  }
  .home-accordion-icon{
    font-size:15.246px;
  }
  .home-notice-a-inner{
    padding:13px 12px 14px 43px;
    font-size:10.3488px;
    line-height:1.7;
  }
  .home-faq-q{
    grid-template-columns:28px minmax(0,1fr) 20px;
    padding:11px 9px!important;
  }
  .home-faq-qmark,
  .home-faq-amark{
    width:22px;
    height:22px;
    font-size:10.9032px;
  }
  .home-faq-qtext{
    font-size:11.4576px;
  }
  .home-faq-a-inner{
    grid-template-columns:28px minmax(0,1fr);
    padding:12px 9px 14px;
    font-size:10.3488px;
  }
}



/* =========================================================
   OT NOTICE + FAQ ACCORDION RESPONSIVE FINAL V3
   PC / TABLET / MOBILE
   ========================================================= */

/* 공통 */
.home-notice-top .notice-box,
#faq .home-extra-box{
  overflow:hidden!important;
  border:1px solid #dfe7f0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 6px 20px rgba(23,58,96,.045)!important;
}
.home-notice-top .box-head,
#faq .home-extra-head{
  padding-left:2px!important;
  padding-right:2px!important;
}
.home-notice-accordion,
#faq .home-faq-list{
  overflow:hidden!important;
  width:100%!important;
  border:1px solid #dde7f1!important;
  border-radius:12px!important;
  background:#fff!important;
}
.home-notice-item,
#faq .home-faq-item{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
}
.home-notice-item + .home-notice-item,
#faq .home-faq-item + .home-faq-item{
  border-top:1px solid #e5edf5!important;
}

/* 클릭 영역 */
.home-notice-q,
#faq .home-faq-q{
  position:relative!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#183a62!important;
  font-family:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  transition:background .16s ease!important;
  -webkit-tap-highlight-color:transparent!important;
}
.home-notice-q:hover,
#faq .home-faq-q:hover,
.home-notice-item.open .home-notice-q,
#faq .home-faq-item.open .home-faq-q{
  background:#f5f9ff!important;
}
.home-notice-q:focus-visible,
#faq .home-faq-q:focus-visible{
  outline:2px solid #0b63ce!important;
  outline-offset:-2px!important;
}
.home-accordion-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:#f0f6fd!important;
  color:#42709f!important;
  line-height:1!important;
  flex:0 0 28px!important;
}
.home-notice-item.open .home-accordion-icon,
#faq .home-faq-item.open .home-accordion-icon{
  background:#e5f1ff!important;
  color:#0b63ce!important;
}

/* ---------- PC ---------- */
.home-notice-q{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 112px 32px!important;
  align-items:center!important;
  column-gap:10px!important;
  min-height:58px!important;
  padding:12px 16px!important;
}
.home-notice-num{
  color:#8595a8!important;
  font-weight:800!important;
  text-align:center!important;
}
.home-notice-title{
  min-width:0!important;
  overflow:visible!important;
  color:#203d5f!important;
  font-weight:850!important;
  line-height:1.48!important;
  white-space:normal!important;
  word-break:keep-all!important;
}
.home-notice-date{
  color:#8393a5!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.home-notice-q .home-accordion-icon{
  justify-self:end!important;
}
.home-notice-a,
#faq .home-faq-a{
  border-top:1px solid #e5edf5!important;
  background:#f8fbff!important;
}
.home-notice-a[hidden],
#faq .home-faq-a[hidden]{
  display:none!important;
}
.home-notice-a-inner{
  padding:20px 34px 22px 80px!important;
  color:#4f657d!important;
  line-height:1.8!important;
  word-break:keep-all!important;
}
.home-notice-content{
  white-space:normal!important;
}
.home-notice-detail-link{
  display:inline-flex!important;
  align-items:center!important;
  margin-top:12px!important;
  color:#0b63ce!important;
  font-weight:850!important;
  text-decoration:none!important;
}

/* FAQ 질문 */
#faq .home-faq-q{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) 32px!important;
  align-items:center!important;
  column-gap:12px!important;
  min-height:58px!important;
  padding:12px 16px!important;
}
#faq .home-faq-qmark,
#faq .home-faq-amark{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  font-weight:950!important;
  line-height:1!important;
}
#faq .home-faq-qmark{
  background:#e7f2ff!important;
  color:#0b63ce!important;
}
#faq .home-faq-qtext{
  min-width:0!important;
  color:#193b62!important;
  font-weight:850!important;
  line-height:1.5!important;
  white-space:normal!important;
  word-break:keep-all!important;
}
#faq .home-faq-q .home-accordion-icon{
  justify-self:end!important;
}
#faq .home-faq-a-inner{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  column-gap:12px!important;
  padding:18px 48px 20px 16px!important;
  color:#4f657d!important;
  line-height:1.8!important;
  word-break:keep-all!important;
}
#faq .home-faq-amark{
  background:#edf2f7!important;
  color:#536d87!important;
}
#faq .home-faq-a-inner > div{
  min-width:0!important;
  padding-top:2px!important;
}

/* ---------- 태블릿 / 폴드 ---------- */
@media (min-width:641px) and (max-width:1024px){
  .home-notice-top,
  #faq{
    padding-left:0!important;
    padding-right:0!important;
  }
  .home-notice-q{
    grid-template-columns:44px minmax(0,1fr) 94px 30px!important;
    column-gap:8px!important;
    min-height:56px!important;
    padding:11px 13px!important;
  }
  .home-notice-a-inner{
    padding:18px 26px 20px 65px!important;
  }
  #faq .home-faq-q{
    grid-template-columns:34px minmax(0,1fr) 30px!important;
    column-gap:10px!important;
    min-height:56px!important;
    padding:11px 13px!important;
  }
  #faq .home-faq-a-inner{
    grid-template-columns:34px minmax(0,1fr)!important;
    column-gap:10px!important;
    padding:17px 38px 19px 13px!important;
  }
}

/* ---------- 모바일 ---------- */
@media (max-width:640px){
  .home-notice-top{
    padding:8px 0 4px!important;
  }
  .home-notice-top .notice-box,
  #faq .home-extra-box{
    padding:11px!important;
    border-radius:12px!important;
  }
  .home-notice-accordion,
  #faq .home-faq-list{
    border-radius:10px!important;
  }

  /* 공지: 모바일은 날짜를 제목 아래로 내려서 제목 공간 확보 */
  .home-notice-q{
    grid-template-columns:28px minmax(0,1fr) 28px!important;
    grid-template-areas:
      "num title icon"
      "num date  icon"!important;
    align-items:center!important;
    column-gap:7px!important;
    row-gap:2px!important;
    min-height:62px!important;
    padding:10px 9px!important;
  }
  .home-notice-num{
    grid-area:num!important;
    text-align:center!important;
  }
  .home-notice-title{
    grid-area:title!important;
    display:block!important;
    overflow:visible!important;
    white-space:normal!important;
    word-break:keep-all!important;
    text-overflow:clip!important;
  }
  .home-notice-date{
    grid-area:date!important;
    text-align:left!important;
  }
  .home-notice-q .home-accordion-icon{
    grid-area:icon!important;
    justify-self:end!important;
  }
  .home-notice-a-inner{
    padding:15px 13px 17px 44px!important;
    line-height:1.75!important;
  }

  /* FAQ */
  #faq{
    padding:4px 0 8px!important;
  }
  #faq .home-faq-q{
    grid-template-columns:30px minmax(0,1fr) 28px!important;
    column-gap:8px!important;
    min-height:58px!important;
    padding:10px 9px!important;
  }
  #faq .home-faq-qmark,
  #faq .home-faq-amark{
    width:25px!important;
    height:25px!important;
  }
  #faq .home-faq-a-inner{
    grid-template-columns:30px minmax(0,1fr)!important;
    column-gap:8px!important;
    padding:14px 12px 16px 9px!important;
    line-height:1.75!important;
  }
  .home-accordion-icon{
    width:26px!important;
    height:26px!important;
    flex-basis:26px!important;
  }
}

/* 초소형 모바일 */
@media (max-width:380px){
  .home-notice-top .notice-box,
  #faq .home-extra-box{
    padding:9px!important;
  }
  .home-notice-q{
    grid-template-columns:24px minmax(0,1fr) 26px!important;
    column-gap:5px!important;
    padding:9px 7px!important;
  }
  #faq .home-faq-q{
    grid-template-columns:27px minmax(0,1fr) 26px!important;
    column-gap:6px!important;
    padding:9px 7px!important;
  }
  .home-notice-a-inner{
    padding-left:37px!important;
  }
  #faq .home-faq-a-inner{
    grid-template-columns:27px minmax(0,1fr)!important;
    padding-left:7px!important;
  }
}



/* =========================================================
   공지사항 이하 타이포그래피 정리 V4
   - 제목만 굵게
   - 설명/본문/날짜/버튼 보조문구는 일반 굵기
   - PC/태블릿/모바일 좌우 정렬 통일
   ========================================================= */

/* 1. 공지사항 이하 기본 본문은 전부 일반 굵기 */
.home-notice-top,
.home-notice-top p,
.home-notice-top span,
.home-notice-top a,
.home-notice-top button,
#faq,
#faq p,
#faq span,
#faq a,
#faq button,
#quick-service,
#quick-service p,
#quick-service span,
#quick-service a,
#quick-service button,
#channels,
#channels p,
#channels span,
#channels a,
#reservation-process,
#reservation-process p,
#reservation-process span,
#reservation-check,
#reservation-check p,
#reservation-check span,
#reservation-check a,
#vehicle-guide,
#vehicle-guide p,
#vehicle-guide span,
#vehicle-guide a,
footer.ot-public-footer,
footer.ot-public-footer p,
footer.ot-public-footer span,
footer.ot-public-footer a{
  font-weight:400!important;
}

/* 2. 실제 제목만 굵게 */
.home-notice-top .box-head h3,
.home-notice-title,
#faq .home-extra-title,
#faq .home-faq-qtext,
#quick-service .home-quick-tab,
#quick-service .home-quick-copy h3,
#channels .home-extra-title,
#channels .home-channel-card strong,
#reservation-process .home-extra-title,
#reservation-process .home-process-step h3,
#reservation-check .home-mini-card h2,
#vehicle-guide .home-extra-title,
#vehicle-guide .home-vehicle-guide-card h3,
footer.ot-public-footer .ot-footer-phone,
footer.ot-public-footer .ot-footer-company b,
footer.ot-public-footer .ot-footer-quick b,
footer.ot-public-footer .ot-footer-service b{
  font-weight:800!important;
}

/* Q/A, 숫자, 아이콘은 식별용만 중간 굵기 */
#faq .home-faq-qmark,
#faq .home-faq-amark,
.home-notice-num,
.home-accordion-icon{
  font-weight:600!important;
}

/* 3. 설명/본문은 확실히 일반 굵기 */
.home-notice-date,
.home-notice-a-inner,
.home-notice-content,
.home-notice-detail-link,
#faq .home-extra-sub,
#faq .home-faq-a-inner,
#faq .home-faq-a-inner > div,
#quick-service .home-quick-eyebrow,
#quick-service .home-quick-copy p,
#quick-service .home-quick-trip-btn,
#quick-service .home-quick-action,
#channels .home-extra-sub,
#channels .home-channel-label,
#channels .home-channel-card p,
#channels .home-channel-go,
#reservation-process .home-extra-sub,
#reservation-process .home-process-step p,
#reservation-check .home-check-list,
#reservation-check .home-check-list div,
#reservation-check .home-mini-link,
#vehicle-guide .home-extra-sub,
#vehicle-guide .home-vehicle-guide-card p,
#vehicle-guide .home-extra-more,
footer.ot-public-footer .ot-footer-company span,
footer.ot-public-footer .ot-footer-quick a,
footer.ot-public-footer .ot-footer-service a,
footer.ot-public-footer .ot-footer-policy a,
footer.ot-public-footer .ot-footer-bottom{
  font-weight:400!important;
}

/* 4. 공지사항/FAQ 정렬 */
.home-notice-top .box-head,
#faq .home-extra-head,
#channels .home-extra-head,
#reservation-process .home-extra-head,
#vehicle-guide .home-extra-head{
  text-align:left!important;
}
.home-notice-title,
.home-notice-date,
.home-notice-a-inner,
.home-notice-content,
#faq .home-faq-qtext,
#faq .home-faq-a-inner,
#faq .home-faq-a-inner > div{
  text-align:left!important;
}
#faq .home-faq-qtext{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  writing-mode:horizontal-tb!important;
}

/* 5. 빠른 이용 메뉴: 제목/설명 좌측선 통일 */
#quick-service .home-quick-copy,
#quick-service .home-quick-panel{
  text-align:left!important;
}
#quick-service .home-quick-copy h3,
#quick-service .home-quick-copy p,
#quick-service .home-quick-eyebrow{
  margin-left:0!important;
  margin-right:0!important;
}
#quick-service .home-quick-trip-btn,
#quick-service .home-quick-tab,
#quick-service .home-quick-action{
  text-align:center!important;
}

/* 6. 상담·소식 카드 정렬 */
#channels .home-channel-card{
  text-align:left!important;
}
#channels .home-channel-card strong,
#channels .home-channel-card p,
#channels .home-channel-label{
  text-align:left!important;
}
#channels .home-channel-go{
  text-align:center!important;
}

/* 7. 예약 진행절차: 카드 내부 좌측 정렬 */
#reservation-process .home-process-step{
  text-align:left!important;
}
#reservation-process .home-process-step h3,
#reservation-process .home-process-step p{
  text-align:left!important;
}

/* 숫자 배지는 가운데 */
#reservation-process .home-process-num{
  text-align:center!important;
}

/* 8. 확인사항/서비스 안내 좌측선 통일 */
#reservation-check .home-mini-card,
#reservation-check .home-mini-card h2,
#reservation-check .home-check-list,
#reservation-check .home-check-list div{
  text-align:left!important;
}

/* 9. 차량 선택 가이드 좌측선 통일 */
#vehicle-guide .home-vehicle-guide-info,
#vehicle-guide .home-vehicle-guide-card h3,
#vehicle-guide .home-vehicle-guide-card p{
  text-align:left!important;
}

/* 10. footer 내용도 제목 외 일반 굵기 + 정렬 통일 */
footer.ot-public-footer .ot-footer-company,
footer.ot-public-footer .ot-footer-quick,
footer.ot-public-footer .ot-footer-service{
  text-align:left!important;
}

/* 11. 모든 카드 설명의 줄높이/문단 간격 통일 */
.home-notice-a-inner,
#faq .home-faq-a-inner,
#quick-service .home-quick-copy p,
#channels .home-channel-card p,
#reservation-process .home-process-step p,
#reservation-check .home-check-list,
#vehicle-guide .home-vehicle-guide-card p{
  line-height:1.65!important;
  letter-spacing:0!important;
}

/* 12. 모바일에서도 동일한 정렬 원칙 유지 */
@media(max-width:640px){
  .home-notice-title,
  #faq .home-faq-qtext,
  #quick-service .home-quick-copy,
  #channels .home-channel-card,
  #reservation-process .home-process-step,
  #reservation-check .home-mini-card,
  #vehicle-guide .home-vehicle-guide-info{
    text-align:left!important;
  }

  #faq .home-faq-q{
    grid-template-columns:30px minmax(0,1fr) 28px!important;
  }

  #faq .home-faq-qtext{
    min-width:0!important;
    width:auto!important;
    line-height:1.45!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  .home-notice-title{
    line-height:1.45!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
}

/* 13. 태블릿/폴드도 동일 */
@media(min-width:641px) and (max-width:1024px){
  #faq .home-faq-qtext,
  .home-notice-title,
  #reservation-process .home-process-step,
  #vehicle-guide .home-vehicle-guide-info{
    text-align:left!important;
  }
}



/* =========================================================
   공지사항 모바일 아코디언 정렬 수정 V5
   ========================================================= */

/* PC: 번호 / 제목 / 날짜 / 버튼 한 줄 */
.home-notice-q{
  grid-template-columns:44px minmax(0,1fr) 108px 32px!important;
  column-gap:10px!important;
  padding:13px 14px!important;
}
.home-notice-num{
  align-self:center!important;
}
.home-notice-title{
  align-self:center!important;
  min-width:0!important;
}
.home-notice-date{
  align-self:center!important;
}
.home-notice-q .home-accordion-icon{
  align-self:center!important;
}

/* 본문은 제목 시작선에 맞춤 */
.home-notice-a-inner{
  padding-left:68px!important;
  padding-right:42px!important;
}

/* 태블릿 */
@media(min-width:641px) and (max-width:1024px){
  .home-notice-q{
    grid-template-columns:38px minmax(0,1fr) 96px 30px!important;
    column-gap:8px!important;
    padding:12px 12px!important;
  }
  .home-notice-a-inner{
    padding-left:58px!important;
    padding-right:34px!important;
  }
}

/* 모바일: 제목/날짜 영역을 한 덩어리로 정렬 */
@media(max-width:640px){
  .home-notice-q{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr) 28px!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:
      "num title icon"
      "num date  icon"!important;
    column-gap:8px!important;
    row-gap:3px!important;
    min-height:68px!important;
    padding:11px 10px!important;
  }

  .home-notice-num{
    grid-area:num!important;
    align-self:center!important;
    justify-self:center!important;
    text-align:center!important;
  }

  .home-notice-title{
    grid-area:title!important;
    align-self:end!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:break-word!important;
    line-height:1.42!important;
  }

  .home-notice-date{
    grid-area:date!important;
    align-self:start!important;
    justify-self:start!important;
    margin:0!important;
    line-height:1.25!important;
    text-align:left!important;
  }

  .home-notice-q .home-accordion-icon{
    grid-area:icon!important;
    align-self:center!important;
    justify-self:end!important;
  }

  .home-notice-a-inner{
    padding:14px 13px 16px 48px!important;
    text-align:left!important;
  }

  .home-notice-content{
    text-align:left!important;
    line-height:1.65!important;
  }
}

/* 초소형 모바일 */
@media(max-width:380px){
  .home-notice-q{
    grid-template-columns:26px minmax(0,1fr) 26px!important;
    column-gap:6px!important;
    padding:10px 8px!important;
  }
  .home-notice-a-inner{
    padding-left:40px!important;
  }
}



/* CMS 입력 줄바꿈 보존 V6 */
#faq .home-faq-a-inner > div,
#reservation-process .home-process-step p,
#channels .home-channel-card p,
#quick-service .home-quick-copy p,
.home-notice-content,
#reservation-check .home-check-list,
#reservation-check .home-check-list div,
#vehicle-guide .home-vehicle-guide-card p{
  white-space:pre-line!important;
}


/* =========================================================
   OT HEADER ABSOLUTE FINAL V10
   메인/서브페이지 완전 동일
   768px 이상: 무조건 1단 헤더
   메뉴 파란선: 글자 아래 간격을 두고 중앙 배치
   ========================================================= */

/* PC */
@media(min-width:1180px){
  .site-header.ot-site-header{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:1180px!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    margin:0 auto!important;
    padding:0 24px!important;
    display:grid!important;
    grid-template-columns:235px 720px minmax(0,129px)!important;
    grid-template-rows:76px!important;
    column-gap:24px!important;
    row-gap:0!important;
    align-items:center!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:235px!important;
    min-width:235px!important;
    max-width:235px!important;
    height:76px!important;
    min-height:76px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    transform:none!important;
  }

  .site-header .brand.ot-brand img{
    width:235px!important;
    max-width:235px!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .site-header .nav.ot-nav{
    grid-column:2!important;
    grid-row:1!important;
    width:720px!important;
    min-width:720px!important;
    max-width:720px!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:20px!important;
    transform:none!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a{
    position:relative!important;
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:44px!important;
    margin:0!important;
    padding:0 0 12px!important;
    color:#122946!important;
    font-size:17.4636px!important;
    font-weight:800!important;
    line-height:1.1!important;
    letter-spacing:-.2px!important;
    text-align:center!important;
    text-decoration:none!important;
    transform:none!important;
  }

  .site-header .nav.ot-nav a:after{
    content:""!important;
    position:absolute!important;
    top:auto!important;
    left:50%!important;
    right:auto!important;
    bottom:2px!important;
    width:100%!important;
    height:3px!important;
    margin:0!important;
    background:#0b63ce!important;
    transform:translateX(-50%) scaleX(0)!important;
    transform-origin:center!important;
  }

  .site-header .nav.ot-nav a:hover:after,
  .site-header .nav.ot-nav a.active:after{
    transform:translateX(-50%) scaleX(1)!important;
  }

  .site-header .phone.ot-phone{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    font-size:21.3444px!important;
    transform:none!important;
  }

  .header-spacer.ot-header-spacer{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }
}

/* 태블릿 / 가로보기: 예전 2단 메뉴 규칙 완전 초기화 */
@media(min-width:768px) and (max-width:1179px){
  .site-header.ot-site-header{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:none!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    margin:0!important;
    padding:0 clamp(12px,2vw,20px)!important;
    display:grid!important;
    grid-template-columns:minmax(170px,22vw) minmax(0,1fr) auto!important;
    grid-template-rows:76px!important;
    column-gap:clamp(10px,1.4vw,18px)!important;
    row-gap:0!important;
    align-items:center!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:min(215px,100%)!important;
    min-width:0!important;
    max-width:215px!important;
    height:76px!important;
    min-height:76px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    transform:none!important;
  }

  .site-header .brand.ot-brand img{
    width:min(215px,100%)!important;
    max-width:100%!important;
    height:58px!important;
    max-height:58px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .site-header .nav.ot-nav{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:row!important;
    grid-template-columns:none!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(5px,.8vw,12px)!important;
    transform:none!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a{
    position:relative!important;
    display:flex!important;
    flex:0 1 auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 0 11px!important;
    color:#122946!important;
    font-size:clamp(11.088px,1.848vw,14.784px)!important;
    font-weight:800!important;
    line-height:1.1!important;
    letter-spacing:-.4px!important;
    text-align:center!important;
    text-decoration:none!important;
    transform:none!important;
  }

  .site-header .nav.ot-nav a:after{
    content:""!important;
    position:absolute!important;
    top:auto!important;
    left:50%!important;
    right:auto!important;
    bottom:2px!important;
    width:100%!important;
    height:3px!important;
    margin:0!important;
    background:#0b63ce!important;
    transform:translateX(-50%) scaleX(0)!important;
    transform-origin:center!important;
  }

  .site-header .nav.ot-nav a:hover:after,
  .site-header .nav.ot-nav a.active:after{
    transform:translateX(-50%) scaleX(1)!important;
  }

  .site-header .phone.ot-phone{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(14.784px,2.376vw,19.404px)!important;
    transform:none!important;
  }

  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBackdrop,
  #otFullMenuPanel{
    display:none!important;
  }

  .header-spacer.ot-header-spacer{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }
}

/* 모바일은 기존 전체메뉴 형식 유지 */
@media(max-width:767px){
  .site-header .nav.ot-nav{
    transform:none!important;
  }
}
/* === OT HEADER ABSOLUTE FINAL V10 END === */


/* =========================================================
   공지사항 / 자주 묻는 질문 답변 본문 폰트 확대 V13
   제목/날짜/Q/A 표시는 그대로, 실제 답변 내용만 확대
   ========================================================= */
.home-notice-content,
#faq .home-faq-a-inner > div{
  font-size:16.2624px!important;
  line-height:1.72!important;
  font-weight:400!important;
}

/* 태블릿 / 폴드 */
@media(min-width:641px) and (max-width:1024px){
  .home-notice-content,
  #faq .home-faq-a-inner > div{
    font-size:15.246px!important;
    line-height:1.72!important;
  }
}

/* 모바일 */
@media(max-width:640px){
  .home-notice-content,
  #faq .home-faq-a-inner > div{
    font-size:15.246px!important;
    line-height:1.7!important;
  }
}

/* 초소형 모바일 */
@media(max-width:380px){
  .home-notice-content,
  #faq .home-faq-a-inner > div{
    font-size:14.2296px!important;
  }
}
/* === FAQ NOTICE ANSWER FONT V13 END === */



/* =========================================================
   예약 전 확인사항 / 원터치 서비스 안내 내용 폰트 확대 V14
   제목은 그대로, 체크 항목 내용만 확대
   ========================================================= */
#reservation-check .home-check-list div{
  font-size:16.2624px!important;
  line-height:1.70!important;
  font-weight:400!important;
}

/* 태블릿 / 폴드 */
@media(min-width:641px) and (max-width:1024px){
  #reservation-check .home-check-list div{
    font-size:15.246px!important;
    line-height:1.70!important;
  }
}

/* 모바일 */
@media(max-width:640px){
  #reservation-check .home-check-list div{
    font-size:15.246px!important;
    line-height:1.68!important;
  }
}

/* 초소형 모바일 */
@media(max-width:380px){
  #reservation-check .home-check-list div{
    font-size:14.2296px!important;
  }
}
/* === RESERVATION CHECK CONTENT FONT V14 END === */



/* =========================================================
   메인 상단 4개 특징 좌측 이미지 V15
   ========================================================= */
.feature{
  gap:12px!important;
  justify-content:center!important;
  text-align:left!important;
}
.feature-icon{
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  background:#eef6ff!important;
  border:1px solid #d7e9fb!important;
}
.feature-icon svg{
  width:28px!important;
  height:28px!important;
  display:block!important;
  fill:none!important;
  stroke:#0b63ce!important;
  stroke-width:2.2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.feature-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.feature-copy h3{
  text-align:left!important;
}
.feature-copy p{
  text-align:left!important;
}

@media(max-width:950px){
  .feature{gap:9px!important;padding-left:12px!important;padding-right:12px!important}
  .feature-icon{flex-basis:40px!important;width:40px!important;height:40px!important;border-radius:12px!important}
  .feature-icon svg{width:25px!important;height:25px!important}
}

@media(max-width:720px){
  .feature{
    justify-content:flex-start!important;
    min-height:74px!important;
    padding:12px 10px!important;
  }
  .feature-icon{
    flex-basis:38px!important;
    width:38px!important;
    height:38px!important;
  }
  .feature-icon svg{width:24px!important;height:24px!important}
}

@media(max-width:390px){
  .feature{gap:7px!important;padding:10px 8px!important}
  .feature-icon{flex-basis:34px!important;width:34px!important;height:34px!important;border-radius:10px!important}
  .feature-icon svg{width:21px!important;height:21px!important}
}
/* === FEATURE LEFT ICON V15 END === */

/* =========================================================
   공지사항 / 자주 묻는 질문 전체 접기 V28
   ========================================================= */
.home-section-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-left:auto!important;
}
.home-section-toggle{
  flex:0 0 auto!important;
  min-width:66px!important;
  height:32px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  border:1px solid #d7e3ef!important;
  border-radius:8px!important;
  background:#f7faff!important;
  color:#47637f!important;
  font-family:inherit!important;
  font-size:12.012px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease!important;
}
.home-section-toggle:hover{
  background:#eef6ff!important;
  border-color:#bcd5ef!important;
  color:#0b63ce!important;
}
.home-section-toggle:focus-visible{
  outline:2px solid #0b63ce!important;
  outline-offset:2px!important;
}
.home-section-toggle span{
  display:inline-block!important;
  font-size:13.2132px!important;
  line-height:1!important;
  transition:transform .16s ease!important;
}
.home-section-toggle[aria-expanded="false"] span{
  transform:rotate(180deg)!important;
}
#noticeBoardBody[hidden],
#homeFaqList[hidden]{
  display:none!important;
}
.home-notice-top .box-head,
#faq .home-extra-head{
  gap:12px!important;
}
@media(max-width:640px){
  .home-section-actions{gap:6px!important}
  .home-section-toggle{
    min-width:58px!important;
    height:30px!important;
    padding:0 8px!important;
    font-size:10.9032px!important;
  }
  .home-notice-top .box-head .more{font-size:10.9032px!important}
  #faq .home-extra-head{align-items:center!important}
}
/* === HOME SECTION COLLAPSE V28 END === */


/* === HOME MEMBER CTA V37 FINAL START === */
.home-member-cta{padding:16px 0 18px;background:#fff}
.home-member-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 24px;border:1px solid #cfe0f2;border-radius:18px;background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 100%);box-shadow:0 10px 28px rgba(24,70,120,.07)}
.home-member-icon{width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#0b63ce;color:#fff;box-shadow:0 8px 18px rgba(11,99,206,.18)}
.home-member-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-member-copy{min-width:0}.home-member-kicker{display:block;margin-bottom:4px;color:#0b63ce;font-size:10.9032px!important;font-weight:900;letter-spacing:.8px}
.home-member-copy h2{margin:0 0 6px;color:#173a60;font-size:19.404px!important;line-height:1.35;letter-spacing:-.2px}
.home-member-copy p{margin:0;color:#63778e;font-size:13.1208px!important;line-height:1.65;word-break:keep-all}
.home-member-benefits{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.home-member-benefits span{padding:6px 9px;border:1px solid #d7e6f6;border-radius:999px;background:#fff;color:#456581;font-size:10.9032px!important;font-weight:800}
.home-member-actions{display:flex;gap:8px;flex-direction:column;min-width:168px}.home-member-actions a{min-height:43px;padding:0 15px;border-radius:10px;display:flex;align-items:center;justify-content:center;text-decoration:none!important;font-size:13.1208px!important;font-weight:900;white-space:nowrap}
.home-member-actions .primary{background:#0b63ce;color:#fff!important;box-shadow:0 5px 14px rgba(11,99,206,.17)}.home-member-actions .secondary{border:1px solid #bcd3eb;background:#fff;color:#174f86!important}
.home-member-card.is-member-logged-in{border-color:#b8d3f0;background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 52%,#edf8f4 100%)}
.home-member-card.is-member-logged-in .home-member-icon{background:#08724f;box-shadow:0 8px 18px rgba(8,114,79,.18)}
.home-member-card.is-member-logged-in .home-member-kicker{color:#08724f}
.home-member-card.is-member-logged-in .home-member-actions .primary{background:#173a60;border-color:#173a60}
.home-member-card.is-member-logged-in .home-member-actions .secondary{border-color:#a9c9bd;color:#176148!important}
@media(max-width:720px){.home-member-cta{padding:10px 0 14px}.home-member-card{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:17px 15px;border-radius:14px}.home-member-icon{width:48px;height:48px;border-radius:13px}.home-member-icon svg{width:27px;height:27px}.home-member-copy h2{font-size:16.5396px!important}.home-member-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;min-width:0}.home-member-actions a{min-height:42px;padding:0 8px;font-size:12.012px!important}}
@media(max-width:380px){.home-member-actions{grid-template-columns:1fr}.home-member-benefits span{font-size:9.7944px!important}}
/* === HOME MEMBER CTA V37 FINAL END === */


/* === V48 HOME TITLE SIZE STANDARD START ===
   공지사항 제목(16px) 기준으로 아래 제목 크기 통일
   자주 묻는 질문 / 차량예약 / 예약 진행절차 / 차량 선택 가이드
   ====================================================== */
.home-notice-top .box-head h3,
#faq .home-extra-title,
#quick-service .home-quick-copy h3,
#reservation-process .home-extra-title,
#vehicle-guide .home-extra-title{
  font-size:16.2624px!important;
}
/* === V48 HOME TITLE SIZE STANDARD END === */

/* =========================================================
   V88 모바일 공지사항 / 자주 묻는 질문 글자크기 보정
   - 전역 13px !important 덮어쓰기 방지
   - 섹션 제목(공지사항/자주 묻는 질문)은 기존 16px 유지
   ========================================================= */
@media(max-width:640px){
  /* 공지사항 목록 */
  .home-notice-title{
    font-size:13.1208px!important;
    line-height:1.42!important;
  }
  .home-notice-date,
  .home-notice-num{
    font-size:11.4576px!important;
  }
  .home-notice-a-inner,
  .home-notice-content{
    font-size:12.5664px!important;
    line-height:1.65!important;
  }

  /* FAQ */
  #faq .home-extra-sub{
    font-size:12.012px!important;
    line-height:1.45!important;
  }
  #faq .home-faq-qtext{
    font-size:13.1208px!important;
    line-height:1.42!important;
  }
  #faq .home-faq-qmark,
  #faq .home-faq-amark{
    font-size:11.4576px!important;
  }
  #faq .home-faq-a-inner,
  #faq .home-faq-a-inner > div{
    font-size:12.5664px!important;
    line-height:1.65!important;
  }
}
@media(max-width:380px){
  .home-notice-title,
  #faq .home-faq-qtext{
    font-size:12.5664px!important;
  }
  .home-notice-date,
  .home-notice-num{
    font-size:10.9032px!important;
  }
  .home-notice-a-inner,
  .home-notice-content,
  #faq .home-faq-a-inner,
  #faq .home-faq-a-inner > div{
    font-size:12.012px!important;
  }
}

/* V12.18 예약 진행절차 PC 정렬 복구: 숫자 바로 아래 제목/설명 */
@media (min-width:901px){
  #reservation-process .home-process-step{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
  }
  #reservation-process .home-step-num{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  #reservation-process .home-process-step h3,
  #reservation-process .home-process-step p{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}

@media(min-width:1180px){
  .site-header .nav.ot-nav{gap:14px!important;}
  .site-header .nav.ot-nav a{font-size:16.2624px!important;}
}
@media(min-width:768px) and (max-width:1179px){
  .site-header .nav.ot-nav{gap:clamp(4px,.55vw,9px)!important;}
  .site-header .nav.ot-nav a{font-size:clamp(10.164px,1.518vw,12.936px)!important;}
}


/* SOURCE: /assets/bundles/index-styles-03.css */
/* V13.15: 고객 홈페이지 모바일 글자크기·정렬 통일 */
@media (max-width:767px){
  html{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
  body{font-size:13.86px!important;line-height:1.6!important;letter-spacing:-.12px!important}

  /* 공용 헤더 */
  .site-header .phone,.site-header .ot-phone{font-size:17.094px!important;line-height:1.1!important;letter-spacing:.15px!important}
  .site-header .menu-btn,.site-header .ot-menu-btn{font-size:13.86px!important;line-height:1!important}
  #otFullMenuPanel .ot-full-menu-title{font-size:17.556px!important;line-height:1.3!important}
  #otFullMenuPanel .ot-full-menu-link,.mobile-menu-panel .mobile-menu-link{font-size:13.86px!important;line-height:1.35!important}

  /* 공용 페이지 제목 */
  .ot-common-hero-inner,.page-head,.section-head{text-align:left!important}
  .ot-common-title{font-size:23.1px!important;line-height:1.28!important;letter-spacing:-.45px!important;text-align:left!important;word-break:keep-all!important}
  .ot-common-sub{font-size:13.398px!important;line-height:1.65!important;letter-spacing:-.15px!important;text-align:left!important;word-break:keep-all!important}

  /* 본문 기본 계층 */
  main h1:not(.ot-common-title){line-height:1.3!important;word-break:keep-all!important}
  main h2,.section-title,.box-head h2,.box-head h3{font-size:19.404px!important;line-height:1.35!important;letter-spacing:-.35px!important;word-break:keep-all!important}
  main h3{font-size:17.094px!important;line-height:1.4!important;letter-spacing:-.25px!important;word-break:keep-all!important}
  main h4{font-size:15.708px!important;line-height:1.45!important;letter-spacing:-.2px!important;word-break:keep-all!important}
  main p,main li,main dd{font-size:13.398px!important;line-height:1.65!important;word-break:keep-all!important}
  main dt{font-size:13.86px!important;line-height:1.5!important}
  main small,.hint,.help,.helper,.field-help,.field-note,.sub-text,.caption{font-size:12.012px!important;line-height:1.55!important}

  /* 폼: 모바일 브라우저 자동 확대 방지 + 크기 통일 */
  main label,.field label,.form-field label,.booking-change-field label,.booking-change-section>label{font-size:13.86px!important;line-height:1.4!important;letter-spacing:-.15px!important}
  main input:not([type="checkbox"]):not([type="radio"]),
  main select,main textarea,
  #reserveForm .field input,#reserveForm .field select,#reserveForm .field textarea,
  .booking-change-body input,.booking-change-body select,.booking-change-body textarea{
    font-size:14.784px!important;line-height:1.35!important;letter-spacing:-.1px!important
  }
  main button,main .btn,main .button,main [class*="-btn"]{font-size:14.322px!important;line-height:1.25!important}

  /* 표·리스트는 본문보다 한 단계 작게 */
  main table th,main table td{font-size:12.474px!important;line-height:1.5!important;vertical-align:middle!important}

  /* 카드/안내문 정렬 */
  .info,.notice-copy,.guide-copy,.page-calc-note,.page-calc-warn,.calc-caption,.fare-policy-note p{
    font-size:12.936px!important;line-height:1.65!important;word-break:keep-all!important
  }

  /* 거리요금 계산기: 좁은 화면에서 제목이 세로로 찢어지는 현상 방지 */
  .route-address-field label{font-size:14.322px!important}
  .route-address-field input{font-size:14.784px!important;height:52px!important}
  .route-address-hint{font-size:12.012px!important;line-height:1.5!important}
  .route-suggest-name{font-size:13.86px!important;line-height:1.4!important}
  .route-suggest-address{font-size:12.012px!important;line-height:1.45!important}
  .route-kakao-guide{display:block!important;margin:8px 1px 12px!important;font-size:12.936px!important;line-height:1.62!important;text-align:left!important}
  .route-kakao-guide b{display:block!important;margin:0 0 4px!important;font-size:13.398px!important;line-height:1.4!important;white-space:normal!important;word-break:keep-all!important}
  .route-kakao-guide span{display:block!important;min-width:0!important;word-break:keep-all!important}
  .route-result-main{font-size:13.86px!important;line-height:1.4!important}
  .route-result-main strong{font-size:20.328px!important}
  .route-result-sub{font-size:12.936px!important;line-height:1.6!important}
  .calc-card h4{font-size:17.556px!important}
  .calc-card p{font-size:12.936px!important;line-height:1.6!important}
  .calc-rate-name{font-size:13.398px!important;line-height:1.45!important}
  .calc-rate-amount{font-size:15.246px!important}
  .calc-rate-kind,.calc-rate-toll,.calc-rate-surcharge{font-size:10.626px!important}
  .fare-estimate-notice{font-size:12.936px!important;line-height:1.6!important}

  /* 모바일 푸터 */
  footer.ot-public-footer .ot-footer-company,
  footer.ot-public-footer .ot-footer-quick,
  footer.ot-public-footer .ot-footer-service{font-size:11.088px!important;line-height:1.45!important;text-align:center!important}
  footer.ot-public-footer .ot-footer-company b,
  footer.ot-public-footer .ot-footer-quick b,
  footer.ot-public-footer .ot-footer-service b{font-size:12.012px!important}
  footer.ot-public-footer .ot-footer-bottom{font-size:10.164px!important;line-height:1.4!important;text-align:center!important}
}
@media (max-width:390px){
  body{font-size:13.398px!important}
  .site-header .phone,.site-header .ot-phone{font-size:15.708px!important}
  .site-header .menu-btn,.site-header .ot-menu-btn{font-size:13.398px!important}
  .ot-common-title{font-size:21.252px!important}
  .ot-common-sub{font-size:12.936px!important}
  main h2,.section-title,.box-head h2,.box-head h3{font-size:18.48px!important}
  main h3{font-size:16.632px!important}
  main p,main li,main dd{font-size:12.936px!important}
  main table th,main table td{font-size:12.012px!important}
}

/* V13.16: 모바일 한글 줄바꿈/세로 찢어짐 방지 공통 보정 */
@media (max-width:767px){
  html,body{
    word-break:keep-all!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
  }
  body :where(h1,h2,h3,h4,h5,h6,legend,label,button,.btn,.button,[class*="-btn"],th,dt,strong,b,.badge,[class*="badge"],.pill,[class*="pill"],.status,[class*="status"]){
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  body :where(h1,h2,h3,h4,h5,h6,.ot-common-title,.section-title,.box-head h2,.box-head h3){
    text-wrap:balance!important;
  }
  body :where(p,li,dd,.sub,.hint,.help,.helper,.field-help,.field-note,.caption,.info,.notice-copy,.guide-copy){
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
    text-wrap:pretty!important;
  }
  body :where(button,.btn,.button,[class*="-btn"],.badge,[class*="badge"],.pill,[class*="pill"],.status,[class*="status"],.site-header .phone,.site-header .ot-phone,.site-header .menu-btn,.site-header .ot-menu-btn){
    white-space:nowrap!important;
  }
  body :where(.grid,[class*="grid"],.row,[class*="row"],.item,[class*="item"],.card,[class*="card"],.field,[class*="field"]) > *{
    min-width:0!important;
  }
  main table th{
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  main table td{
    word-break:keep-all!important;
    hyphens:none!important;
  }
  /* 주소/경유지처럼 긴 실제 데이터는 박스 밖으로 튀지 않게 유지 */
  .waypoint-list-address,.route-waypoint-address,.route-suggest-address,.route-result-sub{
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
  }
}


/* SOURCE: /assets/common-button-icons-v13-23.css */
/* One-Touch common button icons V13.22 */
.ot-icon-applied .ot-btn-icon{
  display:inline-flex;
  width:1.08em;
  height:1.08em;
  margin-right:.42em;
  vertical-align:-.16em;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  pointer-events:none;
}
.ot-icon-applied .ot-btn-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* V13.23 버튼 그룹 공백 없는 정렬 */
:where(
  .tabs,
  .member-tabs,
  .status-tabs,
  .home-quick-tabs,
  .home-quick-trip-toggle,
  .trip-type-buttons,
  .fare-method-options,
  .picket-options,
  .reservation-member-actions,
  .member-my-actions,
  .company-cta-actions,
  .notice-detail-actions,
  .board-actions,
  .phone-actions,
  .signup-actions,
  .portal-actions,
  .pin-change-actions,
  .receipt-actions,
  .booking-actions,
  .driver-registration-actions,
  .driver-license-review-actions,
  .driver-status-record-actions,
  .admin-booking-edit-actions,
  .admin-nav-buttons,
  .dashboard-quick-grid
){
  gap:0!important;
  column-gap:0!important;
  row-gap:0!important;
}
:where(
  .tabs,
  .member-tabs,
  .status-tabs,
  .home-quick-tabs,
  .home-quick-trip-toggle,
  .trip-type-buttons,
  .fare-method-options,
  .picket-options,
  .reservation-member-actions,
  .member-my-actions,
  .company-cta-actions,
  .notice-detail-actions,
  .board-actions,
  .phone-actions,
  .signup-actions,
  .portal-actions,
  .pin-change-actions,
  .receipt-actions,
  .booking-actions,
  .driver-registration-actions,
  .driver-license-review-actions,
  .driver-status-record-actions,
  .admin-booking-edit-actions,
  .admin-nav-buttons,
  .dashboard-quick-grid
) > :is(button,a,.btn){
  margin:0!important;
  min-width:0!important;
}

/* 예약조회 액션: 2열 + 행 사이 공백 0 */
.lookup-button-layout{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:12px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  border:1px solid #d7e2ee!important;
  background:#fff!important;
}
.lookup-button-layout .btn{
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  border-radius:0!important;
  border:0!important;
  border-right:1px solid #d7e2ee!important;
  border-bottom:1px solid #d7e2ee!important;
  box-shadow:none!important;
  text-align:center!important;
  justify-content:center!important;
}
.lookup-button-layout .btn:nth-child(2n){border-right:0!important}
.lookup-button-layout .booking-reuse-open{
  grid-column:1 / -1!important;
  border-right:0!important;
}
.lookup-button-layout .lookup-action-full{
  grid-column:1 / -1!important;
  border-right:0!important;
}
.lookup-button-layout .btn:nth-last-child(-n+2){border-bottom:0!important}
.lookup-button-layout .booking-reuse-open:last-child{border-bottom:0!important}
.lookup-button-layout .lookup-action-full:last-child{border-bottom:0!important}
.lookup-doc-actions,.lookup-booking-actions{display:contents!important}
@media(max-width:420px){
  .lookup-button-layout .btn{min-height:46px!important;padding-left:8px!important;padding-right:8px!important}
}


/* SOURCE: /assets/bundles/index-styles-02.css */
/* V13.24 - 메인 모바일 폰트만 균형 조정. 레이아웃/간격/기능 변경 없음 */
@media (max-width:767px){
  .home-mini-card h2{font-size:18px!important}
  .home-check-list{font-size:14px!important}
  .home-extra-title{font-size:18px!important}
  .home-extra-sub{font-size:13px!important}
  .home-extra-more,.home-mini-link{font-size:13px!important}

  .home-process-step h3{font-size:15.5px!important}
  .home-process-step p{font-size:12.8px!important}
  .home-step-num{font-size:13.5px!important}

  .home-vehicle-guide-card h3{font-size:14.5px!important}
  .home-vehicle-guide-card p{font-size:12.5px!important}

  .home-channel-card strong{font-size:16px!important}
  .home-channel-card p{font-size:12.5px!important}
  .home-channel-label{font-size:11px!important}
  .home-channel-go{font-size:12px!important}

  .home-airport-head{font-size:15px!important}
  .home-airport-body ul{font-size:13px!important}

  .home-faq-q{font-size:14px!important}
  .home-faq-a{font-size:12.8px!important}
}
@media (max-width:390px){
  .home-mini-card h2{font-size:17px!important}
  .home-check-list{font-size:13.5px!important}
  .home-extra-title{font-size:17px!important}
  .home-process-step h3{font-size:15px!important}
  .home-process-step p{font-size:12.5px!important}
}

/* V13.24 - 메인 특정 섹션 모바일 정교화 */

/* 예약 전 확인사항 / 원터치 서비스 안내 */
@media (max-width:767px){
  #reservation-check .home-mini-card h2{
    font-size:17px!important;
    line-height:1.3!important;
    margin-bottom:12px!important;
  }
  #reservation-check .home-check-list,
  #reservation-check .home-check-list div{
    font-size:13.6px!important;
    line-height:1.58!important;
  }

  /* 예약 진행절차: 숫자 배지와 제목을 정확히 같은 높이에 정렬 */
  #reservation-process .home-process-step{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    grid-template-areas:
      "num title"
      "desc desc"!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:8px!important;
    text-align:left!important;
  }
  #reservation-process .home-step-num{
    grid-area:num!important;
    align-self:center!important;
    justify-self:start!important;
    margin:0!important;
    transform:none!important;
  }
  #reservation-process .home-process-step h3{
    grid-area:title!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
    font-size:15.5px!important;
    line-height:1.2!important;
  }
  #reservation-process .home-process-step p{
    grid-area:desc!important;
    margin:0!important;
    padding:0!important;
    font-size:12.8px!important;
    line-height:1.55!important;
  }

  /* 빠른 상담 · 소식: 브랜드 이미지 추가 */
  #channels .home-channel-card{
    position:relative!important;
  }
  #channels .home-channel-brand-row{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:4px 0 6px!important;
    min-width:0!important;
  }
  #channels .home-channel-brand-icon{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    display:block!important;
    object-fit:contain!important;
    border-radius:9px!important;
    box-shadow:0 2px 8px rgba(0,0,0,.10)!important;
  }
  #channels .home-channel-brand-row strong{
    margin:0!important;
    font-size:14.5px!important;
    line-height:1.25!important;
  }
  #channels .home-channel-card p{
    font-size:11.2px!important;
    line-height:1.45!important;
  }
  #channels .home-channel-go{
    font-size:10.5px!important;
  }
}
@media (max-width:390px){
  #reservation-check .home-mini-card h2{font-size:16.5px!important}
  #reservation-check .home-check-list,
  #reservation-check .home-check-list div{font-size:13.2px!important}
  #reservation-process .home-process-step{grid-template-columns:40px minmax(0,1fr)!important}
  #channels .home-channel-brand-icon{width:31px!important;height:31px!important;flex-basis:31px!important}
  #channels .home-channel-brand-row strong{font-size:14px!important}
}

/* V13.26 - 요청된 메인 모바일 텍스트/마이페이지 정렬만 보정 */
@media (max-width:767px){

  /* 마이페이지 혜택 3개를 같은 줄로 정렬 */
  #member-service .home-member-benefits{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
    width:100%!important;
    flex-wrap:nowrap!important;
    margin-top:8px!important;
  }
  #member-service .home-member-benefits span{
    min-width:0!important;
    padding:5px 3px!important;
    text-align:center!important;
    font-size:10.2px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
  }

  /* FAQ 제목은 공지사항 제목과 정확히 같은 크기 */
  .home-notice-top .box-head h3,
  #faq .home-extra-title{
    font-size:16.2624px!important;
    line-height:1.35!important;
  }

  /* FAQ 질문/답변 폰트 축소 */
  #faq .home-extra-sub{
    font-size:11.5px!important;
    line-height:1.45!important;
  }
  #faq .home-faq-qtext{
    font-size:12.1px!important;
    line-height:1.42!important;
  }
  #faq .home-faq-qmark,
  #faq .home-faq-amark{
    font-size:10.5px!important;
  }
  #faq .home-faq-a-inner,
  #faq .home-faq-a-inner > div{
    font-size:11.2px!important;
    line-height:1.58!important;
  }

  /* 예약 전 확인사항 / 원터치 서비스 안내 폰트 축소 */
  #reservation-check .home-mini-card h2{
    font-size:15.5px!important;
    line-height:1.3!important;
    margin-bottom:10px!important;
  }
  #reservation-check .home-check-list,
  #reservation-check .home-check-list div{
    font-size:12.4px!important;
    line-height:1.55!important;
  }
}

@media (max-width:390px){
  #member-service .home-member-benefits span{
    font-size:9.5px!important;
    padding:5px 2px!important;
  }
  #faq .home-faq-qtext{font-size:11.7px!important}
  #faq .home-faq-a-inner,
  #faq .home-faq-a-inner > div{font-size:10.9px!important}
  #reservation-check .home-mini-card h2{font-size:15px!important}
  #reservation-check .home-check-list,
  #reservation-check .home-check-list div{font-size:12px!important}
}

/* V13.80 빠른 상담·소식: 카카오톡 채널 공식 심볼 이미지 사용 */
#channels .home-channel-brand-svg{
  overflow:hidden!important;
  line-height:0!important;
}
#channels .home-channel-brand-svg svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
#channels .home-channel-label{display:none!important}

/* V13.28 예약 진행절차 모바일/태블릿 간격·정렬 통일 */
@media (max-width:900px){
  #reservation-process .home-process-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  #reservation-process .home-process-grid:before{
    display:none!important;
  }
  #reservation-process .home-process-step{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:92px!important;
    padding:14px 16px!important;
    gap:12px!important;
    border:1px solid #e0e8f2!important;
    border-radius:11px!important;
    text-align:left!important;
  }
  #reservation-process .home-step-num{
    flex:0 0 54px!important;
    width:54px!important;
    height:54px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    border-width:5px!important;
    transform:none!important;
  }
  #reservation-process .home-process-step h3{
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    align-self:center!important;
    font-size:15.5px!important;
    line-height:1.25!important;
    text-align:left!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }
  #reservation-process .home-process-step p{
    display:none!important;
  }
}

@media (max-width:520px){
  #reservation-process .home-process-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #reservation-process .home-process-step{
    min-height:78px!important;
    padding:11px 14px!important;
    gap:12px!important;
  }
  #reservation-process .home-step-num{
    flex-basis:46px!important;
    width:46px!important;
    height:46px!important;
    border-width:4px!important;
  }
  #reservation-process .home-process-step h3{
    font-size:15px!important;
    line-height:1.25!important;
  }
}

@media (max-width:390px){
  #reservation-process .home-process-step{
    min-height:74px!important;
    padding:10px 12px!important;
    gap:11px!important;
  }
  #reservation-process .home-step-num{
    flex-basis:44px!important;
    width:44px!important;
    height:44px!important;
  }
  #reservation-process .home-process-step h3{
    font-size:14.5px!important;
  }
}

/* V13.29 빠른 상담·소식 카드 문구 정렬 통일 + 카카오 문구 2줄 */
#channels .home-channel-grid{
  align-items:stretch!important;
}
#channels .home-channel-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
#channels .home-channel-brand-row{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-height:72px!important;
  margin:0 0 18px!important;
}
#channels .home-channel-brand-icon{
  flex:0 0 64px!important;
  width:64px!important;
  height:64px!important;
}
#channels .home-channel-brand-row strong{
  margin:0!important;
  line-height:1.18!important;
}
#channels .home-channel-card p{
  margin:0 0 18px!important;
  min-height:2.9em!important;
  line-height:1.45!important;
  letter-spacing:-0.01em!important;
}
#channels .home-channel-go{
  margin-top:auto!important;
  align-self:flex-start!important;
}
#channels .home-channel-card p br{
  display:block!important;
  content:""!important;
}

@media (max-width:900px){
  #channels .home-channel-brand-row{
    gap:12px!important;
    min-height:64px!important;
    margin:0 0 14px!important;
  }
  #channels .home-channel-brand-icon{
    flex-basis:56px!important;
    width:56px!important;
    height:56px!important;
  }
  #channels .home-channel-card p{
    margin:0 0 14px!important;
    min-height:2.8em!important;
  }
}

@media (max-width:520px){
  #channels .home-channel-card{
    min-height:0!important;
    padding:14px 12px!important;
  }
  #channels .home-channel-brand-row{
    gap:10px!important;
    min-height:48px!important;
    margin:0 0 10px!important;
  }
  #channels .home-channel-brand-icon{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    border-radius:10px!important;
  }
  #channels .home-channel-brand-row strong{
    font-size:14px!important;
    line-height:1.2!important;
  }
  #channels .home-channel-card p{
    font-size:10.8px!important;
    line-height:1.45!important;
    min-height:2.8em!important;
    margin:0 0 10px!important;
  }
  #channels .home-channel-go{
    font-size:9.6px!important;
    line-height:1.25!important;
  }
}

/* CMS에서 줄바꿈이 들어온 카카오톡 안내문을 모바일에서도 그대로 2줄 표시 */
#channels .home-channel-card.kakao p{
  white-space:pre-line!important;
}


/* SOURCE: /assets/customer-responsive-font-fit-v13-62.css */
/* V13.62: customer-facing responsive typography fit (PC / tablet / mobile) */
:root{--ot-v1362-font-fit:1}
@media (min-width:1025px){
  main :where(p,li,dd,.info,.notice-copy,.guide-copy,.field-help,.field-note,.caption){font-size:clamp(13px,.88vw,14px)!important;line-height:1.62!important}
  main :where(table th,table td){font-size:clamp(11.5px,.78vw,13px)!important;line-height:1.42!important}
  main :where(label,dt){font-size:clamp(13px,.86vw,14px)!important}
}
@media (min-width:768px) and (max-width:1024px){
  main :where(p,li,dd,.info,.notice-copy,.guide-copy,.field-help,.field-note,.caption){font-size:12.8px!important;line-height:1.58!important}
  main :where(table th,table td){font-size:11.6px!important;line-height:1.38!important}
  main :where(label,dt){font-size:13px!important}
  .ot-common-title{font-size:25px!important;line-height:1.25!important}
  .ot-common-sub{font-size:13px!important;line-height:1.55!important}
}
@media (max-width:767px){
  main :where(p,li,dd,.info,.notice-copy,.guide-copy,.field-help,.field-note,.caption){font-size:12.4px!important;line-height:1.56!important}
  main :where(table th,table td){font-size:11.2px!important;line-height:1.35!important}
  main :where(label,dt){font-size:12.8px!important;line-height:1.35!important}
  main h2,.section-title,.box-head h2,.box-head h3{font-size:18px!important;line-height:1.3!important}
  main h3{font-size:16px!important;line-height:1.34!important}
  main h4{font-size:14.6px!important;line-height:1.38!important}
  .ot-common-title{font-size:21.5px!important;line-height:1.24!important}
  .ot-common-sub{font-size:12.5px!important;line-height:1.52!important}
}
@media (max-width:390px){
  main :where(p,li,dd,.info,.notice-copy,.guide-copy,.field-help,.field-note,.caption){font-size:12px!important}
  main :where(table th,table td){font-size:10.8px!important}
  .ot-common-title{font-size:20.5px!important}
  .ot-common-sub{font-size:12.1px!important}
}


/* SOURCE: /assets/customer-header-responsive-v1384.css */
/* V13.84 CUSTOMER HEADER RESPONSIVE CONTRACT
   모든 고객 페이지가 동일한 헤더 규칙을 사용하도록 마지막에 로드합니다.
   - PC 1180px 이상: 전체 내비게이션
   - 태블릿/폴더블 1179px 이하: 로고 + 전화번호 + 메뉴 버튼
   - 모바일 767px 이하: 축소 헤더
*/

.site-header.ot-site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:9999!important;
  background:#fff!important;
  border-bottom:1px solid #e7edf4!important;
  box-shadow:0 2px 10px rgba(8,39,84,.06)!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.site-header .header-inner.ot-header-inner,
.site-header .brand.ot-brand,
.site-header .brand.ot-brand img,
.site-header .nav.ot-nav,
.site-header .phone.ot-phone,
.site-header .menu-btn.ot-menu-btn,
.header-spacer.ot-header-spacer{
  box-sizing:border-box!important;
}

/* PC */
@media (min-width:1180px){
  .site-header.ot-site-header{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }
  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:1180px!important;
    height:76px!important;
    min-height:76px!important;
    margin:0 auto!important;
    padding:0 20px!important;
    display:grid!important;
    grid-template-columns:240px minmax(0,1fr) auto!important;
    grid-template-rows:76px!important;
    align-items:center!important;
    gap:16px!important;
  }
  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:240px!important;
    min-width:0!important;
    max-width:240px!important;
    height:68px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    line-height:0!important;
  }
  .site-header .brand.ot-brand img{
    width:240px!important;
    max-width:100%!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .nav.ot-nav{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:clamp(8px,1vw,14px)!important;
    overflow:visible!important;
    transform:none!important;
  }
  .site-header .nav.ot-nav a{
    flex:0 0 auto!important;
    min-width:0!important;
    white-space:nowrap!important;
    font-size:clamp(13.2px,1.05vw,15.4px)!important;
    line-height:1.15!important;
  }
  .site-header .phone.ot-phone{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(17px,1.45vw,20px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn,
  #otFullMenuBackdrop,
  #otFullMenuPanel{
    display:none!important;
  }
  .header-spacer.ot-header-spacer{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }
}

/* 태블릿 / 펼친 폴더블 */
@media (max-width:1179px){
  .site-header.ot-site-header{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }
  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:none!important;
    height:76px!important;
    min-height:76px!important;
    margin:0!important;
    padding:0 16px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-rows:76px!important;
    align-items:center!important;
    gap:10px!important;
  }
  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:220px!important;
    min-width:0!important;
    max-width:220px!important;
    height:68px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    line-height:0!important;
  }
  .site-header .brand.ot-brand img{
    width:220px!important;
    max-width:100%!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .nav.ot-nav{
    display:none!important;
  }
  .site-header .phone.ot-phone{
    display:block!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:18px!important;
    line-height:1!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn{
    display:flex!important;
    grid-column:3!important;
    grid-row:1!important;
    align-items:center!important;
    justify-content:center!important;
    width:54px!important;
    min-width:54px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #d5e2ef!important;
    border-radius:11px!important;
    background:#f5f8fc!important;
    color:#0b63ce!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  .header-spacer.ot-header-spacer{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }

  #otFullMenuBackdrop{
    display:none!important;
    position:fixed!important;
    z-index:9997!important;
    top:76px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    background:rgba(9,31,58,.42)!important;
  }
  #otFullMenuBackdrop.open{
    display:block!important;
  }
  #otFullMenuPanel{
    display:block!important;
    position:fixed!important;
    z-index:9998!important;
    top:76px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 76px)!important;
    padding:18px 16px 22px!important;
    background:#fff!important;
    border-top:1px solid #e6edf5!important;
    box-shadow:0 14px 30px rgba(14,45,82,.18)!important;
    transform:translateY(-110%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .18s ease,opacity .18s ease,visibility .18s ease!important;
    overflow-y:auto!important;
  }
  #otFullMenuPanel.open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  #otFullMenuPanel .ot-full-menu-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;
  }
  #otFullMenuPanel .ot-full-menu-link{
    min-width:0!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }
  body.ot-full-menu-open{
    overflow:hidden!important;
  }
}

/* 모바일 */
@media (max-width:767px){
  .site-header.ot-site-header{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
  }
  .site-header .header-inner.ot-header-inner{
    height:72px!important;
    min-height:72px!important;
    grid-template-rows:72px!important;
    padding:0 10px!important;
    gap:6px!important;
  }
  .site-header .brand.ot-brand{
    width:170px!important;
    max-width:170px!important;
    height:64px!important;
  }
  .site-header .brand.ot-brand img{
    width:170px!important;
    height:56px!important;
    max-height:56px!important;
  }
  .site-header .phone.ot-phone{
    font-size:14.2px!important;
  }
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn{
    width:48px!important;
    min-width:48px!important;
    height:40px!important;
    font-size:13.2px!important;
  }
  .header-spacer.ot-header-spacer{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
  }
  #otFullMenuBackdrop{
    top:72px!important;
  }
  #otFullMenuPanel{
    top:72px!important;
    max-height:calc(100vh - 72px)!important;
  }
  #otFullMenuPanel .ot-full-menu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* 좁은 모바일 */
@media (max-width:390px){
  .site-header .brand.ot-brand{
    width:150px!important;
    max-width:150px!important;
  }
  .site-header .brand.ot-brand img{
    width:150px!important;
  }
  .site-header .phone.ot-phone{
    font-size:12.7px!important;
  }
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn{
    width:45px!important;
    min-width:45px!important;
    font-size:13px!important;
  }
}


/* V13.94 OVERLAP SAFE OVERRIDE: menu icon + label width is accounted for */
@media (max-width:1179px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 68px!important;gap:8px!important;padding-left:12px!important;padding-right:12px!important}
  .site-header .brand.ot-brand{width:220px!important;max-width:30vw!important;min-width:0!important}
  .site-header .brand.ot-brand img{width:100%!important;max-width:100%!important}
  .site-header .phone.ot-phone{min-width:0!important;max-width:180px!important;font-size:clamp(14px,2vw,18px)!important;letter-spacing:-.25px!important;overflow:hidden!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:68px!important;min-width:68px!important;max-width:68px!important;padding:0 7px!important;gap:5px!important;overflow:hidden!important}
}
@media (max-width:767px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 64px!important;padding:0 8px!important;gap:6px!important}
  .site-header .brand.ot-brand{width:170px!important;max-width:42vw!important;min-width:0!important}
  .site-header .brand.ot-brand img{width:100%!important;max-width:100%!important}
  .site-header .phone.ot-phone{max-width:30vw!important;font-size:clamp(11.5px,3.35vw,14.2px)!important;letter-spacing:-.45px!important;overflow:hidden!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:64px!important;min-width:64px!important;max-width:64px!important;padding:0 5px!important;gap:4px!important;font-size:12.6px!important;overflow:hidden!important}
}
@media (max-width:390px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 60px!important;padding:0 7px!important;gap:5px!important}
  .site-header .brand.ot-brand{width:150px!important;max-width:40vw!important}
  .site-header .phone.ot-phone{max-width:29vw!important;font-size:clamp(11px,3.2vw,12.5px)!important;letter-spacing:-.55px!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:60px!important;min-width:60px!important;max-width:60px!important;padding:0 4px!important;gap:3px!important;font-size:12px!important}
}


/* SOURCE: /assets/bundles/index-styles-01.css */
/* V13.90 GLOBAL UI: button alignment, compact swipe, text clipping, menu list icon */
:root{--ot-ui-btn-h:40px;--ot-ui-btn-min:104px}
html,body{max-width:100%;overflow-x:hidden}
body :where(.card,.box,.item,.panel,.section,.wrap,.details,.content,[class*="-card"],[class*="-row"],[class*="-item"]){min-width:0}
body :where(h1,h2,h3,h4,p,label,.small,.sub,.meta,td,th){max-width:100%;overflow-wrap:anywhere;word-break:keep-all}
body :where(button,.btn,.button,a.btn,input[type="submit"],input[type="button"]){
  min-height:var(--ot-ui-btn-h);box-sizing:border-box;line-height:1.2;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;text-overflow:clip!important;
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
}
body :where(.actions,.booking-actions,.signup-actions,.portal-actions,.home-member-actions,.form-actions,.driver-row-actions,.driver-registration-actions,.ride-operation-actions,.pin-change-actions,.driver-license-review-actions,.driver-qualification-actions,.commission-status-actions){
  display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:8px!important;
}
body :where(.actions,.booking-actions,.signup-actions,.portal-actions,.home-member-actions,.form-actions,.driver-row-actions,.driver-registration-actions,.ride-operation-actions,.pin-change-actions,.driver-license-review-actions,.driver-qualification-actions,.commission-status-actions) > :where(button,.btn,a.btn){
  min-width:var(--ot-ui-btn-min);min-height:var(--ot-ui-btn-h);margin:0!important;
}
/* menu list icon */
.ot-menu-list-icon{width:18px;height:18px;display:inline-flex;flex:0 0 18px;align-items:center;justify-content:center}
.ot-menu-list-icon svg{width:18px;height:18px;display:block}
#otFullMenuBtn,.menu-btn.ot-menu-btn{gap:6px!important;align-items:center!important;justify-content:center!important}
#adminMenuToggle .ot-menu-list-icon{width:22px;height:22px;flex-basis:22px}
#adminMenuToggle .ot-menu-list-icon svg{width:22px;height:22px}
/* compact horizontal swipe/data tables */
body :where([class*="table-wrap"],.policy-table,.admin-data-table,.ops-list){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin}
body table{max-width:100%}
@media(max-width:900px){
  body table{font-size:11px!important;line-height:1.35!important}
  body table :where(th,td){padding:6px 5px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:keep-all!important}
  body :where([class*="table-wrap"],.policy-table) table{min-width:620px!important}
  body :where(.actions,.booking-actions,.signup-actions,.portal-actions,.home-member-actions,.form-actions,.driver-row-actions,.driver-registration-actions,.ride-operation-actions,.pin-change-actions,.driver-license-review-actions,.driver-qualification-actions,.commission-status-actions) > :where(button,.btn,a.btn){
    flex:1 1 calc(50% - 4px)!important;min-width:0!important;max-width:none!important
  }
}
@media(max-width:480px){
  :root{--ot-ui-btn-h:42px}
  body :where(h1,h2,h3,h4,p,label,.small,.sub,.meta,td,th){overflow-wrap:anywhere!important}
}

/* V13.93 CUSTOMER MENU FIX: final mobile override */
@media(max-width:767px){
  .site-header .nav.ot-nav{display:none!important;}
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn{display:flex!important;}
  #otFullMenuBackdrop{display:none!important;}
  #otFullMenuBackdrop.open{display:block!important;}
  #otFullMenuPanel{display:block!important;}
  #otFullMenuPanel.open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

/* V13.94: final overlap / clipping guard for public pages */
html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
body :where(main,section,article,.wrap,.container,.card,.box,.panel,.row,.grid,[class*="-card"],[class*="-row"],[class*="-grid"]){min-width:0;max-width:100%}
body :where(img,video,canvas,iframe){max-width:100%;height:auto}
body :where(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
body :where(button,.btn,.button,a.btn,input[type="submit"],input[type="button"]){max-width:100%;min-width:0;overflow:hidden!important;overflow-wrap:anywhere!important}

/* tablet/fold: reserve real width for icon + menu label */
@media(max-width:1179px){
  .site-header .header-inner.ot-header-inner{
    grid-template-columns:minmax(0,1fr) auto 68px!important;
    padding-left:12px!important;padding-right:12px!important;gap:8px!important;
    overflow:visible!important;
  }
  .site-header .brand.ot-brand{width:220px!important;max-width:30vw!important;min-width:0!important;overflow:hidden!important}
  .site-header .brand.ot-brand img{width:100%!important;max-width:100%!important}
  .site-header .phone.ot-phone{
    min-width:0!important;max-width:180px!important;
    font-size:clamp(14px,2vw,18px)!important;letter-spacing:-.25px!important;
    overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important;
  }
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{
    width:68px!important;min-width:68px!important;max-width:68px!important;
    padding:0 7px!important;gap:5px!important;overflow:hidden!important;white-space:nowrap!important;
  }
}

/* phone: logo / phone / menu must always fit in one row */
@media(max-width:767px){
  .site-header.ot-site-header{height:72px!important;min-height:72px!important;max-height:72px!important;overflow:visible!important}
  .site-header .header-inner.ot-header-inner{
    width:100%!important;height:72px!important;min-height:72px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto 64px!important;grid-template-rows:72px!important;
    align-items:center!important;padding:0 8px!important;gap:6px!important;overflow:visible!important;
  }
  .site-header .brand.ot-brand{
    grid-column:1!important;grid-row:1!important;width:170px!important;max-width:42vw!important;min-width:0!important;height:64px!important;
    overflow:hidden!important;
  }
  .site-header .brand.ot-brand img{display:block!important;width:100%!important;max-width:100%!important;height:56px!important;max-height:56px!important;object-fit:contain!important;object-position:left center!important}
  .site-header .phone.ot-phone{
    grid-column:2!important;grid-row:1!important;justify-self:end!important;
    min-width:0!important;max-width:30vw!important;margin:0!important;padding:0!important;
    font-size:clamp(11.5px,3.35vw,14.2px)!important;letter-spacing:-.45px!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
  }
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{
    grid-column:3!important;grid-row:1!important;justify-self:end!important;
    width:64px!important;min-width:64px!important;max-width:64px!important;height:40px!important;
    padding:0 5px!important;gap:4px!important;font-size:12.6px!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;
  }
  #otFullMenuBtn .ot-menu-list-icon,.site-header .menu-btn.ot-menu-btn .ot-menu-list-icon{width:16px!important;height:16px!important;flex:0 0 16px!important}
  #otFullMenuBtn .ot-menu-list-icon svg,.site-header .menu-btn.ot-menu-btn .ot-menu-list-icon svg{width:16px!important;height:16px!important}
  #otFullMenuPanel{
    left:0!important;right:0!important;width:100%!important;max-width:100vw!important;box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  #otFullMenuPanel .ot-full-menu-grid{width:100%!important;max-width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #otFullMenuPanel .ot-full-menu-link{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important}
  .header-spacer.ot-header-spacer{height:72px!important;min-height:72px!important;max-height:72px!important}

  body :where(.actions,.booking-actions,.signup-actions,.portal-actions,.home-member-actions,.form-actions) > :where(button,.btn,a.btn){
    height:auto!important;min-height:42px!important;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;
  }
}

@media(max-width:390px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 60px!important;padding:0 7px!important;gap:5px!important}
  .site-header .brand.ot-brand{width:150px!important;max-width:40vw!important}
  .site-header .phone.ot-phone{max-width:29vw!important;font-size:clamp(11px,3.2vw,12.5px)!important;letter-spacing:-.55px!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:60px!important;min-width:60px!important;max-width:60px!important;padding:0 4px!important;gap:3px!important;font-size:12px!important}
  #otFullMenuBtn .ot-menu-list-icon,.site-header .menu-btn.ot-menu-btn .ot-menu-list-icon{width:15px!important;height:15px!important;flex-basis:15px!important}
  #otFullMenuBtn .ot-menu-list-icon svg,.site-header .menu-btn.ot-menu-btn .ot-menu-list-icon svg{width:15px!important;height:15px!important}
}

@media(max-width:340px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 58px!important;padding:0 6px!important;gap:4px!important}
  .site-header .brand.ot-brand{width:128px!important;max-width:39vw!important}
  .site-header .phone.ot-phone{max-width:30vw!important;font-size:10.6px!important;letter-spacing:-.65px!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:58px!important;min-width:58px!important;max-width:58px!important;font-size:11.5px!important}
}

/* V13.95 CUSTOMER MENU HARD FIX - one button / one handler */
#otFullMenuBtn{position:relative!important;z-index:10002!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}
#otFullMenuBtn .ot-menu-list-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 17px!important;width:17px!important;height:17px!important}
#otFullMenuBtn .ot-menu-list-icon svg{display:block!important;width:17px!important;height:17px!important}
#otFullMenuBtn .ot-menu-label{display:inline-block!important;white-space:nowrap!important}
@media(max-width:767px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 72px!important;padding:0 8px!important;gap:5px!important}
  .site-header .brand.ot-brand{width:154px!important;max-width:43vw!important}
  .site-header .phone.ot-phone{max-width:31vw!important;font-size:clamp(11.5px,3.2vw,13.8px)!important;letter-spacing:-.55px!important}
  #otFullMenuBtn{display:inline-flex!important;width:72px!important;min-width:72px!important;max-width:72px!important;height:42px!important;padding:0 7px!important;gap:5px!important;overflow:hidden!important}
  #otFullMenuPanel{display:block!important;box-sizing:border-box!important;left:0!important;right:0!important;width:100%!important;max-width:100vw!important}
  #otFullMenuBackdrop{display:none!important}
  #otFullMenuBackdrop.open{display:block!important}
  #otFullMenuPanel:not(.open){transform:translateY(-110%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  #otFullMenuPanel.open{transform:translateY(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
}
@media(max-width:390px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 68px!important;gap:4px!important}
  .site-header .brand.ot-brand{width:142px!important;max-width:40vw!important}
  .site-header .phone.ot-phone{max-width:30vw!important;font-size:11.5px!important}
  #otFullMenuBtn{width:68px!important;min-width:68px!important;max-width:68px!important;padding:0 5px!important;gap:4px!important;font-size:12px!important}
}
@media(max-width:340px){
  .site-header .brand.ot-brand{width:124px!important;max-width:38vw!important}
  .site-header .phone.ot-phone{font-size:10.5px!important;max-width:29vw!important}
  #otFullMenuBtn{width:66px!important;min-width:66px!important;max-width:66px!important}
}

/* V13.95b: hide stray raw menu glyphs, keep only canonical icon + label */
#otFullMenuBtn{font-size:0!important}
#otFullMenuBtn .ot-menu-list-icon{font-size:0!important}
#otFullMenuBtn .ot-menu-label{font-size:12.6px!important;line-height:1!important}
@media(max-width:390px){#otFullMenuBtn .ot-menu-label{font-size:12px!important}}


/* SOURCE: /assets/customer-i18n-v1687.css */
/* V16.7.7 customer code-based multilingual UI */
.ot-customer-lang{position:relative;z-index:10020;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.ot-lang-btn{width:40px;height:40px;border:1px solid #d5e2ef;border-radius:12px;background:#fff;color:#0b63ce;display:flex;align-items:center;justify-content:center;gap:2px;padding:0 3px;cursor:pointer;box-shadow:0 2px 8px rgba(8,39,84,.08);font-family:inherit;box-sizing:border-box}
.ot-lang-btn:hover,.ot-lang-btn:focus-visible,.ot-customer-lang.open .ot-lang-btn{background:#eef6ff;border-color:#9fc6ee;outline:none}
.ot-lang-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ot-lang-code{font-size:8.5px;font-weight:900;line-height:1;letter-spacing:-.2px;min-width:12px;text-align:center}
.ot-lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:142px;padding:7px;background:#fff;border:1px solid #dbe6f0;border-radius:12px;box-shadow:0 14px 34px rgba(8,39,84,.18);z-index:10030}
.ot-lang-menu[hidden]{display:none!important}
.ot-lang-menu button{display:block;width:100%;border:0;background:transparent;color:#16324f;text-align:left;padding:10px 12px;border-radius:8px;font-family:inherit;font-size:14px;font-weight:800;line-height:1.2;cursor:pointer;white-space:nowrap}
.ot-lang-menu button:hover,.ot-lang-menu button:focus-visible{background:#f1f7fd;outline:none}
.ot-lang-menu button.active{background:#e8f3ff;color:#075eb9}
.ot-lang-floating{position:fixed!important;top:12px;right:12px;z-index:12000!important}

/* Add the globe as a first-class header control without overlapping phone/menu. */
@media (min-width:1180px){
 .site-header .header-inner.ot-header-inner{grid-template-columns:240px minmax(0,1fr) 42px auto!important;gap:12px!important}
 .site-header .nav.ot-nav{grid-column:2!important}
 .site-header .ot-customer-lang{grid-column:3!important;grid-row:1!important;justify-self:end!important}
 .site-header .phone.ot-phone{grid-column:4!important}
 body.ot-lang-foreign .site-header .header-inner.ot-header-inner{grid-template-columns:205px minmax(0,1fr) 40px auto!important;gap:9px!important}
 body.ot-lang-foreign .site-header .brand.ot-brand{width:205px!important;max-width:205px!important}
 body.ot-lang-foreign .site-header .brand.ot-brand img{width:205px!important}
 body.ot-lang-foreign .site-header .nav.ot-nav{gap:clamp(5px,.65vw,9px)!important}
 body.ot-lang-foreign .site-header .nav.ot-nav a{font-size:clamp(11.5px,.91vw,13.2px)!important;letter-spacing:-.25px!important}
 body.ot-lang-foreign .site-header .phone.ot-phone{font-size:clamp(15px,1.2vw,18px)!important}
}
@media (max-width:1179px){
 .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 42px 68px!important;gap:7px!important}
 .site-header .phone.ot-phone{grid-column:2!important}
 .site-header .ot-customer-lang{grid-column:3!important;grid-row:1!important;justify-self:center!important}
 .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{grid-column:4!important}
}
@media (max-width:767px){
 .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 36px 60px!important;gap:5px!important;padding-left:8px!important;padding-right:8px!important}
 .site-header .brand.ot-brand{max-width:38vw!important}
 .site-header .phone.ot-phone{max-width:25vw!important;font-size:clamp(10.8px,3vw,13.4px)!important}
 .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:60px!important;min-width:60px!important;max-width:60px!important;font-size:11.8px!important}
 .ot-lang-btn{width:36px;height:36px;border-radius:10px;padding:0}
 .ot-lang-btn svg{width:21px;height:21px}
 .ot-lang-code{display:none}
 .ot-lang-menu{right:-64px;top:calc(100% + 7px);min-width:132px}
 .ot-lang-menu button{font-size:13.5px;padding:10px}
}
@media (max-width:390px){
 .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 34px 56px!important;gap:4px!important;padding-left:7px!important;padding-right:7px!important}
 .site-header .brand.ot-brand{width:145px!important;max-width:38vw!important}
 .site-header .phone.ot-phone{max-width:23vw!important;font-size:clamp(10px,2.8vw,11.8px)!important;letter-spacing:-.6px!important}
 .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:56px!important;min-width:56px!important;max-width:56px!important;padding:0 3px!important;font-size:11px!important}
 .ot-lang-btn{width:34px;height:34px}
 .ot-lang-btn svg{width:20px;height:20px}
}
/* Longer translated copy should wrap naturally instead of clipping. */
body.ot-lang-foreign button,body.ot-lang-foreign a,body.ot-lang-foreign label,body.ot-lang-foreign .card,body.ot-lang-foreign .notice,body.ot-lang-foreign .legal-box{word-break:normal;overflow-wrap:anywhere}
body.ot-lang-ja,body.ot-lang-zh{line-break:strict}


/* === V16.8.5 REPEATED LANGUAGE SWITCH + MOBILE FOREIGN LAYOUT === */
@media(max-width:720px){
  body.ot-lang-foreign #quick-service .home-quick-trip-toggle{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn{
    min-width:0!important;
    height:auto!important;
    min-height:48px!important;
    padding:8px 7px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-height:1.25!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn:nth-child(3){
    border-left:0!important;
    border-top:1px solid #0b63ce!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn:nth-child(4){
    border-top:1px solid #0b63ce!important;
  }
  body.ot-lang-en #quick-service .home-quick-copy p,
  body.ot-lang-en #quick-service .home-quick-copy h3{
    word-break:normal!important;
    overflow-wrap:break-word!important;
    writing-mode:horizontal-tb!important;
  }
}
/* === V16.8.5 END === */

/* === V16.8.7 FOREIGN-LANGUAGE MOBILE FIT / NO CLIP === */
@media (max-width:720px){
  /* Home quick reservation buttons: long English/Japanese/Chinese labels use a stable 2x2 grid. */
  body.ot-lang-foreign #quick-service .home-quick-trip-toggle{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn{
    min-width:0!important;
    width:100%!important;
    height:auto!important;
    min-height:54px!important;
    padding:8px 8px!important;
    border-left:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.22!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn:nth-child(even){
    border-left:1px solid #0b63ce!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn:nth-child(n+3){
    border-top:1px solid #0b63ce!important;
  }

  /* My Page benefit pills: allow translated copy to wrap inside each cell. */
  body.ot-lang-foreign #member-service .home-member-benefits{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    align-items:stretch!important;
  }
  body.ot-lang-foreign #member-service .home-member-benefits span{
    min-width:0!important;
    min-height:48px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:6px 4px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.2!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  /* Reservation trip-type controls: never let translated labels force horizontal overflow. */
  body.ot-lang-foreign #reserveForm .trip-type-buttons{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ot-lang-foreign #reserveForm .trip-type-btn{
    min-width:0!important;
    width:100%!important;
    height:auto!important;
    min-height:52px!important;
    padding:8px 8px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.2!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  /* Verification button: stack below phone field on translated mobile layouts. */
  body.ot-lang-foreign #reserveForm .phone-auth-line{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  body.ot-lang-foreign #reserveForm .phone-auth-line > *{
    min-width:0!important;
    max-width:100%!important;
  }
  body.ot-lang-foreign #reserveForm .phone-auth-btn{
    grid-column:1!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:46px!important;
    padding:9px 10px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.2!important;
    box-sizing:border-box!important;
  }

  /* Fare-method cards: descriptions must wrap inside the card, never extend past it. */
  body.ot-lang-foreign #reserveForm .fare-method-options,
  body.ot-lang-foreign #reserveForm .fare-method-option,
  body.ot-lang-foreign #reserveForm .fare-method-title,
  body.ot-lang-foreign #reserveForm .fare-method-option small{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.ot-lang-foreign #reserveForm .fare-method-option{
    overflow:hidden!important;
  }
  body.ot-lang-foreign #reserveForm .fare-method-title{
    flex-wrap:wrap!important;
  }
  body.ot-lang-foreign #reserveForm .fare-method-option small{
    padding-left:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.45!important;
  }

  /* General translated form/card safety. */
  body.ot-lang-foreign #reserveView,
  body.ot-lang-foreign #reserveForm,
  body.ot-lang-foreign #reserveForm .field,
  body.ot-lang-foreign #reserveForm .reservation-fare-panel,
  body.ot-lang-foreign #reserveForm .intercity-distance-panel,
  body.ot-lang-foreign #reserveForm .charter-panel,
  body.ot-lang-foreign #reserveForm .departure-flight-panel{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:420px){
  body.ot-lang-en #quick-service .home-quick-trip-btn{
    font-size:11.4px!important;
  }
  body.ot-lang-en #member-service .home-member-benefits span{
    font-size:9.3px!important;
  }
  body.ot-lang-en #reserveForm .fare-method-option small{
    font-size:10.2px!important;
  }
}
/* === V16.8.7 END === */


/* SOURCE: /assets/global-button-size-v16980.css */
/* V16.9.8.0 - Global action button size normalization
   Standardizes action-button height, typography, padding and radius across customer, driver, partner and admin pages.
   Navigation tabs, language buttons, icon-only close/menu controls and FAQ toggles intentionally keep their specialized layout. */
:root{
  --ot-action-btn-height:44px;
  --ot-action-btn-pad-x:16px;
  --ot-action-btn-font-size:13.5px;
  --ot-action-btn-radius:10px;
}

:where(
  button.btn,
  a.btn,
  input.btn,
  .phone-auth-btn,
  .member-primary,
  .member-secondary,
  .search-btn,
  .driver-order-refresh,
  button.primary,
  button.secondary,
  input[type="submit"].primary,
  input[type="button"].primary
){
  box-sizing:border-box!important;
  height:var(--ot-action-btn-height)!important;
  min-height:var(--ot-action-btn-height)!important;
  max-height:var(--ot-action-btn-height)!important;
  padding:0 var(--ot-action-btn-pad-x)!important;
  border-radius:var(--ot-action-btn-radius)!important;
  font-size:var(--ot-action-btn-font-size)!important;
  line-height:1.15!important;
  font-weight:800!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  text-align:center!important;
  vertical-align:middle!important;
}

/* Preserve full/block-width behavior while keeping the same 44px height. */
:where(.btn.full,.btn.block,.member-primary,.search-btn)[style*="width:100%"],
:where(button.btn,a.btn,input.btn).full,
:where(button.btn,a.btn,input.btn).block{
  width:100%!important;
}

/* Action groups use the same vertical rhythm on all pages. */
:where(
  .actions,
  .form-actions,
  .signup-actions,
  .portal-actions,
  .pin-change-actions,
  .booking-actions,
  .driver-row-actions,
  .driver-registration-actions,
  .ride-operation-actions,
  .driver-license-review-actions,
  .driver-qualification-actions,
  .b2b-actions,
  .b2b-account-actions
){
  align-items:center!important;
}

/* Mobile keeps the exact same action-button height for consistency and touchability. */
@media(max-width:767px){
  :root{
    --ot-action-btn-height:44px;
    --ot-action-btn-pad-x:14px;
    --ot-action-btn-font-size:13px;
  }
}


/* SOURCE: /assets/mobile-tablet-ui-v161030.css */
/* V16.10.27 - mobile/tablet typography + equal action buttons.
   Desktop (>1024px) remains untouched.
   Font weights are NOT overridden here: original page/component emphasis is restored. */
@media screen and (max-width:1024px){
  :root{
    --ot-action-btn-min-height:38px;
    --ot-action-btn-pad-x:10px;
    --ot-action-btn-font-size:8.60625px; /* V16.10.25 10.125px × 0.85 */
    --ot-mobile-control-gap:8px;
  }

  /* Copy/forms: additional 15% reduction from V16.10.25. Keep original font-weight. */
  body :where(p,li,dd,dt,label,caption,.note,.desc,.description,.help,.hint,.caption,.status,.guide,.subtext,.meta,.copy){
    font-size:clamp(8.5px,.6375em,13.6px)!important;
  }
  body :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    font-size:10.2px!important;
  }

  /* Buttons: additional 15% reduction. Do not override component weight. */
  body :where(
    button:not(.ot-lang-btn):not(.ot-menu-btn):not(.menu-btn):not(.admin-menu-toggle):not([class*="close"]),
    a.btn,
    input[type="submit"],
    input[type="button"]
  ){
    box-sizing:border-box!important;
    font-size:var(--ot-action-btn-font-size)!important;
    line-height:1.2!important;
  }

  /* Known same-row action groups: equal sizing + small gap. */
  body :where(
    .actions,.form-actions,.signup-actions,.portal-actions,.pin-change-actions,.booking-actions,
    .driver-row-actions,.driver-registration-actions,.ride-operation-actions,.driver-license-review-actions,
    .driver-qualification-actions,.b2b-actions,.b2b-account-actions,.fare-mode,.quick,.vehicle-fare-tabs,
    .trip-type-buttons,.booking-service-category-buttons,.member-actions,.member-tabs,.status-tabs,
    .booking-main-tabs,.ride-stage-filters,.analytics-presets,.admin-nav-buttons,.modal-actions,.button-row,
    .btn-row,.action-row,.departure-plan-actions,.phone-auth-line
  ){
    gap:var(--ot-mobile-control-gap)!important;
  }
  body :where(
    .actions,.form-actions,.signup-actions,.portal-actions,.pin-change-actions,.booking-actions,
    .driver-row-actions,.driver-registration-actions,.ride-operation-actions,.driver-license-review-actions,
    .driver-qualification-actions,.b2b-actions,.b2b-account-actions,.fare-mode,.quick,.vehicle-fare-tabs,
    .trip-type-buttons,.booking-service-category-buttons,.member-actions,.member-tabs,.status-tabs,
    .booking-main-tabs,.ride-stage-filters,.analytics-presets,.modal-actions,.button-row,.btn-row,.action-row,
    .departure-plan-actions
  ) > :where(button,a.btn,input[type="submit"],input[type="button"]){
    flex:1 1 0!important;
    min-width:0!important;
    min-height:var(--ot-action-btn-min-height)!important;
    height:auto!important;
    padding:7px var(--ot-action-btn-pad-x)!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }

  /* Reservation login bar: My Page / Logout must be exactly the same size. */
  .reservation-member-actions{
    display:flex!important;
    align-items:stretch!important;
    gap:var(--ot-mobile-control-gap)!important;
    width:100%!important;
  }
  .reservation-member-actions > #reservationMemberLink,
  .reservation-member-actions > #reservationMemberLogout{
    flex:1 1 0!important;
    width:0!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    margin:0!important;
    padding:0 12px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1.15!important;
    font-size:var(--ot-action-btn-font-size)!important;
  }
  .reservation-member-actions > #reservationMemberLogout[hidden]{display:none!important;}

  /* Homepage quick reservation: prevent long translated labels from squeezing copy. */
  .home-quick-panel{
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:14px!important;
  }
  .home-quick-copy{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 0 auto!important;
  }
  .home-quick-copy p{
    width:auto!important;
    max-width:none!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .home-quick-trip-toggle{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:var(--ot-mobile-control-gap)!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .home-quick-trip-btn{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:auto!important;
    padding:7px 8px!important;
    border:1px solid #0b63ce!important;
    border-radius:8px!important;
    box-sizing:border-box!important;
    font-size:var(--ot-action-btn-font-size)!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .home-quick-trip-btn + .home-quick-trip-btn{border-left:1px solid #0b63ce!important;}

  /* Admin: mobile/tablet controls remain normalized, original font weights restored. */
  #app :where(button:not(.admin-menu-toggle):not([class*="close"]),a.btn,input[type="button"],input[type="submit"]){
    min-height:var(--ot-action-btn-min-height)!important;
    height:auto!important;
    max-height:none!important;
    padding:7px var(--ot-action-btn-pad-x)!important;
    border-radius:9px!important;
    font-size:var(--ot-action-btn-font-size)!important;
    line-height:1.2!important;
    box-sizing:border-box!important;
    white-space:normal!important;
  }
  #app :where(.admin-nav-buttons,.status-tabs,.booking-main-tabs,.driver-order-admin-tabs,.ride-stage-filters,.commission-detail-status-tabs,.analytics-presets){
    gap:var(--ot-mobile-control-gap)!important;
  }
  #app :where(.status-tabs,.booking-main-tabs,.driver-order-admin-tabs,.ride-stage-filters,.commission-detail-status-tabs,.analytics-presets) > button{
    flex:1 1 0!important;
    min-width:0!important;
    width:auto!important;
  }
}

@media screen and (max-width:720px){
  .home-quick-trip-toggle{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* V16.10.29 - Admin booking action grid: no horizontal scroll.
   Tablet: 3 equal columns. Mobile: 2 equal columns. Desktop untouched. */
@media screen and (max-width:1024px){
  #bookingsView .booking > .actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:minmax(48px,auto)!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    padding:2px 0 5px!important;
    margin-top:14px!important;
  }
  #bookingsView .booking > .actions > :where(button,.btn,a.btn){
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    margin:0!important;
    padding:6px 7px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:break-word!important;
    line-height:1.15!important;
    box-sizing:border-box!important;
  }
}
@media screen and (max-width:640px){
  #bookingsView .booking > .actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* V16.10.30 - MOBILE/TABLET FINAL TYPOGRAPHY + ADMIN ACTION GRID
   Desktop (>1024px) untouched.
   Typography is recalculated from the pre-reduction baseline at 70% size / approximately 70% weight. */
@media screen and (max-width:1024px){
  :root{
    --ot-action-btn-font-size:9.45px!important; /* 13.5px baseline x 70% */
    --ot-body-font-scale:.70;
    --ot-mobile-control-gap:8px;
  }

  /* baseline 70% typography: do not compound V16.10.24~27 reductions */
  body :where(p,li,dd,dt,label,small,caption,.small,.note,.desc,.description,.help,.hint,.status,.guide,.subtext,.meta,.copy){
    font-size:clamp(9px,.70em,14px)!important;
    font-weight:300!important;
  }
  body :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    font-size:11.2px!important;
    font-weight:300!important;
  }
  body :where(td,th){font-size:70%!important;font-weight:300!important;}
  body :where(b,strong){font-weight:500!important;}
  body :where(h1,h2,h3,h4,h5,h6,legend,.title,.section-title,.card-title,.panel-title,.modal-title,.page-title,.hero-title,.fare-search-title,.admin-title,.member-title,.admin-login-brand,.admin-console-name){
    font-weight:500!important;
  }
  body :where(button:not(.ot-lang-btn):not(.ot-menu-btn):not(.menu-btn):not(.admin-menu-toggle):not([class*="close"]),a.btn,input[type="submit"],input[type="button"]){
    font-size:var(--ot-action-btn-font-size)!important;
    font-weight:400!important;
  }

  /* ADMIN: every action group uses one layout rule across all admin pages/tabs.
     Navigation/status tab bars are deliberately excluded. */
  #app :where(
    .actions,
    [class*="-actions"],
    .admin-review-toolbar,
    .analytics-toolbar-bottom,
    .b2b-period-toolbar,
    .cms-toolbar,
    .driver-registration-toolbar,
    .fare-toolbar,
    .ops-toolbar,
    .ride-ops-toolbar,
    .visual-cms-toolbar,
    .visual-cms-actionbox
  ):not(.admin-brand-actions):not(.admin-nav-buttons):not(.admin-permission-head){
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    align-items:stretch!important;
  }
  #app :where(
    .actions,
    [class*="-actions"],
    .admin-review-toolbar,
    .analytics-toolbar-bottom,
    .b2b-period-toolbar,
    .cms-toolbar,
    .driver-registration-toolbar,
    .fare-toolbar,
    .ops-toolbar,
    .ride-ops-toolbar,
    .visual-cms-toolbar,
    .visual-cms-actionbox
  ):not(.admin-brand-actions):not(.admin-nav-buttons):not(.admin-permission-head) > :where(button,a.btn,input[type="submit"],input[type="button"]){
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:44px!important;
    height:44px!important;
    max-height:44px!important;
    margin:0!important;
    padding:5px 6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:break-word!important;
    line-height:1.15!important;
    box-sizing:border-box!important;
  }
  /* keep navigational/filter tab strips as navigation, not action grids */
  #app :where(.admin-nav-buttons,.status-tabs,.booking-main-tabs,.driver-order-admin-tabs,.ride-stage-filters,.commission-detail-status-tabs,.analytics-presets,.notify-category-tabs){
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
}
@media screen and (max-width:640px){
  #app :where(
    .actions,
    [class*="-actions"],
    .admin-review-toolbar,
    .analytics-toolbar-bottom,
    .b2b-period-toolbar,
    .cms-toolbar,
    .driver-registration-toolbar,
    .fare-toolbar,
    .ops-toolbar,
    .ride-ops-toolbar,
    .visual-cms-toolbar,
    .visual-cms-actionbox
  ):not(.admin-brand-actions):not(.admin-nav-buttons):not(.admin-permission-head){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* V16.10.30 consistency override for the previously more-specific booking action rule. */
@media screen and (max-width:1024px){
  #app #bookingsView .booking > .actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:44px!important;
    gap:8px!important;
    overflow:visible!important;
  }
  #app #bookingsView .booking > .actions > :where(button,.btn,a.btn){
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:5px 6px!important;
    font-size:9.45px!important;
    font-weight:400!important;
  }
}
@media screen and (max-width:640px){
  #app #bookingsView .booking > .actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* V16.10.53 integrated SEO service-area content */
.home-seo-service-area{padding:12px 0 30px}.home-seo-service-box{border:1px solid #d9e5f1;border-radius:18px;background:#fff;padding:24px;box-shadow:0 8px 24px rgba(14,47,80,.06)}.home-seo-service-head{margin-bottom:18px}.home-seo-kicker{display:block;font-size:12px;letter-spacing:.08em;color:#47729d;font-weight:700;margin-bottom:6px}.home-seo-service-head h2{margin:0 0 8px;font-size:24px;line-height:1.35}.home-seo-service-head p{margin:0;color:#5d6d7e;line-height:1.7}.home-seo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-seo-service-grid article{display:flex;flex-direction:column;gap:6px;padding:15px 16px;border-radius:13px;background:#f7faff;border:1px solid #e2ebf5}.home-seo-service-grid b{font-size:15px}.home-seo-service-grid span{font-size:14px;line-height:1.6;color:#516477}.home-seo-service-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.home-seo-service-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:11px;border:1px solid #c9d9ea;text-decoration:none;font-weight:700;color:#174f80;background:#fff}@media(max-width:767px){.home-seo-service-box{padding:18px 14px}.home-seo-service-head h2{font-size:20px}.home-seo-service-grid{grid-template-columns:1fr}.home-seo-service-actions{display:grid;grid-template-columns:1fr}.home-seo-service-actions a{width:100%}}


/* V16.10.54 SEO: visible brand identity block */
.home-brand-intro{padding:14px 0 6px;background:#fff}
.home-brand-intro-box{border:1px solid #e1ebf7;border-radius:18px;padding:20px 22px;background:#f8fbff;text-align:center}
.home-brand-intro h1{margin:0;color:#153a63;font-size:28px;line-height:1.25;letter-spacing:-.04em}
.home-brand-intro p{margin:9px auto 0;max-width:780px;color:#536476;font-size:15px;line-height:1.7}
.home-brand-intro-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:13px}
.home-brand-intro-links a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid #cfe0f3;border-radius:999px;background:#fff;color:#155ca8;font-weight:800;text-decoration:none}
.ot-footer-brand-home{color:inherit;text-decoration:none;font-weight:800}
@media(max-width:767px){.home-brand-intro{padding:10px 0 2px}.home-brand-intro-box{border-radius:14px;padding:16px 14px}.home-brand-intro h1{font-size:22px}.home-brand-intro p{font-size:13px;line-height:1.65}.home-brand-intro-links a{min-height:36px;font-size:12px;padding:7px 10px}}
