:root{--bg:#fff6ea;--surface:#fff;--ink:#1c0f2e;--ink-soft:#574a68;--line:#e6d8c4;--pink:#ff2e7e;--pink-soft:#ffe0ec;--blue:#2b4bff;--blue-soft:#e3e8ff;--orange:#ff7a00;--lilac:#ece2ff;--ok:#0b6b3a;--warn-bg:#fff1c7;--font-display:"Bricolage Grotesque", "Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:18px;--radius-sm:10px;--border:3px solid var(--ink);--shadow:5px 5px 0 var(--ink);--gutter:16px;--content:720px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:17px;line-height:1.5;overflow-x:hidden}a{color:var(--blue);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;line-height:1.02}p{margin:0}.app{flex-direction:column;min-height:100dvh;display:flex}.container{width:100%;max-width:var(--content);padding:0 var(--gutter);margin:0 auto}main{flex:1;padding:8px 0 56px}.stack{flex-direction:column;gap:20px;display:flex}.stack-sm{flex-direction:column;gap:10px;display:flex}.site-header{padding:14px 0}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wordmark{font-family:var(--font-display);color:var(--ink);letter-spacing:-.03em;white-space:nowrap;font-size:22px;font-weight:800;text-decoration:none}.wordmark span{color:var(--pink)}.pride-badge{border:var(--border);background:var(--surface);box-shadow:3px 3px 0 var(--ink);font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:stretch;font-size:13px;font-weight:800;display:inline-flex;overflow:hidden}.pride-badge .flag{border-right:var(--border);background:linear-gradient(#e40303 0 16.66%,#ff8c00 16.66% 33.33%,#ffed00 33.33% 50%,#008026 50% 66.66%,#24408e 66.66% 83.33%,#732982 83.33% 100%);width:30px}.pride-badge .label{padding:6px 12px 6px 10px}.pride-badge.large{font-size:18px}.pride-badge.large .flag{width:46px}.pride-badge.large .label{padding:10px 18px 10px 14px}.btn{border:var(--border);background:var(--pink);min-height:56px;color:var(--ink);box-shadow:var(--shadow);font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:20px;font-weight:800;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active{box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.block{width:100%}.btn.secondary{background:var(--surface)}.btn.blue{background:var(--blue);color:#fff}.btn.small{min-height:44px;box-shadow:3px 3px 0 var(--ink);padding:8px 16px;font-size:16px}.btn-row{flex-wrap:wrap;gap:14px;display:flex}.btn-row>.btn{flex:220px}.card{background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card.pink{background:var(--pink-soft)}.card.lilac{background:var(--lilac)}.card.blue{background:var(--blue-soft)}.card h2{font-size:30px}.eyebrow{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:14px;font-weight:800}.muted{color:var(--ink-soft)}.small{font-size:14px}.hero{padding:28px 0 8px}.hero h1{text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(56px,16vw,112px);font-weight:800}.hero h1 .accent{color:var(--pink);-webkit-text-stroke:2px var(--ink)}.hero .lede{max-width:30ch;margin-top:18px;font-size:clamp(20px,5vw,26px);font-weight:600;line-height:1.3}.chip{border:2px solid var(--ink);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:15px;font-weight:700;display:inline-flex}.chip.hot{background:var(--orange)}.big-stat{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);font-size:clamp(64px,20vw,120px);font-weight:800;line-height:.95}.stat-compare{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.stat-compare>div{border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--surface);padding:12px 14px}.stat-compare strong{font-family:var(--font-display);font-size:30px;line-height:1.1;display:block}.doc-list{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.doc-tile{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius-sm);width:100%;height:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;font-weight:700;transition:transform 80ms,box-shadow 80ms;display:flex}.doc-tile:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.doc-tile:active{box-shadow:none;transform:translate(1px,1px)}.doc-icon{font-size:28px;line-height:1}.text-pink{color:var(--pink);font-weight:800}.doc-tile small{color:var(--ink-soft);font-weight:500;display:block}.callout{border:var(--border);border-radius:var(--radius-sm);background:var(--orange);font-family:var(--font-display);text-transform:uppercase;padding:14px 16px;font-size:22px;font-weight:800;line-height:1.15}.note{border-left:5px solid var(--blue);padding:6px 0 6px 14px}.warn{background:var(--warn-bg);border:2px solid var(--ink);border-radius:var(--radius-sm);padding:12px 14px}.sources{color:var(--ink-soft);font-size:13px}.sources ul{margin:4px 0 0;padding-left:18px}.field{flex-direction:column;gap:6px;display:flex}.field label{font-weight:700}.input{border:var(--border);background:var(--surface);width:100%;min-height:52px;color:var(--ink);font:inherit;border-radius:14px;padding:12px 16px}.input-row{flex-wrap:wrap;gap:10px;display:flex}.input-row>.input{flex:220px}.country-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.country-list a{background:var(--surface);border:2px solid var(--ink);color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;text-decoration:none;display:flex}.country-list a:hover{background:var(--pink-soft)}.country-list a{flex-wrap:wrap}.country-list .meta{color:var(--ink-soft);font-size:14px;font-weight:500}.table-wrap{border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:13px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}.map{border:var(--border);border-radius:var(--radius);width:100%;height:360px;box-shadow:var(--shadow);background:var(--lilac);overflow:hidden}.map .maplibregl-ctrl-attrib{font-size:11px}.map-wrap{flex-direction:column;gap:10px;display:flex}.map-pin{filter:drop-shadow(1px 2px #1c0f2e99);font-size:40px;line-height:1}.map-pin.draggable{cursor:grab}.station-pin{border:3px solid var(--ink);width:36px;height:36px;box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:50%;place-items:center;font-size:20px;display:grid}.map-legend{color:var(--ink-soft);flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.map-legend li{align-items:center;gap:6px;display:inline-flex}.map-legend .dot{border:2px solid var(--ink);border-radius:50%;width:14px;height:14px;display:inline-block}.map-legend .dot.blue{background:var(--blue)}.map-legend .dot.pink{background:var(--pink)}.place-card h3{font-size:26px}.place-meta{flex-wrap:wrap;gap:8px;display:flex}.other-places{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.other-places button{text-align:left;border:2px solid var(--ink);background:var(--surface);width:100%;font:inherit;color:var(--ink);cursor:pointer;border-radius:12px;justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.other-places button.is-active,.other-places button:hover{background:var(--pink-soft)}.modal-backdrop{padding:var(--gutter);z-index:50;background:#1c0f2e99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:520px;max-height:calc(100dvh - 32px);overflow-y:auto}.modal h2{font-size:30px}.modal .disclaimer{font-size:19px;line-height:1.45}.site-footer{border-top:var(--border);background:var(--ink);color:#fff;padding:32px 0 40px}.site-footer a{color:#fff}.site-footer .slogan{font-family:var(--font-display);text-transform:uppercase;color:var(--pink);font-size:clamp(28px,8vw,40px);font-weight:800;line-height:1.05}.site-footer .pride-badge{color:var(--ink);border-color:#fff;box-shadow:3px 3px #fff}.site-footer .pride-badge .flag{border-right-color:#fff}.footer-links{flex-wrap:wrap;gap:8px 18px;font-size:15px;display:flex}.footer-links button{color:#fff;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.stack>.pride-badge,.stack-sm>.pride-badge{align-self:flex-start}button.callout{text-align:left;width:100%;color:var(--ink);cursor:pointer;box-shadow:4px 4px 0 var(--ink);transition:transform 80ms,box-shadow 80ms}button.callout:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}button.callout:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.leu-direito{z-index:60;padding:var(--gutter);background:var(--ink);cursor:pointer;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.leu-direito-video{object-fit:cover;object-position:center 25%;width:100%;height:100%;position:absolute;inset:0}.leu-direito-shade{background:radial-gradient(#1c0f2e26,#1c0f2e8c);position:absolute;inset:0}.leu-direito-line{text-align:center;max-width:14ch;font-family:var(--font-display);overflow-wrap:anywhere;letter-spacing:-.03em;text-transform:uppercase;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:6px 6px 0 var(--ink);margin:0;font-size:clamp(36px,13vw,132px);font-weight:800;line-height:.95;position:relative}.leu-direito-line.or{color:var(--pink);font-size:clamp(36px,10vw,80px)}.leu-direito-line.final{border:4px solid var(--ink);background:var(--pink);max-width:100%;color:var(--ink);-webkit-text-stroke:0;text-shadow:none;box-shadow:8px 8px 0 var(--ink);border-radius:24px;padding:18px 22px;font-size:clamp(40px,11vw,96px)}.leu-direito-line .pop{animation:.28s cubic-bezier(.2,1.6,.4,1) both leu-pop;display:inline-block}@keyframes leu-pop{0%{opacity:0;transform:scale(.6)rotate(-4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.leu-direito-all{flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.leu-direito-all .leu-direito-line{font-size:clamp(28px,8vw,56px)}.leu-direito-close{border:var(--border);width:52px;height:52px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;background:#fff;border-radius:50%;font-size:22px;font-weight:800;position:absolute;top:16px;right:16px}.leu-direito-credit{color:#fff;opacity:.8;font-size:12px;position:absolute;bottom:12px;right:16px}textarea.input{resize:vertical;min-height:120px}.header-right{align-items:center;gap:12px;display:flex}.header-link{font-family:var(--font-display);color:var(--ink);border-bottom:3px solid var(--pink);white-space:nowrap;font-size:15px;font-weight:800;text-decoration:none}.group-card{background:var(--surface);border:2px solid var(--ink);color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:16px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.group-card:hover{background:var(--pink-soft)}.group-icon{font-size:30px;line-height:1}.group-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.group-side{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.seat-chip{border:2px solid var(--ink);background:var(--orange);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:800;display:inline-block}.seat-chip.full{background:var(--line)}.contact-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.contact-list li{border:2px solid var(--ink);background:var(--surface);border-radius:12px;flex-direction:column;padding:10px 14px;display:flex}.contact-list a{overflow-wrap:anywhere;font-weight:700}.check{align-items:flex-start;gap:10px;font-weight:600;display:flex}.check input{width:22px;height:22px;accent-color:var(--pink);flex-shrink:0;margin-top:2px}.link-button{color:var(--ink-soft);text-underline-offset:3px;font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;text-decoration:underline}.request{border:2px solid var(--ink);background:var(--surface);border-radius:14px;padding:14px}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.mode-option{border:2px solid var(--ink);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:12px 14px;font-weight:700;display:flex}.mode-option input{opacity:0;pointer-events:none;position:absolute}.mode-option.selected{background:var(--pink);box-shadow:3px 3px 0 var(--ink)}.mode-option:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:3px}.title-row{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.title-row h1{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;flex:260px;min-width:0}.share-btn{flex:none;min-height:52px;padding:10px 18px;font-size:18px}@media (width<=600px){.share-btn{flex:100%;width:100%}}.inline-link{font:inherit;color:var(--blue);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.segmented{border:var(--border);background:var(--surface);box-shadow:3px 3px 0 var(--ink);border-radius:999px;display:flex;overflow:hidden}.segmented button{min-height:48px;font:inherit;font-family:var(--font-display);color:var(--ink);cursor:pointer;background:0 0;border:0;flex:1;font-size:17px;font-weight:800}.segmented button+button{border-left:var(--border)}.segmented button.active{background:var(--pink)}
