body,header{display:flex}*,main#home{padding:0;margin:0}body,main#home{flex-direction:column;min-height:100vh}.container,header .container{margin-left:auto;margin-right:auto;max-width:80rem;padding-left:2rem;padding-right:2rem;width:100%}body,header,header a:hover{color:#fff}.btn,.skip-link,header .logo a,header a{text-decoration:none}.feature-card,.tabs-shell{backdrop-filter:blur(10px)}.tab-btn,body,select{font-family:Poppins,sans-serif}.btn,.tab-btn,select{cursor:pointer}.metro-map,.page-title,.separator,footer{text-align:center}.fares-table td,.fares-table th,.lines-table td,.lines-table th{text-align:left;padding:.8rem .9rem;border:1px solid rgba(246,195,88,.3)}*{box-sizing:border-box}body{background:linear-gradient(135deg,#0f3a34 0,#1a483f 50%,#275c52 100%)}header{height:80px;flex-direction:row;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1e483f 0,#275c52 100%);box-shadow:0 2px 10px rgba(0,0,0,.3);z-index:100}header .container{display:flex;flex-direction:row;align-items:center;justify-content:space-between}header .logo,header .logo a{align-items:center;display:flex}header .logo{height:100%;justify-content:center}header .logo a{justify-content:center}.results.show,.route-path.show,.tab-panel.active,label{display:block}header .logo img{max-height:60px;transition:transform .3s}header .logo img:hover{transform:scale(1.05)}header .back,header .nav-links{height:100%;display:flex;align-items:center;justify-content:center;gap:2rem;font-size:18px}header a{position:relative;color:#fcfffc;font-size:18px;transition:.3s ease-in-out;padding:.5rem;margin:0 1rem;overflow:hidden}header a::after,header a::before{content:'';display:block;width:0%;height:2px;background-color:#fcfffc;position:absolute;transition:width .3s}header a::before{bottom:0;left:0}header a::after{top:0;right:0}header a:hover::after,header a:hover::before{width:100%}main{width:100%;flex:1 0 auto;max-width:1200px;margin:2rem auto;padding:0 1rem}main#home{display:flex;max-width:100%;background:linear-gradient(180deg,rgba(31,72,63,.5) 0,rgba(39,92,82,.3) 100%)}.container{height:100%;display:flex;flex-direction:column;justify-content:stretch}main .hero{height:calc(100vh - 80px);display:flex;flex-direction:row;width:100%;overflow:hidden;align-items:center;justify-content:space-between;padding:2rem}main .hero .hero-text{width:35%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;text-align:center;gap:1.5rem}main .hero .hero-text .slogan{font-size:3.5rem;font-weight:700;color:#f6c358;margin:0;line-height:1.2;letter-spacing:-1px;background:linear-gradient(135deg,#f6c358,#ffd580);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}main .hero .hero-text .more{font-size:1.1rem;line-height:1.8;color:#d1d5d4;font-weight:300;max-width:90%}main .hero .parallax{width:65%;height:100%;display:flex;overflow:hidden}main .hero .parallax .parallax-layer img{width:100%;height:auto}.application{padding:4rem 2rem;background:linear-gradient(135deg,#1a483f 0,#275c52 100%);border-top:1px solid rgba(255,255,255,.1)}.application h2{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:#f6c358;letter-spacing:-.5px}.btn,.result-item h3,.result-stat-label{letter-spacing:.5px}.application p{font-size:1.1rem;color:#b0c4c1;margin-bottom:2rem;font-weight:300}.feature-card h3,.page-title h1,label p{margin-bottom:.5rem}.btn,.skip-link{font-weight:600}.action-buttons,.download-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.btn{padding:.875rem 2rem;font-size:1rem;border:none;border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;transition:.3s}.btn-primary{background-color:#f6c358;color:#1a483f;box-shadow:0 4px 15px rgba(246,195,88,.3)}.btn-primary:hover{background-color:#ffd580;transform:translateY(-2px);box-shadow:0 8px 20px rgba(246,195,88,.4)}.btn-primary:active,.btn-secondary:active{transform:translateY(0)}.btn-secondary{background-color:transparent;color:#f6c358;border:2px solid #f6c358}.btn-secondary:hover{background-color:#f6c358;color:#1a483f;transform:translateY(-2px)}.features{padding:3rem 2rem;background-color:#1e483f}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.metro-lines-banner,.tabs-nav{grid-template-columns:repeat(3,1fr)}.feature-card{background-color:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:12px;transition:.3s}.feature-card:hover{background-color:rgba(246,195,88,.08);border-color:rgba(246,195,88,.3);transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.3)}.feature-card h3{color:#f6c358;font-size:1.3rem;font-weight:600}.feature-card p,.tab-btn,footer p,label p,select{font-size:.95rem}.feature-card p{color:#b0c4c1;line-height:1.6}footer{background-color:#0f3a34;border-top:1px solid rgba(246,195,88,.2);padding:2rem 1rem;margin-top:auto}footer p{margin:0;color:#b0c4c1}.skip-link{position:absolute;top:-40px;left:0;background:#f6c358;color:#1a483f;padding:8px;z-index:100}.skip-link:focus{top:0}.page-title{margin-bottom:3rem}.page-title h1{font-size:2.5rem;color:#f6c358;font-weight:700}.page-title p{color:#b0c4c1;font-size:1.1rem}.tabs-shell{background:rgba(255,255,255,.03);border:1px solid rgba(246,195,88,.16);border-radius:16px;padding:1.25rem}.tabs-nav{display:grid;gap:.75rem;margin-bottom:1.25rem}.tab-btn{border:1px solid rgba(246,195,88,.35);background:rgba(12,47,41,.9);color:#d8ece9;font-weight:600;border-radius:10px;padding:.85rem 1rem;transition:.25s}.tab-btn:hover{border-color:rgba(246,195,88,.6);color:#fff}.tab-btn.active{background:linear-gradient(135deg,#f6c358 0,#ffd580 100%);color:#173c35;border-color:rgba(246,195,88,.95);box-shadow:0 8px 20px rgba(246,195,88,.22)}.tab-btn:focus-visible{outline:rgba(246,195,88,.5) solid 3px;outline-offset:2px}.tab-panel{display:none}.tab-panel.active{animation:.3s ease-out tabPanelIn}@keyframes tabPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.metro-lines-banner{display:grid;gap:1rem;margin:1rem 0 2.2rem;padding:.9rem;background:rgba(255,255,255,.04);border:1px solid rgba(246,195,88,.18);border-radius:12px;backdrop-filter:blur(8px)}.coord-tools,.metro-map,.planner-section,.results{backdrop-filter:blur(10px)}.metro-lines-banner img{width:100%;height:86px;object-fit:contain;background:rgba(0,0,0,.2);border-radius:8px;border:1px solid rgba(255,255,255,.08);padding:.4rem}.planner-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem}.planner-section h2,.result-item,label{margin-bottom:1.5rem}.planner-section{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:12px}.planner-section h2{color:#f6c358;font-size:1.3rem;font-weight:600}.result-item h3,.separator{color:#f6c358;font-weight:700}label p{color:#f6c358;font-weight:600}.label-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}select{flex:1;min-width:150px;padding:.75rem;background-color:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(246,195,88,.3);border-radius:6px;transition:.3s}select:hover{border-color:rgba(246,195,88,.6);background-color:rgba(255,255,255,.15)}select:focus{outline:0;border-color:#f6c358;box-shadow:0 0 10px rgba(246,195,88,.3)}select option{background-color:#1a483f;color:#fff}.separator{font-size:1.2rem}.results{background:linear-gradient(135deg,rgba(31,72,63,.6) 0,rgba(39,92,82,.4) 100%);border:2px solid rgba(246,195,88,.4);padding:2.5rem;border-radius:16px;margin-top:3rem;display:none;box-shadow:0 8px 32px rgba(0,0,0,.4)}.result-item{background:linear-gradient(135deg,rgba(246,195,88,.12) 0,rgba(246,195,88,.05) 100%);border:2px solid rgba(246,195,88,.3);border-left:6px solid #f6c358;padding:2rem;border-radius:12px;transition:.3s;box-shadow:0 4px 15px rgba(0,0,0,.2)}.result-item:hover{border-color:rgba(246,195,88,.6);box-shadow:0 8px 24px rgba(246,195,88,.15)}.coord-grid label,.coord-link-grid label,.result-item:last-child{margin-bottom:0}.result-item-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.result-item-icon{font-size:1.8rem;min-width:40px}.result-item h3{font-size:1.3rem;margin:0}.result-item-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-top:1.5rem}.result-stat{background:rgba(255,255,255,.05);padding:1rem;border-radius:8px;border:1px solid rgba(246,195,88,.2)}.result-stat-label{color:#b0c4c1;font-size:.85rem;font-weight:600;text-transform:uppercase;margin-bottom:.5rem}.result-stat-value{color:#f6c358;font-size:1.5rem;font-weight:700;animation:.5s ease-out countUp}@keyframes countUp{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.route-visualization{background:rgba(0,0,0,.2);padding:1.5rem;border-radius:10px;margin-top:1.5rem;border:1px solid rgba(246,195,88,.15)}.route-label{color:#f6c358;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem}.route-label::before{content:'Route';font-size:1rem}.route-stations{display:flex;align-items:center;gap:.5rem;overflow-x:auto;padding:1rem 0;scroll-behavior:smooth}.route-stations::-webkit-scrollbar{height:4px}.route-stations::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:10px}.route-stations::-webkit-scrollbar-thumb{background:rgba(246,195,88,.5);border-radius:10px}.route-stations::-webkit-scrollbar-thumb:hover{background:rgba(246,195,88,.8)}.station-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,rgba(246,195,88,.2) 0,rgba(246,195,88,.08) 100%);border:2px solid rgba(246,195,88,.4);color:#d1d5d4;padding:.6rem 1rem;border-radius:20px;white-space:nowrap;font-size:.85rem;font-weight:600;transition:.3s;cursor:default;box-shadow:0 2px 8px rgba(0,0,0,.2)}.station-badge:hover{background:linear-gradient(135deg,rgba(246,195,88,.3) 0,rgba(246,195,88,.15) 100%);border-color:rgba(246,195,88,.7);transform:translateY(-2px);box-shadow:0 4px 12px rgba(246,195,88,.2)}.station-badge.start{background:linear-gradient(135deg,rgba(76,175,80,.3) 0,rgba(76,175,80,.1) 100%);border-color:rgba(76,175,80,.6);color:#4caf50;font-weight:700}.station-badge.start::before{content:"\1F7E2";font-size:.8rem}.station-badge.end{background:linear-gradient(135deg,rgba(244,67,54,.3) 0,rgba(244,67,54,.1) 100%);border-color:rgba(244,67,54,.6);color:#f44336;font-weight:700}.station-badge.end::after{content:"\1F3C1";font-size:.8rem}.station-badge.transfer{background:linear-gradient(135deg,rgba(255,152,0,.3) 0,rgba(255,152,0,.1) 100%);border-color:rgba(255,152,0,.6);color:#ff9800;font-weight:700}.station-badge.transfer::before{content:"\1F504";font-size:.8rem}.station-connector{display:inline-flex;align-items:center;font-size:1.2rem;color:rgba(246,195,88,.6);font-weight:700;animation:2s infinite pulse;min-width:30px;justify-content:center}@keyframes pulse{0%,100%{opacity:.6}50%{opacity:1}}.route-path{color:#d1d5d4;font-size:.9rem;line-height:1.6;word-break:break-word;font-weight:500;padding:1rem;background:rgba(255,255,255,.03);border-radius:8px;border-left:3px solid rgba(246,195,88,.3);margin-top:1rem;display:none}.route-path.show{animation:.4s ease-out slideInLeft}@keyframes slideInLeft{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.route-path strong{color:#f6c358;font-weight:700}.transfer-guide{margin-top:.9rem;color:#f0d79d;font-size:.9rem;font-weight:600;line-height:1.5;background:rgba(246,195,88,.1);border:1px solid rgba(246,195,88,.35);border-radius:8px;padding:.65rem .8rem}.transition-badge{display:inline-block;background:linear-gradient(135deg,rgba(246,195,88,.25) 0,rgba(246,195,88,.15) 100%);color:#f6c358;padding:.4rem .9rem;border-radius:20px;font-size:.8rem;font-weight:700;border:2px solid rgba(246,195,88,.5);margin:.2rem .4rem;box-shadow:0 2px 8px rgba(246,195,88,.2);letter-spacing:.5px}.metro-map{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:12px}.metro-map h2{color:#f6c358;font-size:1.5rem;margin-bottom:1.5rem;font-weight:700}.metro-map img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.3)}.station-map{width:100%;height:560px;border-radius:10px;border:1px solid rgba(246,195,88,.25);overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.35);background:radial-gradient(circle at 30% 20%,#234f47 0,#153b35 55%,#0f2f2a 100%)}.station-label{background:rgba(15,58,52,.9);color:#f3f7f6;border:1px solid rgba(246,195,88,.35);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,.35)}.leaflet-tooltip.station-label:before{border-top-color:rgba(246,195,88,.35)}.fares-section,.lines-section{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:12px;margin-top:2rem;backdrop-filter:blur(10px)}.fares-table,.lines-table{width:100%;border-collapse:collapse;background:rgba(0,0,0,.22);border:1px solid rgba(246,195,88,.25)}.fares-section h2,.lines-section h2{color:#f6c358;font-size:1.5rem;margin-bottom:1rem;font-weight:700}.fares-section p{color:#b0c4c1;margin-bottom:1rem}.fares-table-wrap,.lines-table-wrap{overflow-x:auto}.fares-table{min-width:680px}.fares-table th,.lines-table th{color:#f6c358;background:rgba(246,195,88,.1);font-weight:700}.fares-table td{color:#e0ecea}.lines-table{min-width:760px}.lines-table td,.lines-table th{vertical-align:top}.lines-table td{color:#e0ecea;line-height:1.55}.stations-row{display:flex;flex-wrap:wrap;gap:.45rem}.station-pill{display:inline-flex;align-items:center;background:rgba(246,195,88,.14);border:1px solid rgba(246,195,88,.35);color:#f3f7f6;padding:.25rem .55rem;border-radius:999px;font-size:.78rem;line-height:1.3;white-space:nowrap}.coord-grid,.coord-link-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.9rem}.coord-tools{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:1.5rem;border-radius:12px;margin:1rem 0 2rem}.coord-tools h2{color:#f6c358;font-size:1.2rem;margin-bottom:.8rem}.coord-grid input,.coord-link-input{width:100%;padding:.75rem;background-color:rgba(255,255,255,.1);color:#fff}.coord-link-grid{margin-top:.8rem}.coord-link-input{border:1px solid rgba(246,195,88,.3);border-radius:6px;font-size:.9rem}.coord-link-input::placeholder{color:rgba(224,236,234,.7)}.coord-grid{margin-top:1rem}.coord-grid input{border:1px solid rgba(246,195,88,.3);border-radius:6px;font-size:.95rem}.coord-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.coord-result,.travel-status{margin-top:1rem;color:#d8ece9;background:rgba(0,0,0,.2);border:1px solid rgba(246,195,88,.25);border-radius:8px;padding:.8rem;font-size:.92rem;line-height:1.5}@media (max-width:992px){main .hero .hero-text,main .hero .parallax,main .hero .parallax img{width:100%;height:auto}main .hero{flex-direction:column;height:100%}main .hero .hero-text{font-size:1.25rem;margin-bottom:1rem;padding:2rem 1rem}main .hero .hero-text .slogan{font-size:2rem;font-weight:600;margin:1rem auto}.application p,main .hero .hero-text .more{font-size:1rem}main .hero .parallax{max-width:100%}.action-buttons,.download-buttons{flex-direction:column;align-items:stretch}.btn{justify-content:center}.application h2{font-size:1.8rem}.features-grid{grid-template-columns:1fr}}@media (max-width:768px){header{padding:0 1rem;height:70px}header .container{padding-left:1rem;padding-right:1rem}header .logo img{max-height:50px}header .back,header .nav-links{gap:1rem;font-size:14px}header a{font-size:14px;margin:0 .5rem}}@media (max-width:576px){.coord-grid,.coord-link-grid,.metro-lines-banner,.planner-container,.result-item-content,.tabs-nav{grid-template-columns:1fr}.btn,.tab-btn,select{width:100%}header{height:60px}header .container{padding-left:.75rem;padding-right:.75rem}header .logo img{max-height:40px}header .back,header .nav-links{gap:.75rem;font-size:12px}header a{font-size:12px;margin:0 .25rem;padding:.25rem}.planner-container{gap:2rem}.page-title h1{font-size:1.8rem}.tabs-shell{padding:.9rem}.tab-btn{text-align:center}.metro-lines-banner img{height:72px}.action-buttons,.label-row{flex-direction:column}.btn{justify-content:center}.result-item,.results{padding:1.5rem}.route-path{font-size:.9rem}.station-map{height:430px}}