:root{--blue-900: #0a2a52;--blue-800: #0d3a73;--blue-700: #0b4ea2;--blue-600: #1560c4;--blue-100: #e3edf9;--blue-50: #f2f7fd;--amber-500: #f5a623;--green-600: #1a7f4b;--gray-900: #17202b;--gray-700: #3d4a58;--gray-600: #4d5a6a;--gray-400: #8a97a6;--gray-200: #dde4ec;--gray-100: #eef2f7;--white: #ffffff;--radius: 10px;--shadow-sm: 0 1px 3px rgba(10, 42, 82, .08);--shadow-md: 0 4px 16px rgba(10, 42, 82, .12);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--max-w: 1120px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.65;color:var(--gray-900);background:var(--white)}img{max-width:100%;height:auto}a{color:var(--blue-700)}a:hover{color:var(--blue-600)}h1,h2,h3,h4{line-height:1.25;color:var(--blue-900);margin:0 0 .5em}h1{font-size:clamp(1.7rem,4vw,2.4rem)}h2{font-size:clamp(1.35rem,3vw,1.75rem);margin-top:1.6em}h3{font-size:1.15rem}.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}.ticker-bar{background:var(--blue-900);color:#cfe0f5;font-size:.78rem;line-height:1.4;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.12);overflow:hidden}.ticker-static{max-width:var(--max-w);margin:0 auto;padding:0 20px;text-align:center}.ticker-bar .ico{color:var(--amber-500);margin-right:6px}.ticker-bar--scroll{position:relative}.ticker-track{display:flex;width:max-content;animation:ticker-scroll 38s linear infinite}.ticker-item{padding-right:4rem;white-space:nowrap}.ticker-bar--scroll:hover .ticker-track{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;width:100%;justify-content:center}.ticker-item:nth-child(2){display:none}.ticker-item{white-space:normal;padding-right:0;text-align:center}}.site-header{background:var(--blue-800);color:var(--white);position:sticky;top:0;z-index:50;box-shadow:var(--shadow-sm)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}.brand{display:flex;align-items:center;gap:10px;color:var(--white);text-decoration:none;font-weight:700;font-size:1.05rem;white-space:nowrap}.brand-mark{background:var(--amber-500);color:var(--blue-900);border-radius:6px;padding:3px 7px;font-size:.85rem;font-weight:800;letter-spacing:.5px}.main-nav{display:flex;gap:2px;flex-wrap:nowrap;align-items:center;margin-left:auto}.main-nav a{color:#cfe0f5;text-decoration:none;padding:8px 9px;border-radius:6px;font-size:.9rem;white-space:nowrap}.main-nav a:hover,.main-nav a.active{background:#ffffff1f;color:var(--white)}.header-search{display:flex;align-items:center;margin-left:6px}.header-search input{width:118px;padding:7px 10px;border:1px solid rgba(255,255,255,.35);border-radius:7px 0 0 7px;background:#ffffff1f;color:var(--white);font-size:.85rem;font-family:inherit;transition:width .15s}.header-search input::placeholder{color:#a8bfdd}.header-search input:focus{outline:none;background:#fff3;width:170px}@media(min-width:941px)and (max-width:1080px){.main-nav a{padding:8px 6px;font-size:.86rem}.header-search input{width:100px}.header-search input:focus{width:150px}.brand{font-size:.95rem}}.header-search button{padding:7px 10px;border:1px solid rgba(255,255,255,.35);border-left:none;border-radius:0 7px 7px 0;background:#ffffff1f;color:var(--white);cursor:pointer;font-size:.85rem}.header-search button:hover{background:#ffffff38}.suggest-wrap{position:relative}.header-search .suggest-wrap input{border-radius:7px 0 0 7px}.suggest-list{position:absolute;top:calc(100% + 6px);right:0;min-width:300px;max-width:92vw;background:var(--white);border:1px solid var(--gray-200);border-radius:10px;box-shadow:var(--shadow-md);list-style:none;margin:0;padding:6px;z-index:90;max-height:380px;overflow-y:auto}.search-page-form .suggest-list{left:0;right:auto;width:100%}.suggest-list a,.main-nav .suggest-list a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;text-decoration:none;color:var(--gray-900);font-size:.9rem;background:transparent}.suggest-list a:hover,.suggest-list a.active,.main-nav .suggest-list a:hover,.main-nav .suggest-list a.active{background:var(--blue-100);color:var(--blue-900)}.suggest-main{display:flex;align-items:flex-start;gap:9px;flex-wrap:nowrap;min-width:0}.suggest-type{font-size:.8rem;color:var(--blue-700);width:16px;text-align:center;flex-shrink:0;margin-top:3px}.suggest-text{display:block;line-height:1.35}.suggest-main small{display:block;color:var(--gray-500, #64748b);font-size:.74rem;margin-top:1px}.suggest-list a:hover .suggest-main small,.suggest-list a.active .suggest-main small{color:var(--gray-600)}.suggest-list strong,.main-nav .suggest-list a strong{color:var(--green-600);white-space:nowrap}@media(max-width:940px){.suggest-list{left:0;right:auto;width:100%;min-width:0}.header-search-slot{width:100%}.header-search-slot .header-search{width:100%;margin-left:0;margin-top:4px}.header-search-slot .suggest-wrap{flex:1}.header-search-slot input{width:100%}.header-search-slot input:focus{width:100%}}.search-page-form{display:flex;gap:8px;max-width:560px;margin:4px 0 22px}.search-page-form input{flex:1;padding:12px 14px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:1rem;font-family:inherit}.search-page-form input:focus{outline:2px solid var(--blue-600);outline-offset:1px}.search-routes{display:grid;gap:8px;max-width:560px;margin-bottom:10px}.search-route-card{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1.5px solid var(--blue-100);background:var(--blue-50);border-radius:8px;padding:12px 16px;text-decoration:none;color:var(--blue-900)}.search-route-card:hover{border-color:var(--blue-600)}.search-route-card strong{font-size:1.15rem;color:var(--green-600)}.search-route-card small{color:var(--gray-400)}.search-list{list-style:none;padding:0;max-width:640px}.search-list li{padding:10px 0;border-bottom:1px solid var(--gray-100)}.search-list p{margin:3px 0 0;font-size:.9rem;color:var(--gray-600)}.brand-logo{height:38px;width:auto;display:block}@media(max-width:480px){.brand-logo{height:32px}}.nav-dropdown{position:relative}.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#cfe0f5;font-family:inherit;font-size:.9rem;padding:8px 9px;border-radius:6px;cursor:pointer;white-space:nowrap}.nav-dropdown-toggle .ico{font-size:.62rem}.nav-dropdown-toggle:hover,.nav-dropdown-toggle.active,.nav-dropdown:hover .nav-dropdown-toggle,.nav-dropdown:focus-within .nav-dropdown-toggle{background:#ffffff1f;color:var(--white)}.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--white);border:1px solid var(--gray-200);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;z-index:95}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}.main-nav .nav-dropdown-menu a{display:block;color:var(--gray-900);padding:9px 12px;border-radius:6px;font-size:.9rem;white-space:nowrap}.main-nav .nav-dropdown-menu a:hover,.main-nav .nav-dropdown-menu a.active{background:var(--blue-50);color:var(--blue-800)}@media(max-width:940px){.nav-dropdown{width:100%}.nav-dropdown-toggle{display:none}.nav-dropdown-menu{display:block;position:static;background:none;border:none;box-shadow:none;padding:0;min-width:0}.main-nav .nav-dropdown-menu a{color:#cfe0f5;padding:8px 12px}.main-nav .nav-dropdown-menu a:hover,.main-nav .nav-dropdown-menu a.active{background:#ffffff1f;color:var(--white)}}.contact-wrap{max-width:640px;margin-top:28px}.contact-form .cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.contact-form .cf-grid{grid-template-columns:1fr}}.contact-form textarea{width:100%;padding:11px 12px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical}.contact-form textarea:focus{outline:2px solid var(--blue-600);outline-offset:1px;border-color:var(--blue-600)}.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-success{background:#e0f2e9;border:1px solid #b5dfc8;color:var(--green-600);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-weight:600}.form-errors{background:#fde8e7;border:1px solid #f5b5b1;color:#b3261e;border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:.92rem}.form-errors ul{margin:6px 0 0;padding-left:18px}.nav-toggle{display:none}.nav-toggle-btn{display:none;background:none;border:1px solid rgba(255,255,255,.4);color:var(--white);border-radius:6px;padding:6px 10px;font-size:1.1rem;cursor:pointer}@media(max-width:940px){.nav-toggle-btn{display:block}.main-nav{display:none;position:absolute;top:60px;left:0;right:0;background:var(--blue-800);flex-direction:column;align-items:stretch;padding:8px 16px 16px;box-shadow:var(--shadow-md)}.nav-toggle:checked~.main-nav{display:flex}}.hero{background:linear-gradient(160deg,var(--blue-800) 0%,var(--blue-700) 60%,var(--blue-600) 100%);color:var(--white);padding:40px 0 56px}.hero h1{color:var(--white);margin-bottom:.35em}.hero p.lead{color:#d8e6f8;font-size:1.08rem;max-width:720px;margin:0}.hero .container{display:grid;gap:28px}@media(min-width:920px){.hero .container{grid-template-columns:1.1fr 1fr;align-items:center}}.calc-card{background:var(--white);color:var(--gray-900);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:22px}.calc-card h2{margin-top:0;font-size:1.2rem}.field{margin-bottom:14px}.field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:5px;color:var(--gray-700)}.field select,.field input{width:100%;padding:11px 12px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:1rem;font-family:inherit;background:var(--white);color:var(--gray-900)}.field select:focus,.field input:focus{outline:2px solid var(--blue-600);outline-offset:1px;border-color:var(--blue-600)}.pa-wrap{position:relative}.pa-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--blue-700);font-size:.9rem;pointer-events:none}.pa-wrap input{padding-left:36px;padding-right:34px}.pa-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gray-400);cursor:pointer;padding:6px 8px;font-size:.95rem}.pa-clear:hover{color:var(--gray-600)}.pa-list{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--white);border:1px solid var(--gray-200);border-radius:10px;box-shadow:var(--shadow-md);list-style:none;margin:0;padding:5px;z-index:80;max-height:320px;overflow-y:auto;-webkit-overflow-scrolling:touch}.pa-group{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-600);background:var(--gray-100);padding:6px 10px;border-radius:6px;margin:4px 0 2px}.pa-group:first-child{margin-top:0}.pa-list li[role=option] button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px;background:none;border:none;border-radius:7px;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--gray-900);text-align:left;cursor:pointer}.pa-list li[role=option] button:hover,.pa-list li[role=option] button.active{background:var(--blue-50);color:var(--blue-900)}.pa-chip{font-size:.7rem;font-weight:700;background:var(--gray-100);color:var(--gray-600);border-radius:99px;padding:2px 9px;flex-shrink:0}.pa-empty{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--white);border:1px solid var(--gray-200);border-radius:10px;box-shadow:var(--shadow-md);padding:12px 14px;z-index:80;font-size:.88rem;color:var(--gray-600);margin:0}.class-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.class-cards button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 12px;border:1.5px solid var(--gray-200);background:var(--white);border-radius:10px;font-family:inherit;cursor:pointer;text-align:left;color:var(--gray-600)}.class-cards button .ico{font-size:1.05rem;color:var(--gray-400);margin-bottom:3px}.class-cards button .class-name{font-weight:800;font-size:.9rem;color:var(--gray-900)}.class-cards button .class-desc{font-size:.73rem;line-height:1.3}.class-cards button.selected{border-color:var(--blue-700);background:var(--blue-50)}.class-cards button.selected .ico,.class-cards button.selected .class-name{color:var(--blue-800)}.class-cards button.selected .class-desc{color:var(--blue-700)}@media(max-width:480px){.class-cards{grid-template-columns:1fr}.class-cards button{flex-direction:row;align-items:center;gap:10px}.class-cards button .ico{margin-bottom:0}.class-cards button .class-desc{margin-left:auto;text-align:right}}.calc-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:8px}.btn.btn-ghost{background:var(--white);border:1.5px solid var(--gray-200);color:var(--gray-900);font-weight:700}.btn.btn-ghost:hover{border-color:var(--blue-600);color:var(--blue-800);filter:none}.class-picker{display:flex;gap:8px}.class-picker button{flex:1;padding:9px 4px;border:1.5px solid var(--gray-200);background:var(--white);border-radius:8px;font-size:.86rem;font-family:inherit;cursor:pointer;color:var(--gray-600)}.class-picker button.selected{border-color:var(--blue-700);background:var(--blue-50);color:var(--blue-800);font-weight:700}.btn{display:inline-block;background:var(--amber-500);color:var(--blue-900);font-weight:700;font-size:1rem;border:none;border-radius:8px;padding:13px 22px;cursor:pointer;text-decoration:none;text-align:center;font-family:inherit;transition:filter .15s}.btn:hover{filter:brightness(1.06);color:var(--blue-900)}.btn-block{display:block;width:100%}.btn-secondary{background:var(--blue-700);color:var(--white)}.btn-secondary:hover{color:var(--white)}.swap-btn{background:var(--blue-50);border:1.5px solid var(--gray-200);border-radius:8px;width:100%;padding:6px;cursor:pointer;color:var(--blue-700);font-size:.85rem;font-family:inherit;margin-bottom:14px}.calc-result{margin-top:16px;border-top:2px solid var(--gray-100);padding-top:16px}.result-card{margin-top:18px;border:2px solid var(--blue-700);border-radius:14px;background:var(--white);box-shadow:var(--shadow-md);padding:18px 20px}.result-top{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;align-items:start}.result-route{margin:0 0 10px;font-size:1.2rem;font-weight:800;color:var(--gray-900);line-height:1.3}.result-route>i:first-child{color:var(--blue-700);margin-right:4px}.result-arrow{font-size:.85rem;color:var(--gray-400);margin:0 2px}.result-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.result-chip{display:inline-flex;align-items:center;gap:6px;background:var(--gray-100);border-radius:99px;padding:5px 12px;font-size:.78rem;font-weight:700;color:var(--gray-600);white-space:nowrap}.result-chip .ico{color:var(--blue-700);font-size:.75rem}.result-fee{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:1px}.fee-label{font-size:.72rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--gray-600)}.fee-amount{font-size:2.9rem;font-weight:800;line-height:1.05;color:var(--green-600);font-variant-numeric:tabular-nums}.fee-sub{font-size:.8rem;color:var(--gray-400);font-weight:600}.fee-balance{margin-top:8px;font-size:.8rem;color:var(--gray-600);display:inline-flex;align-items:center;gap:6px}.fee-balance .ico{color:var(--blue-700)}.fee-balance strong{color:var(--green-600)}@media(max-width:560px){.result-top{grid-template-columns:1fr}.result-fee{align-items:flex-start;text-align:left}.fee-amount{font-size:2.4rem}}.route-details{margin-top:12px;border:1.5px solid var(--gray-200);border-radius:12px;background:var(--white);overflow:hidden}.route-details summary{list-style:none;cursor:pointer;text-align:center;padding:12px;font-weight:700;font-size:.92rem;color:var(--gray-900)}.route-details summary::-webkit-details-marker{display:none}.route-details summary .ico{color:var(--blue-700);margin-right:6px}.route-details summary:after{content:" ▾";color:var(--gray-400)}.route-details[open] summary:after{content:" ▴"}.route-details>*:not(summary){margin-left:16px;margin-right:16px}.route-details .rate-rows{width:calc(100% - 32px)}.route-details>a{display:inline-block;margin-bottom:14px}.route-details .rate-rows td .ico{color:var(--gray-400);width:20px}.rate-row-selected td{background:var(--blue-50);font-weight:700}.details-trigger{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:13px;background:var(--white);border:1.5px solid var(--gray-200);border-radius:12px;font-family:inherit;font-size:.95rem;font-weight:700;color:var(--gray-900);cursor:pointer;transition:border-color .15s,background .15s}.details-trigger:hover{border-color:var(--blue-600);background:var(--blue-50)}.details-trigger>i:first-child{color:var(--blue-700)}.details-chevron{font-size:.75rem;color:var(--gray-400)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a2a528c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:200;animation:modal-fade .15s ease}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--white);border-radius:16px;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0a2a524d;animation:modal-rise .2s ease;outline:none}@keyframes modal-rise{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--gray-200)}.modal-title{margin:0;font-size:1.15rem;font-weight:800;color:var(--blue-900);line-height:1.3}.modal-title .ico{color:var(--gray-400);font-size:.85rem;margin:0 4px}.modal-sub{margin:3px 0 0;font-size:.85rem;color:var(--gray-600)}.modal-close{background:none;border:none;font-size:1.2rem;color:var(--gray-400);cursor:pointer;padding:4px 8px;border-radius:6px;flex-shrink:0}.modal-close:hover{color:var(--gray-900);background:var(--gray-100)}.modal-body{padding:18px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-h3{font-size:.95rem;font-weight:800;color:var(--blue-900);margin:22px 0 8px;display:flex;align-items:center;gap:8px}.modal-h3:first-of-type{margin-top:4px}.modal-h3 .ico{color:var(--blue-700);font-size:.85rem}.modal-hint{font-size:.85rem;color:var(--gray-600);margin:0 0 12px}.modal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:var(--blue-50);border-radius:12px;padding:14px}.ms-item{display:flex;flex-direction:column;gap:1px}.ms-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--gray-600)}.ms-value{font-size:1.3rem;font-weight:800;color:var(--blue-900);line-height:1.15}.ms-fee{color:var(--green-600)}.ms-rfid{font-size:1.05rem}.ms-note{font-size:.74rem;color:var(--gray-400)}.timeline{list-style:none;margin:0;padding:0 0 0 4px}.timeline li{position:relative;padding:0 0 16px 26px}.timeline li:before{content:"";position:absolute;left:6px;top:16px;bottom:-2px;width:2px;background:var(--gray-200)}.timeline li:last-child:before{display:none}.tl-dot{position:absolute;left:0;top:4px;width:14px;height:14px;border-radius:50%;background:var(--white);border:2px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:.5rem;color:var(--white)}.tl-entry .tl-dot,.tl-exit .tl-dot{background:var(--blue-700);border-color:var(--blue-700)}.tl-exit .tl-dot{background:var(--green-600);border-color:var(--green-600)}.tl-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.tl-name{font-weight:700;color:var(--gray-900);font-size:.95rem}.tl-name small{display:inline-block;margin-left:6px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--blue-700);background:var(--blue-100);border-radius:99px;padding:1px 8px;vertical-align:middle}.tl-exit .tl-name small{color:var(--green-600);background:#e0f2e9}.tl-fare{font-weight:700;color:var(--gray-600);white-space:nowrap;font-variant-numeric:tabular-nums}.tl-fare-final{color:var(--green-600);font-size:1.05rem}.tl-fare-none{color:var(--gray-400)}.tl-notes{margin:4px 0 0;font-size:.85rem;color:var(--gray-600)}.tl-connections{margin:4px 0 0;font-size:.82rem;color:var(--gray-600)}.tl-connections .ico{color:var(--amber-500);margin-right:4px}.tl-directions{display:inline-block;margin-top:4px;font-size:.8rem;text-decoration:none}.tl-directions:hover{text-decoration:underline}.tl-amenities{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.tl-amenity{display:inline-flex;align-items:center;gap:5px;background:var(--gray-100);border-radius:99px;padding:3px 10px;font-size:.75rem;font-weight:600;color:var(--gray-600);cursor:help}.tl-amenity .ico{color:var(--blue-700);font-size:.72rem}.tl-amenity-list{list-style:none;margin:7px 0 0;padding:8px 10px;background:var(--gray-100);border-radius:8px;display:grid;gap:5px}.tl-amenity-list li{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;color:var(--gray-600);line-height:1.4}.tl-amenity-list strong{color:var(--gray-900);font-weight:700}.tl-amenity-icon{color:var(--blue-700);font-size:.78rem;width:16px;text-align:center;margin-top:2px;flex-shrink:0}.tl-amenity-dist{color:var(--gray-400);font-style:normal;font-size:.76rem}.timeline-static{max-width:720px;margin:14px 0 18px}.timeline-static .tl-dot{background:var(--white)}.timeline-static .tl-name{font-size:1rem}.modal-attribution{width:100%;margin:6px 0 0;font-size:.75rem;color:var(--gray-400);text-align:center}.modal-table{width:100%;border-collapse:collapse;font-size:.9rem}.modal-table td{padding:9px 10px;border-bottom:1px solid var(--gray-100)}.modal-table td:last-child{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.modal-table td .ico{color:var(--gray-400);width:20px}.modal-facts{margin:0;padding-left:18px;font-size:.88rem;color:var(--gray-600)}.modal-facts li{margin-bottom:7px;line-height:1.5}.modal-foot{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px;border-top:1px solid var(--gray-200);background:var(--gray-100);border-radius:0 0 16px 16px}.modal-foot .btn{flex:1;min-width:150px;padding:11px 14px;font-size:.9rem;text-align:center}@media(max-width:560px){.modal-backdrop{padding:0;align-items:flex-end}.modal-panel{max-height:94vh;border-radius:16px 16px 0 0}.modal-foot{border-radius:0}.modal-summary{grid-template-columns:1fr;gap:12px}.ms-item{flex-direction:row;align-items:baseline;gap:8px;flex-wrap:wrap}.ms-value{font-size:1.1rem}}.result-actions-bar{justify-content:flex-end;margin-top:12px}.result-actions-bar button,.result-actions-bar a{display:inline-flex;align-items:center;gap:7px;background:none;border:none;font-family:inherit;font-size:.9rem;font-weight:700;color:var(--gray-900);cursor:pointer;text-decoration:none;padding:6px 8px}.result-actions-bar .ico,.result-actions-bar button:hover,.result-actions-bar a:hover{color:var(--blue-700)}.calc-result .headline-rate{font-size:2rem;font-weight:800;color:var(--green-600);line-height:1.1}.calc-result .route-label{color:var(--gray-600);font-size:.92rem;margin-bottom:4px}.rate-rows{margin-top:10px;width:100%;border-collapse:collapse;font-size:.93rem}.rate-rows td{padding:6px 8px;border-bottom:1px solid var(--gray-100)}.rate-rows td:last-child{text-align:right;font-weight:700}.calc-note{font-size:.8rem;color:var(--gray-400);margin-top:10px}.calc-error{color:#b3261e;font-size:.9rem;margin-top:10px}.trip-toggle{display:inline-flex;gap:6px;margin:8px 0 4px}.trip-toggle button{padding:5px 14px;border:1.5px solid var(--gray-200);background:var(--white);border-radius:99px;font-size:.82rem;font-family:inherit;cursor:pointer;color:var(--gray-600)}.trip-toggle button.selected{border-color:var(--blue-700);background:var(--blue-50);color:var(--blue-800);font-weight:700}.rfid-tip{background:var(--blue-50);border-radius:8px;padding:9px 12px;font-size:.88rem;margin:10px 0 0;color:var(--gray-700)}.calc-note-inline{color:var(--gray-400);font-size:.78rem}.result-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px;font-size:.9rem}.result-actions button{background:none;border:1.5px solid var(--gray-200);border-radius:6px;padding:5px 12px;cursor:pointer;font-family:inherit;font-size:.85rem;color:var(--blue-700)}.result-actions button:hover{border-color:var(--blue-600)}.leg-card{border:1.5px solid var(--gray-200);border-radius:8px;padding:12px 14px 4px;margin-bottom:12px;background:var(--blue-50)}.leg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--blue-900)}.leg-remove{background:none;border:none;color:#b3261e;cursor:pointer;font-size:.82rem;font-family:inherit;padding:4px}.leg-points{display:grid;grid-template-columns:1fr 1fr;gap:10px}.leg-swap{background:var(--white);border:1px solid var(--gray-200);border-radius:6px;padding:5px 12px;font-size:.8rem;font-family:inherit;color:var(--blue-700);cursor:pointer;margin-bottom:8px}.leg-swap:hover{border-color:var(--blue-600)}.leg-swap:disabled{opacity:.5;cursor:default}.fuel-extra{margin-top:4px}.fuel-extra summary{cursor:pointer;font-size:.9rem;color:var(--blue-700);font-weight:600;padding:6px 0}.fuel-extra .leg-points{grid-template-columns:1fr 1fr 1fr}.matrix-mobile{display:none}.matrix-entry{border:1px solid var(--gray-200);border-radius:8px;margin-bottom:8px;background:var(--white);overflow:hidden}.matrix-entry summary{cursor:pointer;padding:12px 38px 12px 14px;font-weight:700;color:var(--blue-900);background:var(--blue-50);list-style:none;position:relative}.matrix-entry summary::-webkit-details-marker{display:none}.matrix-entry summary:after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--blue-700)}.matrix-entry[open] summary:after{content:"–"}.matrix-entry-fees{width:100%;border-collapse:collapse;font-size:.92rem}.matrix-entry-fees td{padding:9px 14px;border-top:1px solid var(--gray-100)}.matrix-entry-fees td:last-child{text-align:right;font-variant-numeric:tabular-nums}.matrix-entry-fees a{text-decoration:none;font-weight:700}@media(max-width:700px){.matrix-desktop{display:none}.matrix-mobile{display:block}}.table-wrap,.matrix-wrap{-webkit-overflow-scrolling:touch}@media(max-width:600px){.hero{padding:26px 0 36px}.section{padding:32px 0}.calc-card{padding:16px}.container{padding:0 14px}table.data th,table.data td{padding:8px 9px;font-size:.85rem}.pill-links a{padding:8px 13px}.class-picker button,.trip-toggle button{min-height:40px}.btn,.field select,.field input{min-height:46px}.fuel-extra .leg-points{grid-template-columns:1fr}.result-actions{gap:8px}.result-actions a,.result-actions button{min-height:38px;display:inline-flex;align-items:center}.footer-grid{gap:20px}.site-footer{padding:28px 0 18px}}@media(max-width:380px){.leg-points{grid-template-columns:1fr}.brand span:last-child{font-size:.92rem}}.calc-loading{color:var(--gray-600);font-size:.9rem}.trust-section{background:var(--blue-50);border-bottom:1px solid var(--blue-100)}.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:18px}.trust-item{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:18px}.trust-item>.ico{font-size:1.3rem;color:var(--blue-700);margin-bottom:8px;display:block}.trust-item h3{font-size:1rem;margin:0 0 6px}.trust-item p{margin:0;font-size:.88rem;color:var(--gray-600);line-height:1.55}.trust-links{margin-top:16px;font-size:.9rem}.trust-warning{margin-top:16px;background:#fdf1dc;border-left:4px solid var(--amber-500);border-radius:6px;padding:12px 16px;font-size:.88rem;color:#7a4f08;line-height:1.55}.trust-warning .ico{color:var(--amber-500);margin-right:6px}.section{padding:44px 0}.section-alt{background:var(--blue-50)}.section-title{text-align:left;margin-bottom:18px}.section-sub{color:var(--gray-600);margin-top:-8px;margin-bottom:24px}.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.card h3{margin-top:0}.card h3 a{text-decoration:none;color:var(--blue-800)}.card h3 a:hover{text-decoration:underline}a.card-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;will-change:transform}a.card-link h3{color:var(--blue-800);transition:color .18s ease}a.card-link:hover,a.card-link:focus-visible{transform:translateY(-4px);box-shadow:0 10px 26px #0a2a5229;border-color:var(--blue-600);color:inherit}a.card-link:hover h3{color:var(--blue-600)}a.card-link:focus-visible{outline:2px solid var(--blue-600);outline-offset:2px}.card-cta{margin-top:auto;padding-top:14px;font-size:.88rem;font-weight:700;color:var(--blue-700);display:inline-flex;align-items:center;gap:7px}.card-cta .ico{transition:transform .18s ease;font-size:.8rem}a.card-link:hover .card-cta .ico{transform:translate(4px)}@media(prefers-reduced-motion:reduce){a.card-link,.card-cta .ico{transition:none}a.card-link:hover{transform:none}}.card .meta{font-size:.83rem;color:var(--gray-400)}.card p{margin:8px 0 0;color:var(--gray-600);font-size:.95rem}.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--blue-100);color:var(--blue-800);margin-right:6px}.badge-green{background:#e0f2e9;color:var(--green-600)}.badge-amber{background:#fdf1dc;color:#9a6a10}.table-wrap{overflow-x:auto;border:1px solid var(--gray-200);border-radius:var(--radius)}table.data{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--white)}table.data th,table.data td{padding:10px 12px;border-bottom:1px solid var(--gray-100);text-align:left}table.data th{background:var(--blue-800);color:var(--white);font-weight:600;white-space:nowrap;position:sticky;top:0}table.data tr:nth-child(2n) td{background:var(--blue-50)}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}table.data a{text-decoration:none}table.data a:hover{text-decoration:underline}.prose table{width:100%;border-collapse:collapse;font-size:.93rem;margin:16px 0}.prose table th,.prose table td{padding:9px 12px;border:1px solid var(--gray-200);text-align:left}.prose table th{background:var(--blue-50);color:var(--blue-900)}.faq-item{border:1px solid var(--gray-200);border-radius:8px;margin-bottom:10px;background:var(--white);overflow:hidden}.faq-item summary{cursor:pointer;padding:14px 40px 14px 16px;font-weight:600;color:var(--blue-900);list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--blue-700)}.faq-item[open] summary:after{content:"–"}.faq-item .faq-answer{padding:0 16px 14px;color:var(--gray-600)}.breadcrumbs{font-size:.85rem;color:var(--gray-400);padding:14px 0 0}.breadcrumbs a{color:var(--gray-600);text-decoration:none}.breadcrumbs a:hover{color:var(--blue-700)}.breadcrumbs span[aria-current]{color:var(--gray-900)}.prose{max-width:760px}.prose p{margin:0 0 1.1em;color:var(--gray-700, #3d4a58)}.prose ul,.prose ol{padding-left:1.4em;color:var(--gray-700, #3d4a58)}.prose li{margin-bottom:.4em}.prose h2{border-bottom:2px solid var(--blue-100);padding-bottom:6px}.rate-panel{background:var(--blue-50);border:1.5px solid var(--blue-100);border-radius:var(--radius);padding:22px;margin:20px 0}.rate-panel .headline-rate{font-size:2.6rem;font-weight:800;color:var(--blue-800);line-height:1}.rate-panel .headline-label{color:var(--gray-600);font-size:.9rem}.site-footer{background:var(--blue-900);color:#b9cbe2;margin-top:56px;padding:40px 0 24px;font-size:.92rem}.site-footer h4{color:var(--white);font-size:.95rem;margin-bottom:10px}.site-footer a{color:#b9cbe2;text-decoration:none;display:inline-block;padding:3px 0}.site-footer a:hover{color:var(--white)}.footer-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:28px;padding-top:18px;font-size:.82rem;color:#8fa5c2}.text-muted{color:var(--gray-400)}.updated-note{font-size:.85rem;color:var(--gray-400);margin-top:4px}.disclaimer-box{background:var(--gray-100);border-left:4px solid var(--amber-500);border-radius:6px;padding:12px 16px;font-size:.85rem;color:var(--gray-600);margin:24px 0}.pill-links{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.pill-links a{background:var(--white);border:1px solid var(--gray-200);border-radius:99px;padding:5px 11px;font-size:.8rem;text-decoration:none;color:var(--blue-800);white-space:nowrap}.pill-links a:hover{border-color:var(--blue-600);background:var(--blue-50)}.hero .pill-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:6px;max-width:640px}.hero .pill-links a{text-align:center;padding:6px 8px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#e8f0fb;overflow:hidden;text-overflow:ellipsis}.hero .pill-links a:hover{background:#ffffff38;border-color:#ffffff80;color:#fff}@media(max-width:480px){.hero .pill-links{grid-template-columns:1fr 1fr}.hero .pill-links a{font-size:.74rem;padding:6px}}.ad-slot{min-height:100px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:8px;color:var(--gray-400);font-size:.8rem;margin:24px 0}.ad-slot:empty{display:none}.pagination{display:flex;gap:6px;margin-top:24px;flex-wrap:wrap}.pagination a,.pagination span{padding:7px 13px;border:1px solid var(--gray-200);border-radius:6px;text-decoration:none;font-size:.9rem}.pagination .current{background:var(--blue-700);color:var(--white);border-color:var(--blue-700)}.map-figure{margin:24px 0 8px;padding:12px;background:var(--gray-50, #f8fafc);border:1px solid var(--gray-200, #e2e8f0);border-radius:12px}.network-map{display:block;width:100%;height:auto;max-width:620px;margin:0 auto}.network-map circle{cursor:help}.map-figure figcaption{margin-top:12px;font-size:.82rem;line-height:1.5;color:var(--gray-500, #64748b);text-align:center;max-width:640px;margin-inline:auto}@media(max-width:600px){.map-figure{padding:6px}.network-map{max-width:100%}}.trust-section{border-top:2px solid var(--gray-200);border-bottom:0;padding-top:44px}.ico{width:1em;height:1em;fill:currentColor;display:inline-block;vertical-align:-.125em;flex-shrink:0}.answer-lede{font-size:1.05rem;line-height:1.6;color:var(--gray-700);border-left:3px solid var(--blue-600);padding:2px 0 2px 14px;margin:0 0 18px;max-width:820px}.answer-lede strong{color:var(--blue-900)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
