:root{--blue:#0d4b83;--dark:#10283e;--mid:#587084;--yellow:#ffd633;--cream:#f4f8fb;--border:#dce8f0;--green:#258b4b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:white;color:var(--dark);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.55;font-size:15px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #eeae00;outline-offset:3px}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}.site-header{background:white;position:relative;z-index:10;border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:83px}.brand{display:flex;align-items:center;gap:11px;color:var(--blue)}.brand:hover{text-decoration:none}.brand-icon{width:42px;height:42px;display:grid;place-items:center;border:3px solid #1761a5;border-radius:10px;font-size:21px;line-height:1;color:#1761a5}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.3px;font-size:16px}.brand small{color:var(--mid);font-size:11px}.site-nav{display:flex;align-items:center;gap:23px}.site-nav a{color:#233b53;font-weight:700;font-size:13px}.site-nav .current{color:#1973b9}.menu-button{display:none}.hero{background:linear-gradient(130deg,#0d4d85,#176eae);color:white;overflow:hidden}.hero-grid{min-height:388px;display:grid;grid-template-columns:1.25fr .85fr;align-items:center;gap:35px}.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.05;letter-spacing:-2px;margin:17px 0}.hero p{font-size:19px;color:#e1eefb;max-width:560px}.eyebrow,.section-kicker{display:inline-block;letter-spacing:.9px;text-transform:uppercase;font-size:11px;color:#4482af;font-weight:800}.eyebrow.light{color:#d3edff}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin:30px 0}.buy{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--yellow);color:#272000!important;font-weight:800;border:0;border-radius:11px;padding:13px 21px;min-height:46px;box-shadow:0 3px 0 rgba(49,50,24,.07);white-space:nowrap}.buy:hover{background:#ffe269;text-decoration:none}.buy.small{font-size:12px;padding:9px 13px;min-height:36px;border-radius:8px}.hero-secondary{color:white;font-weight:700;border:1px solid #a9c9e5;border-radius:10px;padding:11px 18px}.hero-secondary:hover{color:white}.hero-date{color:#cae4f7;font-size:12px}.hero-graphic{min-height:260px;position:relative;display:flex;justify-content:center;align-items:center}.hero-circle{width:280px;height:280px;position:absolute;border-radius:50%;background:rgba(227,243,255,.14);top:5px;right:34px}.hero-hills{position:absolute;width:100%;height:42px;bottom:0;background:linear-gradient(140deg,transparent 20%,#236b9e 20% 50%,transparent 50%),linear-gradient(30deg,transparent 30%,#1e6296 30% 65%,transparent 65%);opacity:.9}.hero-bus{position:relative;width:345px;height:165px;background:#eef5fb;border-radius:25px 40px 16px 18px;box-shadow:inset 0 -25px #d9e9f7,0 16px 0 rgba(0,0,0,.13);transform:rotate(-2deg);border:4px solid #e6eef6}.hero-bus:after{content:'';position:absolute;left:24px;bottom:38px;width:18px;height:12px;background:#ffdc35;border-radius:4px}.glass{position:absolute;top:18px;left:22px;right:32px;height:62px;border-radius:12px 18px 5px 5px;background:linear-gradient(130deg,#2a75a5,#5c9dbd)}.glass:after{content:'';position:absolute;top:0;bottom:0;right:63px;border-left:6px solid #edf4fb}.bus-label{position:absolute;right:27px;bottom:38px;color:#1e5688;font-weight:800;letter-spacing:1px}.wheel{position:absolute;width:54px;height:54px;bottom:-21px;background:#142f40;border:9px solid #1a3748;border-radius:50%;box-shadow:inset 0 0 0 10px #9eaebb}.wheel.left{left:55px}.wheel.right{right:45px}.section{margin:57px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:21px}.section h2,.section-head h2{font-size:28px;line-height:1.25;letter-spacing:-.5px;margin:6px 0 15px}.section-head h2{margin-bottom:0}.section-head>a{font-size:13px;font-weight:700}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.route-card{border:1px solid var(--border);border-radius:15px;background:#fff;min-height:159px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:13px;color:var(--dark);box-shadow:0 7px 27px rgba(30,71,95,.035)}.route-card:hover{border-color:#86b4d4;box-shadow:0 8px 25px rgba(20,73,118,.09);text-decoration:none}.route-card-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.route-card-icon{background:#e6f1fb;color:#196ca9;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;font-size:18px}.route-card-region{font-size:10px;color:var(--mid);text-align:right}.route-card b{font-size:17px;line-height:1.3}.route-card-more{font-size:12px;color:var(--blue);font-weight:800;display:flex;justify-content:space-between}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.info-panel{background:var(--cream);border:1px solid var(--border);padding:25px;border-radius:16px}.info-panel h2{margin:0 0 9px;font-size:23px}.info-panel p{margin:0 0 14px;color:#4e6577}.inline-link{font-weight:800}.quicklist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.quicklist>a{background:#f7fafc;border:1px solid var(--border);padding:13px 14px;border-radius:9px;font-weight:700;font-size:13px;display:flex;justify-content:space-between;gap:8px}.quicklist>a span{color:#7195aa}.breadcrumbs{margin:19px 0;font-size:12px;color:#6a7e8f}.breadcrumbs a{color:#51738c}.page-hero{background:linear-gradient(110deg,#e8f3fb,#f5f9fc);border:1px solid #dce9f2;border-radius:18px;padding:38px 42px;margin:20px 0 35px}.page-hero h1{font-size:clamp(29px,4vw,46px);letter-spacing:-.9px;line-height:1.13;margin:8px 0 13px}.page-hero p{font-size:15px;color:#4c667c;max-width:780px}.status{display:inline-block;background:#e0f5e6;color:#1b7b40;padding:7px 11px;border-radius:7px;font-size:12px;font-weight:700;margin-top:5px}.muted{color:#627688}.notice{background:#edf8fe;border-left:4px solid #3c93ca;border-radius:9px;padding:16px 19px;margin:23px 0;color:#344f63}.notice p{margin:5px 0 0}.notice-warning{background:#fff6e5;border-color:#e3a83f}.desktop-table{overflow-x:auto;border-radius:12px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;text-align:left;min-width:750px}thead{background:#ebf5fb;color:#426780}th{padding:13px 13px;font-size:12px}td{padding:10px 13px;border-top:1px solid var(--border);font-size:12px}.t-time{font-size:17px;font-weight:800;color:#173d5e;white-space:nowrap}.mobile-trips{display:none}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:19px;background:#f7fafc;border:1px solid var(--border);border-radius:13px;padding:20px}.action-bar p{margin:3px 0 0;color:#6f8290;font-size:12px}.search-panel{background:#f2f7fb;border:1px solid var(--border);padding:17px;border-radius:13px;display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:15px}.search-panel label{font-weight:800;font-size:13px}.search-panel input{height:45px;min-width:220px;flex:1;border:1px solid #c7dbe8;border-radius:9px;padding:0 13px;font-size:15px;background:white}.search-panel>span{font-weight:700;color:var(--blue);font-size:12px}.catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-item{background:white;color:var(--dark);border:1px solid var(--border);border-radius:10px;padding:15px;display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center;position:relative}.catalog-item:hover{text-decoration:none;background:#f7fbff;border-color:#8dbede}.catalog-item-name{font-weight:800;font-size:14px}.catalog-item .muted{font-size:11px;grid-column:1}.catalog-item .arrow{grid-column:2;grid-row:1/span 2;color:var(--blue);font-weight:800}.count{font-size:11px;color:#61809b}.center-link{text-align:center;font-weight:800;margin-top:25px}.faq{max-width:850px}.faq details{border:1px solid var(--border);padding:15px 18px;margin-bottom:10px;border-radius:10px}.faq summary{font-weight:800;cursor:pointer}.faq p{color:#4d6678}.footer{margin-top:70px;background:#102e48;color:#dae6f0;padding:38px 0 23px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.footer strong{font-size:18px}.footer p{font-size:12px;max-width:550px}.footer-grid>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.footer a{color:#dcebf6;font-size:12px}.footnote{font-size:11px;color:#a1b4c4;border-top:1px solid #2b4b64;margin-top:22px;padding-top:18px}.mobile-buy{display:none}
@media(max-width:900px){.site-nav{gap:10px}.site-nav a{font-size:11px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.quicklist{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-graphic{transform:scale(.8)}}
@media(max-width:700px){body{padding-bottom:65px;font-size:14px}.wrap{width:min(100% - 26px,1160px)}.nav{min-height:68px}.brand strong{font-size:13px}.brand small{font-size:10px}.brand-icon{height:37px;width:37px}.menu-button{display:inline-block;background:#edf5fb;border:1px solid var(--border);border-radius:7px;color:var(--blue);font-weight:700;padding:8px}.site-nav{display:none;position:absolute;left:0;right:0;top:68px;background:white;padding:12px 20px;border-bottom:1px solid var(--border);box-shadow:0 12px 25px rgba(0,0,0,.07);flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{font-size:14px;padding:10px 4px}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:45px 0 30px}.hero h1{font-size:46px}.hero p{font-size:16px}.hero-graphic{min-height:160px;transform:scale(.75);margin-top:-28px}.section{margin:37px 0}.section h2,.section-head h2{font-size:24px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.route-card{padding:13px;min-height:146px}.route-card b{font-size:14px}.route-card-region{font-size:9px}.split,.footer-grid,.catalog{grid-template-columns:1fr}.quicklist{grid-template-columns:repeat(2,minmax(0,1fr))}.info-panel{padding:19px}.page-hero{padding:26px 20px;margin:17px 0}.page-hero h1{font-size:29px}.search-panel{display:block}.search-panel input{width:100%;margin:9px 0}.search-panel>span{display:block}.desktop-table{display:none}.mobile-trips{display:grid;gap:15px}.mobile-trip{padding:19px;border:1px solid #d9e4ee;border-radius:15px;box-shadow:0 3px 12px rgba(18,72,110,.05)}.mobile-row{display:grid;grid-template-columns:42% 58%;border-bottom:1px solid var(--border);padding-bottom:13px;gap:10px}.mobile-row>div:nth-child(2){border-left:1px solid var(--border);padding-left:15px}.mobile-row strong{display:block;font-size:13px;line-height:1.35}.mobile-row .large-time{font-size:26px}.sub-label{display:block;font-size:11px;color:#688196;margin-bottom:6px}.mobile-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:12px}.mobile-line span{color:#71899c}.mobile-line b{text-align:right}.mobile-trip .buy{display:flex;width:100%;margin-top:15px}.action-bar{flex-direction:column;align-items:stretch}.action-bar .buy{width:100%}.footer-grid>div:last-child{align-items:flex-start}.mobile-buy{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--yellow);border-top:1px solid #e4c734;justify-content:center;align-items:center;min-height:61px;font-weight:800;color:#1f2e30;box-shadow:0 -5px 18px rgba(0,0,0,.08)}.mobile-buy:hover{text-decoration:none}}
@media(max-width:380px){.cards,.quicklist{grid-template-columns:1fr}.route-card{min-height:115px}.brand small{display:none}}
[hidden]{display:none!important}

/* -----------------------------------------------------------
   КЫЗЫЛ — эталон страниц направлений, 12.10.2026
   Desktop timetable + large mobile cards, fluid columns and CTA
   ----------------------------------------------------------- */
html,body{max-width:100%;overflow-x:clip}
.wrap,.section,.route-layout,.route-content,.route-sidebar{min-width:0}
.site-header{z-index:50}
.status.current-date{border:1px solid #92e5b1;background:#ebfff0;color:#007c3c;border-radius:999px;white-space:nowrap;font-size:12px;padding:8px 13px;margin:0;display:inline-flex;align-items:center;line-height:1.25;font-weight:800}
.hero .status.current-date{background:#eafff0}
.route-hero{padding:25px 29px;margin:21px 0 23px}
.route-hero h1{font-size:clamp(28px,3vw,39px)}
.route-hero p{margin-bottom:0}
.route-layout{display:grid;grid-template-columns:minmax(0,1fr) 274px;align-items:start;gap:24px}
.route-content{min-width:0}
.route-content .section{margin:29px 0 40px}
.route-content .section h2{font-size:24px}
.booking-section{border:1px solid var(--border);border-radius:20px;padding:25px 25px 20px;background:#fff;box-shadow:0 8px 28px rgba(16,52,74,.04)}
.booking-section>h2{margin:3px 0 12px;font-size:24px;line-height:1.3}
.booking-intro{margin:0 0 20px;max-width:650px;font-size:14px;color:#314c60}
.booking-frame{padding:17px 18px;border:1px solid var(--border);border-radius:19px;box-shadow:0 7px 20px rgba(25,65,100,.07)}
.booking-widget{background:#08a5ec;border-radius:9px;padding:17px 17px 16px;color:#fff}
.booking-widget-title{display:flex;flex-direction:column;gap:0;margin:0 0 16px}
.booking-widget-title strong{font-size:18px;line-height:1.2}
.booking-widget-title small{font-size:11px;color:#e0f5ff}
.booking-fields{overflow:hidden;border-radius:7px;background:#fff;color:#172e4b}
.booking-field{display:flex;align-items:center;gap:14px;min-height:64px;padding:11px 16px;border-bottom:1px solid #d9e4ee}
.booking-field:last-child{border-bottom:none}
.booking-field-icon{font-size:21px;line-height:1;color:#a6b8c9;width:22px;text-align:center}
.booking-field>span:last-child{display:grid;gap:2px;min-width:0}
.booking-field small{font-size:10px;color:#5f768c}
.booking-field strong{font-size:14px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}
.ticket-search{display:flex;align-items:center;justify-content:center;gap:12px;background:#ffdd10;color:#09172a;font-weight:800;min-height:50px;border-radius:6px;margin-top:9px;font-size:17px}
.ticket-search:hover{background:#ffe96c;text-decoration:none;color:#09172a}
.booking-caption{font-size:11px;line-height:1.5;color:#657d8e;margin:13px 0 0}
.route-sidebar{display:grid;gap:17px;position:sticky;top:18px}
.sidebar-panel{border:1px solid var(--border);border-radius:17px;padding:20px;background:#fff}
.sidebar-panel h2{font-size:16px;margin:9px 0 23px;line-height:1.3}
.sidebar-panel p{font-size:13px;margin:0 0 14px}
.sidebar-panel strong{font-weight:800}
.sidebar-panel .buy{display:flex;width:100%;min-height:44px;font-size:13px}
.sidebar-hint{color:#536d81;font-size:12px!important}
.sidebar-more{font-weight:800;font-size:13px}
.route-schedule{margin:29px 0 0!important}
.schedule-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px}
.schedule-heading h2{margin:0!important;max-width:440px}
.route-schedule>.muted{font-size:12px;line-height:1.55;margin:12px 0 19px}
.route-schedule .desktop-table{border-radius:13px;overflow-x:auto}
.route-schedule table{min-width:600px}
.route-schedule th{font-size:11px;color:#12334a;font-weight:800;letter-spacing:.2px;text-transform:uppercase}
.route-schedule td{font-size:12px;padding:11px 12px}
.route-schedule .buy.small{white-space:nowrap;background:#ffdb37;color:#0c1c2b!important;font-size:12px}
.route-schedule .t-time{font-size:17px}
.route-stop-note{font-size:12px;color:#657b8a;margin:12px 0 0}
.route-schedule .action-bar{background:#f6f9fc}
.route-content .section.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.route-content .section.split .info-panel{padding:20px}
.route-content .section.split .info-panel h2{font-size:19px}
.route-content .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Bottom booking link on every page. Compact floating control on desktop. */
.mobile-buy{display:flex;position:fixed;bottom:18px;right:22px;z-index:60;align-items:center;justify-content:center;text-decoration:none!important;color:#15253a!important;font-weight:800;border-radius:13px;background:#ffdb37;box-shadow:0 5px 22px rgba(0,0,0,.19)}
.mobile-buy-inner{display:block;padding:13px 23px}
.mobile-buy:hover{background:#ffe66b}
body{padding-bottom:42px}
@media(max-width:1000px){.route-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.sidebar-panel{padding:16px}.booking-section{padding:20px}.schedule-heading{align-items:flex-start;flex-wrap:wrap}.route-content .section.split{grid-template-columns:1fr}}
@media(max-width:760px){
  .route-layout{display:flex;flex-direction:column;gap:0}
  .route-sidebar{display:none}
  .route-content{width:100%}
  .booking-section{padding:18px 15px;border-radius:17px}
  .booking-section>h2{font-size:22px;line-height:1.2}
  .booking-intro{font-size:14px}
  .booking-frame{padding:12px;border-radius:17px}
  .booking-widget{padding:15px;border-radius:7px}
  .route-hero{padding:24px 20px;margin:15px 0 20px}
  .route-hero h1{font-size:29px}
  .route-schedule{margin-top:30px!important}
  .schedule-heading{display:flex;align-items:flex-start;flex-direction:column;gap:10px}
  .schedule-heading h2{font-size:25px!important}
  .route-schedule .desktop-table{display:none}
  .route-schedule .mobile-trips{display:grid;gap:15px}
  .route-schedule .mobile-trip{background:#fff;border-radius:19px;padding:16px;border:1px solid #dfe7ef;box-shadow:0 7px 20px rgba(28,57,85,.045)}
  .route-schedule .mobile-row{grid-template-columns:50% 50%;gap:0;padding-bottom:15px}
  .route-schedule .mobile-row>div:nth-child(2){border-left:1px solid #e2eaf0;padding-left:15px}
  .route-schedule .sub-label{font-size:11px;letter-spacing:1.05px;color:#738ba2;text-transform:uppercase;font-weight:800;margin-bottom:4px;display:block}
  .route-schedule .mobile-row .large-time{font-size:29px;line-height:1.16}
  .route-schedule .mobile-row strong:not(.large-time){font-size:14px;overflow-wrap:anywhere}
  .route-schedule .mobile-line{display:flex;align-items:stretch;justify-content:center;flex-direction:column;gap:3px;padding:14px 0 13px;text-align:left}
  .route-schedule .mobile-line span{font-size:11px;letter-spacing:1.05px;color:#738ba2;text-transform:uppercase;font-weight:800}
  .route-schedule .mobile-line b{font-size:15px;text-align:left;color:#10283e;line-height:1.25}
  .route-schedule .mobile-trip .buy{width:100%;min-height:53px;font-size:17px;border-radius:13px;margin-top:15px}
  .route-schedule .mobile-trip .buy span{display:none}
  .route-content .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  body{padding-bottom:100px}
  .mobile-buy{left:0;right:0;bottom:0;min-height:78px;padding:9px max(20px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom));width:100%;background:#fff;border-radius:0;border-top:1px solid #e3e7ec;box-shadow:0 -6px 23px rgba(0,0,0,.07)}
  .mobile-buy-inner{width:min(100%,450px);border-radius:13px;background:#ffda37;padding:12px 24px;text-align:center;font-size:17px}
  .mobile-buy:hover{background:#fff}
  .mobile-buy:hover .mobile-buy-inner{background:#ffe66b}
}
@media(max-width:400px){.route-content .cards{grid-template-columns:1fr}.booking-widget{padding:12px}.route-schedule .mobile-row .large-time{font-size:27px}}


/* Tourism partner blocks: responsive, full-width embeddings. */
.travel-widget-section{min-width:0;max-width:100%;margin-top:42px!important;margin-bottom:37px!important}
.travel-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:12px}
.travel-heading h2{margin:4px 0 0!important;font-size:25px;line-height:1.25}
.travel-intro{font-size:14px;color:#526c80;margin:0 0 17px;max-width:750px}
.travel-widget-frame{background:#fff;min-width:0;max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:16px;padding:18px 15px;box-shadow:0 7px 25px rgba(16,52,74,.045)}
.travel-widget-frame iframe,.travel-widget-frame img,.travel-widget-frame video{max-width:100%!important}
.travel-widget-frame>div{max-width:100%}
@media(max-width:760px){
 .travel-widget-section{margin-top:33px!important;margin-bottom:30px!important}
 .travel-heading h2{font-size:23px!important}
 .travel-intro{font-size:13px}
 .travel-widget-frame{padding:11px 8px;border-radius:13px}
}


/* Official Unitiki ticket-search widget: visible on every site page. */
.unitiki-search-section{margin:27px 0 38px!important;background:#fff;border:1px solid var(--border);border-radius:19px;padding:23px 22px;box-shadow:0 7px 23px rgba(16,52,74,.045)}
.unitiki-search-section>h2{font-size:24px;line-height:1.26;margin:0 0 10px}
.unitiki-search-section .booking-intro{margin:0 0 17px}
.unitiki-search-frame{max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;border-radius:10px}
.unitiki-search-frame iframe,.unitiki-search-frame img,.unitiki-search-frame video{max-width:100%!important}
.unitiki-search-frame>div{max-width:100%}
.booking-frame{min-width:0;overflow:hidden}
.booking-frame:has(.unitiki-search-frame){background:#fff;padding:13px;border-color:transparent;box-shadow:none}
@media(max-width:760px){
 .unitiki-search-section{margin:22px 0 32px!important;padding:16px 12px;border-radius:16px}
 .unitiki-search-section>h2{font-size:21px}
 .unitiki-search-frame{width:100%;max-width:100%}
 .booking-frame:has(.unitiki-search-frame){padding:0}
}

/* FINAL homepage: photographed city directions and clean mobile grid */
.brand-icon{border:2px solid #1d6ead;background:#fff;overflow:hidden;border-radius:9px;line-height:0}
.brand-icon img{width:100%;height:100%;object-fit:contain}
.hero{background:radial-gradient(ellipse at 80% 15%,#277ab4 0%,transparent 55%),linear-gradient(125deg,#093c69 0%,#135d98 100%)}
.hero-grid{grid-template-columns:1.2fr .8fr;min-height:355px}
.hero h1{font-size:clamp(40px,5.5vw,62px);margin:14px 0}
.hero p{max-width:570px;font-size:17px}
.hero .status{background:#e1f8e8;color:#116f3f;border:1px solid #a4e5bb}
.home-unitiki-search{max-width:790px;margin:28px auto 48px!important;background:#fff;box-shadow:0 12px 40px rgba(15,59,93,.08)}
.section-head{align-items:end}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.photo-card{display:flex;overflow:hidden;flex-direction:column;padding:0;gap:0;min-height:280px;border:1px solid #dde8ef;box-shadow:0 8px 28px rgba(10,44,73,.08)}
.photo-card .route-photo{display:block;position:relative;aspect-ratio:16/10;width:100%;overflow:hidden;background:linear-gradient(145deg,var(--photo-fallback,#d3e3f0),#8daec2)}
.photo-card .route-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.photo-card:hover .route-photo img{transform:scale(1.035)}
.photo-card .photo-city-label{position:absolute;bottom:12px;left:12px;padding:4px 9px;border-radius:7px;background:rgba(7,32,53,.77);color:#fff;font-weight:800;font-size:13px}
.photo-card .route-photo-body{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:15px 15px 16px;flex:1;justify-content:space-between}
.photo-card strong{font-size:17px;color:#122d46;line-height:1.3}
.photo-card .region-label{font-size:12px;color:#6d8091}
.photo-card .route-card-more{padding-top:8px;color:#0669a6;font-weight:800;font-size:12px}
.contact-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,37%);align-items:stretch;overflow:hidden;gap:0;background:#eaf5fc;border:1px solid #d6e5f0;border-radius:18px;margin:55px 0}
.contact-feature-copy{padding:30px 15px 30px 32px}
.contact-feature h2{font-size:27px;margin:4px 0 12px}
.contact-feature p{font-size:14px;color:#496274;margin:0 0 14px}
.feature-links{display:flex;gap:20px;flex-wrap:wrap}
.feature-links a{font-size:13px;font-weight:800}
.contact-feature-visual{position:relative;align-self:stretch;overflow:hidden;min-height:235px;background:#d6e8f6}
.contact-feature-visual img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center}
.photo-credit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.photo-credit-item{border:1px solid var(--border);border-radius:12px;padding:17px}
.photo-credit-item strong{font-size:17px}.photo-credit-item p{margin:4px 0 9px;font-size:13px;color:#5b7286}.photo-credit-item a{font-size:12px}
img{max-width:100%}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-feature{grid-template-columns:minmax(0,1fr) minmax(270px,41%)}.photo-credit-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.hero-grid{grid-template-columns:1fr}.home-unitiki-search{max-width:100%;margin:24px 0 38px!important}.photo-card{min-height:210px}.photo-card .route-photo-body{padding:12px}.photo-card strong{font-size:14px}.photo-card .region-label{font-size:11px}.photo-card .route-card-more{font-size:11px}.contact-feature{grid-template-columns:1fr;margin:35px 0}.contact-feature-copy{padding:25px 20px 8px}.contact-feature h2{font-size:23px}.contact-feature-visual{min-height:0;aspect-ratio:16/9}.contact-feature-visual img{object-position:55% center}.photo-credit-grid{grid-template-columns:1fr}}
@media(max-width:380px){.cards{gap:10px}.photo-card{min-height:194px}.photo-card .route-photo-body{padding:10px}.photo-card strong{font-size:12px}.photo-card .region-label{font-size:10px}.photo-card .photo-city-label{font-size:11px}}
/* Prevent third-party iframe children from causing page-wide horizontal scroll */
html,body{max-width:100%;overflow-x:clip}.wrap,.route-content,.route-layout,.section{min-width:0}
section[id]{scroll-margin-top:20px}

/* Visible fallback: users can buy a ticket even when the remote partner script is blocked. */
.widget-fallback{display:inline-flex;align-items:center;justify-content:center;margin-top:13px;border:1px solid #d7e9f8;background:#ecf7fe;color:#0f588e;border-radius:9px;font-size:13px;font-weight:800;padding:10px 14px;max-width:100%;text-align:center}
.widget-fallback:hover{background:#e0f0ff;text-decoration:none}


/* Homepage redesign based on approved reference sites */
.brand-icon{border:none!important;background:transparent!important;padding:0;border-radius:0!important;width:40px;height:40px;overflow:visible}
.brand-icon img{display:block;width:40px;height:40px;object-fit:contain}
.header-buy{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:12px;background:#ffd633;color:#1e2500!important;font-weight:800;white-space:nowrap;box-shadow:0 4px 14px rgba(255,214,51,.28)}
.header-buy:hover{text-decoration:none;background:#ffe063}
.homepage{background:#f2f6fa}
.home-hero{padding:26px 0 18px;background:#f2f6fa}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:20px;align-items:stretch}
.home-hero-card{background:#fff;border:1px solid #d9e4ec;border-radius:24px;padding:30px 28px 24px;box-shadow:0 9px 28px rgba(16,52,74,.05);display:flex;flex-direction:column;justify-content:center}
.home-hero-card .eyebrow{font-size:12px;color:#1568b0;margin-bottom:10px}
.home-hero-card h1{font-size:clamp(42px,4.5vw,58px);line-height:1.02;letter-spacing:-1.4px;margin:0 0 15px;color:#0e2941}
.home-hero-card p{font-size:18px;line-height:1.5;color:#385366;max-width:620px;margin:0 0 18px}
.home-hero-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:2px 0 20px}
.home-hero-info-item{background:#f5f8fb;border:1px solid #dde7ef;border-radius:16px;padding:16px 15px 14px}
.home-hero-info-item strong{display:block;font-size:13px;line-height:1.25;color:#112c45;margin-bottom:7px}
.home-hero-info-item span{display:block;font-size:15px;line-height:1.45;color:#28455f}
.home-hero-actions{margin:0;gap:14px}
.home-hero-actions .buy,.home-hero-actions .hero-secondary{min-height:52px;padding:14px 22px;border-radius:13px;font-size:14px}
.hero-secondary-blue{background:#2c8ae0;border:none;color:#fff!important;font-weight:800}
.hero-secondary-blue:hover{text-decoration:none;background:#3b95e7}
.home-hero-image-wrap{overflow:hidden;border-radius:24px;border:1px solid #d9e4ec;box-shadow:0 9px 28px rgba(16,52,74,.06);min-height:100%;background:#d7e9f8}
.home-hero-image-wrap img{display:block;width:100%;height:100%;object-fit:cover}
.home-unitiki-search{max-width:none!important;margin:28px 0 48px!important}
@media (max-width:1100px){
 .home-hero-grid{grid-template-columns:1fr}
 .home-hero-image-wrap{min-height:360px}
}
@media (max-width:900px){
 .header-buy{display:none}
 .home-hero-card{padding:24px 22px 21px}
 .home-hero-info-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
 .homepage{background:#f4f7fb}
 .home-hero{padding:18px 0 10px}
 .home-hero-card{border-radius:20px;padding:22px 18px}
 .home-hero-card h1{font-size:32px;letter-spacing:-.8px}
 .home-hero-card p{font-size:16px}
 .home-hero-info-grid{grid-template-columns:1fr;gap:10px;margin-bottom:16px}
 .home-hero-info-item{padding:14px 14px 13px}
 .home-hero-info-item strong{font-size:12px}
 .home-hero-info-item span{font-size:14px}
 .home-hero-actions{flex-direction:column;align-items:stretch}
 .home-hero-actions .buy,.home-hero-actions .hero-secondary{width:100%;justify-content:center}
 .home-hero-image-wrap{border-radius:20px;min-height:220px}
 .home-unitiki-search{margin:22px 0 34px!important}
}

/* Fine-tuning the approved home masthead: one border on favicon and a
   balanced compact two-column hero, matching the reference websites. */
.home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.home-hero-card{padding:26px 27px 24px}
.home-hero-card .eyebrow{margin-bottom:9px}
.home-hero-card h1{font-size:clamp(37px,3.1vw,45px);letter-spacing:-1.25px;line-height:1.1;margin:0 0 13px}
.home-hero-card p{font-size:16px;line-height:1.43;margin:0 0 17px}
.home-hero-info-grid{gap:9px;margin:1px 0 17px}
.home-hero-info-item{padding:12px 11px 11px;border-radius:13px;min-width:0}
.home-hero-info-item strong{font-size:12px;margin-bottom:5px}
.home-hero-info-item span{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.home-hero-actions .buy,.home-hero-actions .hero-secondary{min-height:48px;padding:12px 17px;font-size:13px}
.home-hero-image-wrap img{object-position:54% center}
@media(max-width:1100px){.home-hero-grid{grid-template-columns:1fr}.home-hero-image-wrap{min-height:350px;max-height:520px}}
@media(max-width:900px){.home-hero-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-hero-card{padding:24px 22px 21px}}
@media(max-width:700px){
 .home-hero-card{padding:22px 18px}
 .home-hero-card h1{font-size:32px;line-height:1.1}
 .home-hero-card p{font-size:16px;line-height:1.5}
 .home-hero-info-grid{grid-template-columns:1fr;gap:10px;margin-bottom:16px}
 .home-hero-info-item{padding:14px}
 .home-hero-info-item strong{font-size:12px}
 .home-hero-info-item span{font-size:14px}
 .home-hero-image-wrap{max-height:none;min-height:215px}
 .home-hero-image-wrap img{object-position:56% center}
 .home-hero-actions .buy,.home-hero-actions .hero-secondary{width:100%;justify-content:center;font-size:14px;min-height:50px}
}

/* Local AI illustrations in the photo information gallery */
.photo-credit-item .credit-preview{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:9px;margin-bottom:12px}
