@font-face{font-family:Montserrat;src:url('assets/montserrat.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--forest:#153F35;--green:#176F59;--ink:#253E35;--muted:#63776E;--gold:#C39225;--yellow:#F2C536;--cream:#F8F9F5;--line:#DCE7DF;--mint:#EEF4EC;--white:#fff;--shadow:0 7px 30px #153f3507}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:1.6}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green);text-underline-offset:4px}button{color:inherit}button:hover{filter:brightness(.97)}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #B7800B;outline-offset:4px}button:disabled{opacity:.5;cursor:default}svg{display:block}.wrap{max-width:1240px;margin:auto;width:calc(100% - 72px)}.skip{position:fixed;top:-70px;left:20px;background:white;padding:10px 20px;z-index:20}.skip:focus{top:10px}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{height:89px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{height:66px;display:flex;align-items:center}.brand img{width:153px;height:66px;object-fit:contain}.site-header nav{display:flex;gap:34px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:600;color:var(--ink);padding:10px 0}.site-header nav a:hover{color:var(--green)}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding:42px 0 40px}.eyebrow{font-size:12px;letter-spacing:.15em;line-height:1.5;font-weight:700;color:var(--green);margin:0 0 12px}.hero .eyebrow{display:flex;align-items:center;gap:9px;font-size:11px}.hero .eyebrow img{width:33px;height:33px;object-fit:contain}.hero .eyebrow span{color:#AFBAA9}h1,h2,h3,p,figure{margin-top:0}h1{font-size:52px;line-height:1.12;letter-spacing:-2.3px;font-weight:750;margin-bottom:17px;color:var(--forest)}h1 span{color:var(--green)}.hero-copy>p{max-width:460px;font-size:18px;line-height:1.8;color:var(--muted);margin-bottom:20px}.hero-meta{display:flex;gap:18px;align-items:center;font-size:12px;font-weight:600;flex-wrap:wrap;color:var(--muted)}.hero-meta span,.map-bottom span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.yellow{background:#D9AD25}.green{background:#237A60}.hero-photo{position:relative;height:260px;margin:0;border-radius:8px 60px 8px 8px;overflow:hidden;background:var(--forest)}.hero-photo>img{height:100%;width:100%;object-fit:cover;filter:brightness(.79)}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b302be8,transparent 85%)}.hero-photo figcaption{position:absolute;bottom:24px;left:26px;right:20px;z-index:1;color:white;display:flex;flex-direction:column;gap:7px}.photo-tag{font-size:10px;letter-spacing:.17em;color:#F5D773}.hero-photo strong{font-size:19px;font-weight:600;letter-spacing:-.5px}.hero-photo figcaption>span:last-child{font-size:12px;opacity:.85}.photo-credit{position:absolute;top:12px;right:18px;z-index:1;color:white;font-size:10px;text-shadow:0 1px 5px black}.section-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 22px}.section-top .eyebrow{margin-bottom:6px}h2{font-size:28px;line-height:1.3;letter-spacing:-1px;margin-bottom:0;font-weight:700;color:var(--forest)}.section-hint{color:var(--muted);font-size:15px;margin:0 0 3px}.planner-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px}.planner-card,.map-card{border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:var(--shadow)}.planner-card{padding:25px 23px}.field label{font-size:16px;font-weight:650;display:flex;align-items:center;gap:8px;margin:0 0 9px}.field-dot{height:9px;width:9px;border-radius:50%;display:inline-block}.origin-dot{border:2px solid var(--green)}.dest-dot{background:var(--green)}select{appearance:auto;width:100%;border:1px solid var(--line);background:#FAFCF9;border-radius:6px;padding:12px 7px;color:var(--forest);font-size:17px;min-height:46px}.swap-row{display:flex;justify-content:flex-end;margin:6px 0 8px}.swap{background:none;border:0;color:var(--muted);font-size:14px;padding:4px 1px;display:flex;gap:7px;align-items:center;min-height:28px}.swap span{font-size:19px;line-height:1}.primary{background:var(--green);color:white;border:1px solid var(--green);padding:14px;border-radius:6px;font-weight:650;font-size:16px;display:flex;align-items:center;justify-content:center;gap:12px;min-height:46px;text-decoration:none}.primary:hover{background:var(--forest)}.full{width:100%;margin-top:19px}.primary span{font-size:19px;line-height:1}.try{margin-top:23px;border-top:1px solid var(--line);padding-top:18px}.try>span{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.12em}.presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.presets button{border:1px solid var(--line);background:#fff;border-radius:22px;padding:6px 9px;font-size:13px;min-height:32px}.presets button:hover{border-color:var(--green);background:var(--mint)}.planner-note{display:flex;align-items:start;gap:9px;margin-top:19px;color:var(--muted)}.planner-note svg{width:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4}.planner-note p{font-size:13px;line-height:1.6;margin:0}.map-card{display:flex;flex-direction:column;overflow:hidden;min-width:0}.map-top{padding:22px 23px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.map-top .eyebrow{font-size:11px;letter-spacing:.1em;margin:0 0 4px}.map-top h3{font-size:20px;letter-spacing:-.5px;margin-bottom:0}.schematic-label{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:4px 7px;white-space:nowrap}.map-scroll{overflow:auto;flex:1;display:flex;align-items:center;background:radial-gradient(ellipse at 30% 65%,#F3F7EF,transparent 65%)}#network{width:100%;min-width:590px;height:auto;max-height:405px}#network text{font-family:Montserrat,Arial,sans-serif;fill:#375549}#network .station{cursor:pointer}#network .station:hover circle{stroke-width:4}#network .station text{font-size:13px;font-weight:550}#network .station.active text{font-weight:750;fill:#153F35}#network .station:focus{outline:none}#network .station:focus circle{stroke:#9C7108;stroke-width:5}#network .poi-label{font-size:12px;font-weight:700}.map-bottom{padding:14px 22px 15px;border-top:1px solid #EAF0E8}.map-bottom>div{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:600;flex-wrap:wrap}.map-bottom .dot{width:6px;height:6px}.walk-line{width:15px;border-top:2px dashed #6D8279}.map-bottom p{font-size:13px;color:var(--muted);margin:7px 0 0}.form-error{color:#A02828;font-size:15px;margin:9px 0 0}.route-section{padding-top:20px;scroll-margin-top:105px;outline:none}.result-card{display:grid;grid-template-columns:285px 1fr;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}.result-summary{background:var(--forest);padding:25px;color:white}.result-summary .eyebrow{color:#E4CB81;font-size:11px}.result-summary h2{font-size:24px;line-height:1.45;color:white;letter-spacing:-.4px}.route-arrow{font-weight:400;color:#A7C8B3;padding:0 3px}.metrics{display:flex;gap:24px;margin:21px 0 16px;align-items:end}.metric strong{display:block;font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-.8px}.metric span{display:block;font-size:12px;color:#C3D6CD;margin-top:5px}.metric:first-child strong{color:#F2D37A}.range-note{font-size:13px;line-height:1.8;margin:0;color:#BCD1C5}.result-content{padding:23px 28px}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.result-heading h3{font-size:17px;margin:0}.route-tag{display:inline-block;color:var(--green);background:var(--mint);padding:4px 9px;border-radius:20px;font-size:12px;font-weight:600}.steps{list-style:none;margin:0;padding:0}.step{display:grid;grid-template-columns:28px 1fr;gap:12px;position:relative;padding:0 0 20px}.step:not(:last-child):before{content:'';position:absolute;left:13px;top:27px;bottom:3px;border-left:1px solid var(--line)}.step-num{width:27px;height:27px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:#fff;position:relative}.step.rail4 .step-num{background:#FFF5C9;border-color:#E5C94F}.step.rail2 .step-num{background:#E4F1E8;border-color:#8BB69D}.step.transfer .step-num{background:#F2EEE4}.step-title{font-size:17px;line-height:1.7;font-weight:650;margin:1px 0 3px}.step p{font-size:17px;line-height:1.8;margin:0;color:var(--muted)}.stop-list{margin-top:6px;color:var(--muted)}.stop-list summary{font-size:14px;cursor:pointer}.stop-list p{padding:6px 0 0;font-size:15px}.route-tip{font-size:16px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;line-height:1.8}.route-tip strong{color:var(--forest)}.route-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:13px}.secondary{padding:9px 12px;border:1px solid var(--line);color:var(--green);background:white;border-radius:5px;font-size:14px;font-weight:650;text-decoration:none;min-height:36px;display:inline-flex;align-items:center;gap:5px}.secondary:hover{background:var(--mint)}.copy-status{font-size:14px;color:var(--green);min-height:16px;margin:5px 0 0}.arrival{font-size:17px;line-height:1.8;margin-top:12px}.places-section{padding-top:52px}.places-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.place-card{padding:20px 21px;border:1px solid var(--line);background:#fff;border-radius:10px;transition:transform .2s,box-shadow .2s}.place-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #153f3510}.place-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.place-icon{width:34px;height:34px;display:grid;place-items:center;background:var(--mint);color:var(--green);border-radius:9px}.place-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.place-card .eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 3px}.place-card h3{font-size:18px;line-height:1.4;letter-spacing:-.2px;margin:0}.place-card>p{font-size:15px;color:var(--muted);margin-bottom:12px}.place-card button{background:none;border:0;padding:0;color:var(--green);display:flex;justify-content:space-between;align-items:center;width:100%;font-size:14px;font-weight:650;min-height:30px}.place-card button span{font-size:16px}.practical{display:grid;grid-template-columns:1fr 1.65fr;gap:65px;padding-top:60px;padding-bottom:65px}.practical-intro>p:not(.eyebrow){color:var(--muted);font-size:17px;margin-top:16px;max-width:230px}.text-link{font-size:15px;font-weight:650;display:inline-block;margin-top:5px}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-size:17px;font-weight:600;cursor:pointer;list-style:none;position:relative;padding-right:30px}.faq summary:after{content:'+';position:absolute;right:6px;font-size:19px;line-height:1.1;color:var(--green);font-weight:400}.faq details[open] summary:after{content:'−'}.faq summary::-webkit-details-marker{display:none}.faq p{font-size:17px;color:var(--muted);line-height:1.9;margin:13px 25px 0 0}.faq a{font-size:15px}.official-links{display:flex;gap:15px;flex-wrap:wrap;margin:12px 0 0}footer{background:#EAF0E7;border-top:1px solid var(--line)}.footer-inner{padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{display:flex;flex-direction:column;gap:4px}.footer-brand strong{font-size:15px;letter-spacing:.08em;color:var(--forest)}.footer-brand span{font-size:12px;color:var(--muted)}footer p{font-size:12px;color:var(--muted);margin:0;text-align:center}footer a{font-size:13px;text-decoration:none}.noscript{position:fixed;bottom:0;left:0;right:0;background:#FFF5C9;padding:20px;text-align:center}
@media(min-width:1500px){.hero{padding-top:50px;padding-bottom:50px}.hero-photo{height:280px}}
@media(max-width:1050px){.wrap{width:calc(100% - 40px)}.hero{gap:35px}h1{font-size:45px}.hero-meta{gap:10px}.planner-grid{grid-template-columns:295px minmax(0,1fr)}.planner-card{padding:22px 19px}.section-hint{max-width:260px;text-align:right}.result-card{grid-template-columns:265px 1fr}.practical{gap:35px}.map-scroll{align-items:start}#network{min-width:600px}.map-top{padding-left:18px;padding-right:18px}}
@media(max-width:760px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 32px)}.header-inner{height:73px;gap:12px}.brand,.brand img{width:120px;height:57px}.site-header nav{gap:17px}.site-header nav a{font-size:14px}.site-header nav a:last-child{display:none}.hero{grid-template-columns:1fr;gap:23px;padding:29px 0 30px}.hero-copy>p{max-width:420px;font-size:17px;margin-bottom:16px}h1{font-size:44px;letter-spacing:-1.8px;margin-bottom:14px}.hero h1 br{display:none}.hero-photo{height:185px;border-top-right-radius:45px}.hero-photo img{object-position:center 55%}.hero-photo strong{font-size:18px}.hero-photo figcaption{bottom:20px;left:21px}.hero-meta{font-size:12px;gap:14px}.hero .eyebrow{font-size:11px}.section-top{margin-bottom:17px}.section-hint{display:none}h2{font-size:25px}.planner-grid{grid-template-columns:1fr;gap:15px}.planner-card{padding:22px}.planner-card form{max-width:100%}.field select{font-size:17px;padding:13px 8px}.field label{font-size:16px}.swap-row{margin:3px 0 7px}.try{margin-top:20px}.presets button{font-size:13px}.planner-note{margin-top:14px}.map-top{padding:20px 19px 0}.map-scroll{display:block}#network{max-height:none;min-width:650px}.map-bottom>div{gap:15px;font-size:12px}.map-bottom p:after{content:' Deslize para explorar o mapa.'}.result-card{grid-template-columns:1fr}.result-summary{padding:23px}.result-summary h2{font-size:23px}.metrics{margin:16px 0 12px;gap:30px}.metric strong{font-size:28px}.metric span{font-size:12px}.result-content{padding:22px}.step-title{font-size:17px}.step p{font-size:17px}.route-tip{font-size:16px}.route-actions .secondary{font-size:14px;min-height:41px}.places-section{padding-top:37px}.places-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.place-card{padding:17px 14px}.place-top{align-items:start;gap:9px}.place-icon{width:28px;height:28px;flex:none;border-radius:7px}.place-icon svg{width:15px;height:15px}.place-card h3{font-size:18px}.place-card .eyebrow{font-size:10px}.place-card p{font-size:15px;line-height:1.8}.place-card button{font-size:14px}.practical{grid-template-columns:1fr;gap:24px;padding-top:40px;padding-bottom:40px}.practical-intro>p:not(.eyebrow){max-width:none;margin:12px 0}.faq summary{font-size:17px}.faq details{padding:18px 0}.faq p{font-size:17px}.footer-inner{flex-wrap:wrap;padding:25px 0;gap:20px}.footer-inner p{order:3;width:100%;text-align:left}.route-section{scroll-margin-top:90px}.step{padding-bottom:19px}}
@media(max-width:380px){.wrap{width:calc(100% - 24px)}.header-inner{gap:8px}.brand,.brand img{width:104px}.site-header nav{gap:11px}h1{font-size:39px}.hero-meta{gap:10px;font-size:12px}.places-grid{grid-template-columns:1fr}.place-card h3{font-size:18px}.place-card .eyebrow{font-size:10px}.place-card p{font-size:15px}.place-card button{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.place-card{transition:none}}

/* Letras maiores e acesso ao Portal */
.portal-back{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid #C8DED2;border-radius:8px;background:#EEF6F0;color:var(--green);font-size:14px;font-weight:650;line-height:1.4;text-decoration:none}
.portal-back:hover{background:#E0EEE4;border-color:var(--green)}
.portal-back>span:first-child{font-size:20px;line-height:1;flex:none}
.metrics,.result-heading{flex-wrap:wrap}
.metric-unit{font-size:14px}
.planner-note svg{margin-top:3px}
.practical-intro>p:not(.eyebrow){max-width:300px}
@media(max-width:960px){
  html{scroll-padding-top:140px}
  .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;gap:3px 12px;padding:9px 0}
  .brand{grid-column:1;grid-row:1}
  .brand,.brand img{width:128px;height:57px}
  .portal-back{grid-column:2;grid-row:1;max-width:180px;padding:8px 10px;font-size:13px}
  .site-header nav{grid-column:1 / -1;grid-row:2;justify-content:center;gap:26px}
  .site-header nav a{font-size:14px;padding:9px 0}
  .site-header nav a:last-child{display:block}
  .route-section{scroll-margin-top:140px}
}
@media(max-width:760px){
  body{font-size:17px}
  .hero-copy>p{font-size:17px}
  .portal-back{max-width:180px}
}
@media(max-width:600px){
  .places-grid{grid-template-columns:1fr}
}
@media(max-width:380px){
  .header-inner{gap:3px 8px}
  .brand,.brand img{width:104px;height:53px}
  .portal-back{max-width:168px}
  .site-header nav{gap:20px}
  .site-header nav a{font-size:13px}
}
