:root{
  --navy:#07184b;
  --navy-2:#0a225f;
  --navy-3:#132c6b;
  --yellow:#f4cf2d;
  --yellow-2:#ffd834;
  --light:#f5f7fb;
  --white:#ffffff;
  --ink:#16233f;
  --muted:#6c778e;
  --line:#dde3ef;
  --shadow:0 18px 45px rgba(9,27,74,.12);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Tahoma,"Segoe UI",system-ui,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}
.ab-container{width:min(1240px,calc(100% - 32px));margin-inline:auto}

.ab-header{background:linear-gradient(90deg,#05153f,#0b266a);position:sticky;top:0;z-index:50;box-shadow:0 8px 25px rgba(4,16,49,.16)}
.ab-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px}
.ab-brand{display:flex;align-items:center;gap:14px;color:#fff;flex-shrink:0}
.ab-brand img{width:74px;height:74px;object-fit:contain}
.ab-brand-copy{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}
.ab-brand-copy strong{font-size:30px;font-weight:900;letter-spacing:-.03em}
.ab-brand-copy small{font-size:16px;color:#d9e1f1}
.ab-menu{display:flex;align-items:center;gap:34px;justify-content:center;flex:1}
.ab-menu a{position:relative;color:#eef3ff;font-size:17px;font-weight:700;padding:8px 0}
.ab-menu a:after{content:"";position:absolute;right:0;left:0;bottom:-12px;height:3px;border-radius:3px;background:transparent;transition:.2s}
.ab-menu a.is-active:after,.ab-menu a:hover:after{background:var(--yellow)}
.ab-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:15px 24px;font-weight:900;transition:.2s ease;cursor:pointer}
.ab-btn:hover{transform:translateY(-1px)}
.ab-btn-yellow{background:linear-gradient(180deg,var(--yellow-2),var(--yellow));color:#091841;box-shadow:0 12px 22px rgba(244,207,45,.28)}
.ab-btn-compact{padding:13px 22px;border-radius:12px;font-size:18px}
.ab-btn-full{width:100%}

.ab-hero{background:linear-gradient(180deg,#f7f8fc 0%,#eef2f9 100%);padding:0 0 36px;overflow:hidden}
.ab-hero-wrap{position:relative;padding-top:18px;padding-bottom:16px}
.ab-hero-grid{display:grid;grid-template-columns:1.1fr .95fr;gap:0;border-radius:0 0 34px 34px;overflow:hidden;background:#fff;box-shadow:var(--shadow);min-height:560px;position:relative}
.ab-hero-visual{position:relative;background:#0f1f4f;min-height:560px;overflow:hidden}
.ab-hero-bg-road,.ab-hero-bg-city{position:absolute;inset:0;background-size:cover;background-position:center}
.ab-hero-bg-road{filter:saturate(1.05) contrast(1.05)}
.ab-hero-bg-city{width:44%;right:auto;left:0;clip-path:polygon(0 0,100% 0,70% 100%,0 100%);opacity:.85;mix-blend-mode:screen}
.ab-hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,18,54,.14) 0%,rgba(6,18,54,.50) 55%,rgba(6,18,54,.72) 100%)}
.ab-hero-note{position:absolute;left:56px;top:90px;color:#fff;font-size:44px;font-weight:900;line-height:1.2;max-width:330px;z-index:2;transform:rotate(-7deg)}
.ab-hero-note:after{content:"";display:block;width:190px;height:7px;background:var(--yellow);margin-top:8px;border-radius:10px}
.ab-hero-content{padding:74px 64px 170px 48px;display:flex;flex-direction:column;justify-content:flex-start;background:linear-gradient(180deg,#ffffff,#f4f7fc)}
.ab-kicker{color:#263f7d;font-size:24px;font-weight:800;margin-bottom:8px}
.ab-hero-content h1{margin:0;font-size:82px;line-height:1.05;color:#0d215e;font-weight:1000;letter-spacing:-.055em}
.ab-hero-content h2{margin:18px 0 14px;font-size:34px;line-height:1.45;color:#112965;font-weight:800}
.ab-hero-content p{margin:0;color:#56647f;font-size:21px;max-width:620px}

.ab-booking-card{position:absolute;left:210px;right:510px;bottom:34px;background:#fff;border-radius:28px;box-shadow:0 18px 35px rgba(15,30,77,.16);z-index:3;border:1px solid rgba(8,26,76,.08)}
.ab-booking-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.ab-booking-tabs button{padding:22px 18px;background:transparent;border:0;font-size:24px;font-weight:900;color:#8391a8;position:relative}
.ab-booking-tabs button.is-active{color:#0d225e}
.ab-booking-tabs button.is-active:after{content:"";position:absolute;right:30px;left:30px;bottom:-1px;height:4px;background:var(--yellow);border-radius:6px}
.ab-booking-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:16px;padding:24px}
.ab-booking-grid label{display:flex;flex-direction:column;gap:7px}
.ab-booking-grid span{font-size:16px;font-weight:800;color:#566178}
.ab-booking-grid input,.ab-booking-grid select{height:58px;border:1px solid #d3dbe8;border-radius:14px;background:#fdfdff;padding:0 16px;color:#0d215e;font-size:18px;font-weight:700;outline:none}
.ab-booking-grid input:focus,.ab-booking-grid select:focus{border-color:#9fb0d6;box-shadow:0 0 0 4px rgba(19,44,107,.08)}
.ab-booking-cta{display:flex;flex-direction:column;justify-content:flex-end;gap:10px}
.ab-price-inline{font-size:16px;color:#53617b;min-height:28px;font-weight:700}

.ab-phone-mockup{position:absolute;right:10px;top:70px;width:340px;z-index:4}
.ab-phone-frame{border-radius:48px;background:#111;padding:14px 14px 18px;box-shadow:0 25px 55px rgba(12,21,50,.30)}
.ab-phone-screen{border-radius:38px;background:#fff;overflow:hidden;min-height:640px}
.ab-phone-top{background:linear-gradient(180deg,#081b51,#08286d);color:#fff;text-align:center;padding:18px 20px 16px}
.ab-phone-top img{width:66px;height:66px;object-fit:contain;margin:0 auto 10px}
.ab-phone-top strong{display:block;font-size:22px;font-weight:900}
.ab-phone-top span{font-size:15px;color:#d4ddf5}
.ab-phone-hero{height:216px;background-size:cover;background-position:center;position:relative;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.ab-phone-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,54,.12),rgba(10,22,54,.72))}
.ab-phone-hero div,.ab-phone-hero small{position:relative;z-index:1}
.ab-phone-hero div{font-size:34px;font-weight:1000;line-height:1.1}
.ab-phone-hero small{font-size:17px;font-weight:700}
.ab-phone-mini-card{padding:18px}
.ab-phone-mini-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px}
.ab-phone-mini-row span{font-size:15px;color:#5d6980}
.ab-phone-mini-row strong{font-size:18px;color:#112966}
.ab-phone-mini-card button{width:100%;height:56px;border:0;border-radius:16px;background:var(--yellow);color:#082052;font-size:20px;font-weight:900}

.ab-features-strip{background:#fff;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6}
.ab-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.ab-feature-item{padding:28px 20px;text-align:center;border-left:1px solid #edf1f6}
.ab-feature-item:last-child{border-left:0}
.ab-feature-item span{display:block;font-size:38px;margin-bottom:8px}
.ab-feature-item strong{display:block;font-size:24px;color:#132966;font-weight:900}
.ab-feature-item small{display:block;font-size:18px;color:#65738c}

.ab-section{padding:54px 0}
.ab-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}
.ab-section-head span{display:block;font-size:18px;color:#50607d;font-weight:800}
.ab-section-head h2{margin:2px 0 0;color:#10255f;font-size:48px;line-height:1.1;font-weight:1000;letter-spacing:-.04em}
.ab-section-head a{color:#12316d;font-size:22px;font-weight:900}
.ab-popular-routes{background:#fff}
.ab-route-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.ab-route-card{background:#fff;border:1px solid #e6ebf3;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(14,32,78,.06)}
.ab-route-card img{height:170px;width:100%;object-fit:cover}
.ab-route-body{padding:16px 16px 18px;text-align:center}
.ab-route-body h3{margin:0 0 6px;font-size:38px;color:#10245c;font-weight:900;line-height:1.1}
.ab-route-body p{margin:0 0 16px;font-size:24px;color:#24355c;font-weight:700}
.ab-route-body a{display:flex;align-items:center;justify-content:center;height:50px;border-radius:12px;background:var(--yellow);color:#122359;font-size:18px;font-weight:900}
.ab-empty-box{background:#f8fafe;border:1px dashed #c8d4e7;padding:28px;border-radius:20px;font-size:20px;color:#5c6a81}

.ab-experience-box{display:grid;grid-template-columns:1.1fr .95fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.ab-experience-image{min-height:260px;background-size:cover;background-position:center}
.ab-experience-copy{padding:42px 40px 42px 48px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#f7f9fd,#ffffff)}
.ab-experience-copy span{font-size:18px;color:#6a7388;font-weight:800}
.ab-experience-copy h2{margin:10px 0 12px;font-size:46px;line-height:1.15;color:#0f245f;font-weight:1000;letter-spacing:-.04em}
.ab-experience-copy p{margin:0 0 20px;color:#56647d;font-size:20px}

.ab-footer{background:linear-gradient(180deg,#081b52,#071741);color:#edf2ff;padding:38px 0 0}
.ab-footer-grid{display:grid;grid-template-columns:1.3fr .8fr .95fr;gap:28px;padding-bottom:26px}
.ab-footer-col{display:flex;flex-direction:column;gap:10px}
.ab-footer-col h3{margin:0 0 8px;font-size:22px;color:#fff}
.ab-footer-col a,.ab-footer-col span,.ab-footer-col p{color:#d9e2f3;font-size:18px}
.ab-footer-titleline{display:flex;align-items:center;gap:14px}
.ab-footer-titleline img{width:66px;height:66px;object-fit:contain}
.ab-footer-titleline strong{display:block;font-size:30px;color:#fff;font-weight:900}
.ab-footer-titleline span{font-size:16px;color:#c9d7f0}
.ab-footer-bottom{border-top:1px solid rgba(255,255,255,.10);padding:18px 0 22px;text-align:center;font-size:16px;color:#d0dbef}
.ab-programmer a{color:#fff;font-weight:800}

.ab-mobile-nav{display:none}

.page-head{padding:48px 0;background:linear-gradient(180deg,#f8faff,#f1f5fb)}
.page-head h1{margin:0;font-size:54px;color:#0f235d;letter-spacing:-.04em}
.page-head p{font-size:20px;color:#5a6881;max-width:720px}
.page-head .eyebrow{display:inline-block;color:#324982;font-weight:900;margin-bottom:8px}
.section{padding:42px 0}
.cards.cards-5,.cards.cards-4{display:grid;gap:18px}
.cards.cards-5{grid-template-columns:repeat(5,1fr)}
.cards.cards-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid #e3e8f3;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(14,32,78,.06)}
.branch-card h3,.route-card strong{font-size:24px;color:#10245d}
.branch-card p,.route-card span,.split-card p,.site-footer p{font-size:16px;color:#617089}
.city-dot{display:inline-block;width:12px;height:12px;background:var(--yellow);border-radius:50%;margin-bottom:12px}
.section-head .eyebrow{display:inline-block;color:#56647d;font-weight:900;margin-bottom:6px}
.section-head h2{margin:0;font-size:38px;color:#0f235d}
.section-muted{background:#f7f9fd}.empty{background:#fff6d8;color:#5f5738;padding:18px;border-radius:14px}
.split-card{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#0c215a;color:#fff;padding:26px;border-radius:20px}.split-card h2{margin:0 0 8px;font-size:34px}.split-card p{color:#d9e4f7}.btn-dark{background:var(--yellow);color:#0e205a;padding:14px 20px;border-radius:12px;font-weight:900}.btn-primary,.btn-light,.btn-block{all:unset}.site-header,.site-footer,.nav-wrap,.brand,.nav,.footer-grid,.footer-credit,.footer-bottom{all:unset}
.reservation-wrap{max-width:980px}.form-card{padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#213050}.form-grid input,.form-grid select,.form-card input,.form-card select{height:52px;border:1px solid #d5dce8;border-radius:12px;padding:0 14px}.input-action{display:grid;grid-template-columns:1fr auto;gap:10px}.price-preview,.alert{padding:14px 16px;border-radius:12px;background:#f7f9fd;border:1px solid #e1e7f0}.alert-success{background:#eef9f0;border-color:#caebd0}.alert-error{background:#fff1f1;border-color:#efc7c7}.hp{position:absolute;left:-9999px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid #e8edf6;text-align:right}.status-badge{background:#edf4ff;color:#12316c;border-radius:999px;padding:6px 12px;font-size:14px}

@media (max-width: 1300px){
  .ab-booking-card{left:130px;right:430px}
  .ab-phone-mockup{width:300px}
  .ab-hero-content h1{font-size:68px}
}
@media (max-width: 1120px){
  .ab-menu{gap:22px}.ab-menu a{font-size:15px}
  .ab-hero-grid{grid-template-columns:1fr;min-height:auto}
  .ab-hero-content{padding:42px 30px 210px}
  .ab-hero-content h1{font-size:58px}
  .ab-hero-content h2{font-size:28px}
  .ab-booking-card{left:24px;right:24px;bottom:24px;position:relative;margin-top:-150px}
  .ab-booking-grid{grid-template-columns:1fr 1fr}
  .ab-phone-mockup{display:none}
  .ab-route-cards{grid-template-columns:repeat(3,1fr)}
  .ab-features-grid{grid-template-columns:repeat(2,1fr)}
  .ab-experience-box,.ab-footer-grid{grid-template-columns:1fr}
  .cards.cards-5{grid-template-columns:repeat(3,1fr)}
  .cards.cards-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 760px){
  body{padding-bottom:78px}
  .ab-nav{min-height:76px}.ab-menu{display:none}.ab-btn-compact{display:none}
  .ab-brand{gap:10px}.ab-brand img{width:56px;height:56px}.ab-brand-copy strong{font-size:22px}.ab-brand-copy small{font-size:13px}
  .ab-hero-wrap{padding-top:0}
  .ab-hero-grid{border-radius:0 0 20px 20px;box-shadow:none}
  .ab-hero-visual{min-height:310px}.ab-hero-note{left:20px;top:36px;font-size:26px;max-width:180px}.ab-hero-note:after{width:100px;height:5px}
  .ab-hero-content{padding:28px 18px 26px}.ab-kicker{font-size:18px}.ab-hero-content h1{font-size:40px}.ab-hero-content h2{font-size:22px;margin:10px 0}.ab-hero-content p{font-size:16px}
  .ab-booking-card{position:relative;left:auto;right:auto;bottom:auto;margin-top:0;border-radius:18px}.ab-booking-tabs button{font-size:18px;padding:16px}.ab-booking-grid{grid-template-columns:1fr;padding:16px}.ab-price-inline{font-size:14px}
  .ab-features-grid{grid-template-columns:1fr 1fr}.ab-feature-item{padding:20px 10px}.ab-feature-item strong{font-size:18px}.ab-feature-item small{font-size:14px}.ab-feature-item span{font-size:28px}
  .ab-section{padding:34px 0}.ab-section-head{align-items:center}.ab-section-head a{font-size:16px}.ab-section-head span{font-size:14px}.ab-section-head h2{font-size:28px}
  .ab-route-cards,.cards.cards-5,.cards.cards-4{grid-template-columns:1fr 1fr}.ab-route-card img{height:132px}.ab-route-body h3{font-size:26px}.ab-route-body p{font-size:18px}.ab-route-body a{height:44px;font-size:14px}
  .ab-experience-copy{padding:22px 18px}.ab-experience-copy h2{font-size:28px}.ab-experience-copy p{font-size:16px}
  .ab-footer{padding-bottom:10px}.ab-footer-titleline strong{font-size:22px}.ab-footer-col a,.ab-footer-col p,.ab-footer-col span{font-size:15px}.ab-footer-bottom{padding-bottom:14px}
  .ab-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;right:0;left:0;bottom:0;background:#091b50;border-top:1px solid rgba(255,255,255,.08);z-index:60;padding:8px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(7,24,75,.22)}
  .ab-mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;color:#b7c4e4;font-size:17px}
  .ab-mobile-nav a small{font-size:11px;font-weight:700}.ab-mobile-nav a.is-active{color:#fff}.ab-mobile-reserve{transform:translateY(-18px);background:var(--yellow);color:#081b50;border-radius:18px;padding:10px 6px;box-shadow:0 10px 24px rgba(244,207,45,.28)}
  .form-grid{grid-template-columns:1fr}.page-head h1{font-size:34px}.page-head p{font-size:16px}.split-card{flex-direction:column;align-items:flex-start}
}
@media (max-width: 460px){
  .ab-container{width:min(100% - 20px,1240px)}
  .ab-route-cards,.ab-features-grid{grid-template-columns:1fr}
}
