.ct-routes-page{background:#f7f4ed;color:#18383c}
.ct-route-main{padding:32px 0 64px}
.ct-route-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;line-height:1.6;margin:0 0 32px;color:#607470}
.ct-route-breadcrumb a{min-height:32px;display:inline-flex;align-items:center}
.ct-route-main a:not(.ct-button):not(.ct-route-tile):not(.ct-category-tile){color:#235c58;text-underline-offset:4px}
.ct-route-intro{margin-bottom:40px;padding-bottom:36px;border-bottom:1px solid #d5dfd5}
.ct-route-intro__copy{max-width:930px}
.ct-route-intro h1{font-size:clamp(34px,4vw,56px);line-height:1.12;letter-spacing:-.04em;margin:16px 0 20px;font-weight:600;text-wrap:balance;overflow-wrap:break-word}
.ct-route-intro p{font-size:18px;line-height:1.8;max-width:72ch;color:#486362;margin:0 0 24px}
.ct-route-intro--directory{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:64px;align-items:center}
.ct-route-intro--directory h1{max-width:17ch}
.ct-directory-note{padding:26px 28px;border:1px solid #d5dfd5;border-radius:20px;background:#fffdf9}
.ct-directory-note ol{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:22px}
.ct-directory-note li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;align-items:start}
.ct-directory-note li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#70462f;background:#f0e5d4;font-size:12px;font-weight:650}
.ct-directory-note strong{font-size:16px;line-height:1.5}
.ct-directory-note li p{font-size:14px;line-height:1.6;margin:4px 0 0}
.ct-route-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ct-route-jump{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 32px}
.ct-route-jump a{font-size:14px;padding:10px 16px;border-radius:24px;background:#e9eee5;text-decoration:none;line-height:1.5}
.ct-route-jump a:hover{background:#dce7da}
.ct-route-layout{display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:56px;align-items:start}
.ct-route-section{margin:0 0 44px;padding:0}
.ct-route-section h2{font-size:28px;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin-bottom:18px}
.ct-route-section p,.ct-route-section li{font-size:16px;line-height:1.85;color:#45605f}
.ct-route-article .ct-route-section{scroll-margin-top:100px}
.ct-route-link{display:inline-flex;align-items:center;min-height:40px;line-height:1.6;font-size:15px;font-weight:650}
.ct-route-steps{padding:0;list-style:none;counter-reset:steps;display:grid;gap:20px;margin:24px 0}
.ct-route-steps li{position:relative;counter-increment:steps;padding-left:46px;margin:0}
.ct-route-steps li::before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:2px;width:30px;height:30px;display:grid;place-items:center;background:#e6ecdf;color:#325249;border-radius:50%;font-size:12px;font-weight:650}
.ct-route-steps strong{color:#18383c}
.ct-route-card{background:#fffdf9;border:1px solid #d3ddd2;border-radius:20px;padding:28px;box-shadow:0 12px 32px #173d3208}
.ct-route-card__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e6ede2;color:#31544b;margin-bottom:20px}
.ct-route-card__icon svg{width:24px;height:24px}
.ct-route-card h2{font-size:24px;line-height:1.2;letter-spacing:-.025em;font-weight:600;margin:12px 0 24px}
.ct-route-card dl{border-top:1px solid #dde4d9;padding-top:20px;margin-bottom:24px}
.ct-route-card dt{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:#657b71;margin-top:18px}
.ct-route-card dt:first-child{margin-top:0}
.ct-route-card dd{margin:6px 0;line-height:1.7;font-size:15px;overflow-wrap:anywhere}
.ct-route-card .ct-button{width:100%;white-space:normal;text-align:center;line-height:1.4}
.ct-route-small{font-size:13px!important;line-height:1.65;color:#526b61}
.ct-route-card .ct-route-small{margin:14px 0 0}
.ct-route-faq{border-bottom:1px solid #d2ddd2;padding:0}
.ct-route-faq summary{position:relative;list-style:none;padding:20px 34px 20px 0;font-size:17px;font-weight:600;cursor:pointer;line-height:1.5}
.ct-route-faq summary::-webkit-details-marker{display:none}
.ct-route-faq summary::after{content:'+';position:absolute;right:4px;top:18px;font-size:24px;font-weight:400;color:#316356}
.ct-route-faq[open] summary::after{content:'−'}
.ct-route-faq p{margin:0;padding:0 24px 20px 0}
.ct-route-sources{padding:24px;border:1px solid #dce3d5;border-radius:16px;background:#eef1e8}
.ct-route-sources h2{font-size:20px;margin-bottom:10px}
.ct-route-sources p,.ct-route-sources li{font-size:14px;line-height:1.8}
.ct-route-sources p:last-child{margin-bottom:0}
.ct-route-sources a{overflow-wrap:anywhere}
.ct-route-related{margin-top:24px;padding-top:32px;border-top:1px solid #d5dfd5}
.ct-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ct-route-tile{display:flex;flex-direction:column;gap:10px;min-width:0;background:#fffdf9;border:1px solid #d4dfd2;border-radius:16px;padding:24px;text-decoration:none;color:#18383c;transition:border-color .15s,background .15s}
.ct-route-tile:hover{border-color:#78978a;background:#fff}
.ct-route-tile>strong,.ct-route-related .ct-route-tile>span{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.35;overflow-wrap:anywhere}
.ct-route-tile small{font-size:14px;line-height:1.6;color:#526d63}
.ct-route-tile .ct-route-tile__type{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:650;letter-spacing:.065em;text-transform:uppercase;color:#76513a;margin-bottom:4px}
.ct-route-tile__type svg{width:17px;height:17px;flex-shrink:0}
.ct-route-tile .ct-route-tile__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;margin-top:auto;padding-top:16px;border-top:1px solid #e1e6dc;color:#40645b}
.ct-route-tile__bottom>span{font-size:20px}
.ct-route-tile[hidden]{display:none}
.ct-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ct-category-tile{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:24px;background:#e9eee4;border:1px solid #d4dfd1;border-radius:18px;text-decoration:none;min-width:0;transition:background .15s}
.ct-category-tile:hover{background:#dce7d6}
.ct-category-tile__icon{display:grid;place-items:center;width:44px;height:44px;background:#fffdf9;border-radius:14px;color:#365c50}
.ct-category-tile__icon svg{width:24px;height:24px}
.ct-category-tile strong{font-size:19px;font-weight:600;line-height:1.4;letter-spacing:-.02em}
.ct-category-tile small{font-size:14px;line-height:1.65;color:#4c665b}
.ct-category-tile__count{margin-top:auto;width:100%;display:flex;justify-content:space-between;font-size:13px;font-weight:600;padding-top:12px}
.ct-route-area-links{display:flex;gap:10px;flex-wrap:wrap}
.ct-route-area-links a{border:1px solid #bfd0be;padding:11px 17px;border-radius:24px;text-decoration:none;font-size:14px;line-height:1.5;background:#fffdf9}
.ct-route-area-links a:hover{background:#e9eee4}
.ct-directory-section{padding-top:12px;scroll-margin-top:100px}
.ct-directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}
.ct-directory-heading h2{margin:10px 0 0}
.ct-directory-heading>p{max-width:40ch;font-size:15px;line-height:1.7;margin:0}
.ct-directory-filters{display:flex;gap:16px;flex-wrap:wrap;padding:22px;background:#e7ece3;border:1px solid #d4dfd1;border-radius:16px}
.ct-directory-filters>div{flex:1 1 180px;min-width:0}
.ct-directory-filters>.ct-directory-search{flex:2 1 300px}
.ct-route-main label{display:block;font-size:13px;line-height:1.5;font-weight:650;margin:0 0 8px;color:#34594e}
.ct-route-main input,.ct-route-main select{width:100%;min-height:50px;border:1px solid #b3c5b2;border-radius:10px;background:#fffdf9;padding:12px 14px;font-family:inherit;font-size:16px;line-height:1.5;color:#18383c}
.ct-route-main input:focus,.ct-route-main select:focus{border-color:#547e6b}
.ct-directory-results{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.ct-directory-results p{font-size:14px;margin:0}
.ct-filter-reset{min-height:44px;padding:8px 4px;border:0;background:transparent;color:#235c58;font:inherit;font-size:14px;text-decoration:underline;cursor:pointer}
.ct-directory-empty{padding:36px;border:1px dashed #b6cbb7;border-radius:16px;text-align:center;background:#fffdf9}
.ct-directory-empty h3{font-size:21px;margin:0 0 12px}
.ct-directory-empty p{margin:0}
.ct-directory-more{display:flex;justify-content:center;margin-top:24px}
.ct-route-custom{padding:30px;border-radius:18px;background:#e8ede3;border:1px solid #d5dfd1}
.ct-route-custom p:last-child{margin-bottom:0}
.ct-partner-panel{max-width:900px;padding:32px;background:#fffdf9;border:1px solid #d4dfd1;border-radius:20px}
.ct-partner-panel>p{max-width:70ch}
.ct-partner-panel label{margin-top:24px}
.ct-partner-copy{display:flex;gap:12px;align-items:stretch}
.ct-partner-copy input{min-width:0;flex:1}
.ct-partner-copy .ct-button{flex-shrink:0;line-height:1.4}
.ct-partner-copy .ct-button:disabled{opacity:.5;cursor:not-allowed}
.ct-route-mobile-action{display:none}
@media(min-width:1000px){.ct-route-aside{position:sticky;top:96px}}
@media(max-width:1100px){.ct-route-intro--directory{gap:32px}.ct-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .ct-route-main{padding-top:24px}.ct-route-intro--directory{grid-template-columns:1fr}.ct-directory-note{display:none}
 .ct-route-layout{grid-template-columns:1fr;gap:8px}.ct-route-aside{margin-bottom:32px}
 .ct-route-card dl{display:grid;grid-template-columns:1fr 2fr;gap:12px}.ct-route-card dt,.ct-route-card dd{margin:0}
 .ct-route-card__icon{float:right;margin:0 0 12px 16px}.ct-route-card .ct-button{width:auto}
 .ct-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ct-directory-heading{align-items:flex-start;flex-direction:column;gap:12px}.ct-directory-heading>p{max-width:60ch}
 .ct-route-mobile-action:not([hidden]){position:fixed;z-index:900;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #bfcfc0;background:#faf8f3f7;backdrop-filter:blur(16px);box-shadow:0 -6px 24px #183d3110}
 .ct-route-mobile-action>div{min-width:0}.ct-route-mobile-action small{display:block;font-size:11px;color:#597267}.ct-route-mobile-action strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40vw;font-size:14px;line-height:1.6}
 .ct-route-mobile-action .ct-button{font-size:13px;flex-shrink:0;padding:12px 18px}
 html.ct-menu-lock .ct-route-mobile-action{visibility:hidden}
 body.ct-route-cta-visible #actLiveChat[data-chat-theme="taxi"] .act-live-chat__launcher{bottom:calc(94px + env(safe-area-inset-bottom))}
 body.ct-route-detail .ct-footer__bottom{padding-bottom:108px}
}
@media(max-width:600px){
 .ct-route-breadcrumb{margin-bottom:20px;font-size:12px;gap:8px}
 .ct-route-intro{padding-bottom:28px;margin-bottom:28px}.ct-route-intro h1{font-size:34px;line-height:1.13;text-wrap:initial;margin-top:12px}.ct-route-intro p{font-size:16px;line-height:1.8}
 .ct-route-actions{gap:10px}.ct-route-actions .ct-button{width:100%;white-space:normal;text-align:center}
 .ct-route-section{margin-bottom:32px}.ct-route-section h2{font-size:24px;line-height:1.3}.ct-route-jump{gap:8px;margin-top:0}.ct-route-jump a{font-size:13px;padding:9px 13px}
 .ct-route-grid{grid-template-columns:1fr;gap:12px}.ct-route-tile{padding:20px}.ct-route-tile>strong{font-size:21px}
 .ct-route-card{padding:24px}.ct-route-card dl{display:block}.ct-route-card dt{margin-top:16px}.ct-route-card dd{margin-top:5px}
 .ct-route-card .ct-button{width:100%}.ct-route-steps li{padding-left:42px}
 .ct-route-faq summary{font-size:16px;padding-block:18px}.ct-route-faq p{padding-right:0}.ct-route-sources{padding:20px}
 .ct-category-grid{gap:12px}.ct-category-tile{padding:18px;gap:12px}.ct-category-tile strong{font-size:17px}.ct-category-tile small{font-size:13px;line-height:1.6}
 .ct-route-area-links{gap:8px}.ct-route-area-links a{font-size:13px;padding:10px 14px}
 .ct-directory-filters{padding:16px;gap:14px}.ct-directory-filters>div{flex-basis:100%}.ct-directory-heading h2{margin-top:8px}
 .ct-directory-empty,.ct-route-custom,.ct-partner-panel{padding:24px}
 .ct-partner-copy{flex-direction:column}.ct-partner-panel h2{font-size:24px}
}
@media(max-width:360px){.ct-category-grid{grid-template-columns:1fr}.ct-route-intro h1{font-size:31px}.ct-route-mobile-action{gap:10px;padding-inline:14px}.ct-route-mobile-action .ct-button{font-size:12px;padding-inline:13px}}
@media(prefers-reduced-motion:reduce){.ct-route-tile,.ct-category-tile{transition:none}}
