.nav-inner{gap:36px}nav{gap:22px}.nav-note{display:none}
.sandbox-banner{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-top:1px solid #edb7af;border-bottom:1px solid #edb7af;margin:22px 0;color:#96281c}.sandbox-banner>svg{margin-top:2px}.sandbox-banner strong{display:block;font-size:11px;line-height:1.5}.sandbox-banner span{display:block;font-size:11px;line-height:1.6;margin-top:3px;color:var(--muted)}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:30px;margin-top:25px}.checkout-fields{min-width:0}.checkout-fields>h3{font-size:20px;margin-bottom:12px}.checkout-fields>.small{font-size:11px}.checkout-fields label{font-size:12px;display:grid;gap:7px;line-height:1.5}.checkout-fields input:not([type=checkbox]),.checkout-fields select{width:100%;min-width:0;min-height:43px;border:1px solid #b9c6bd;border-radius:4px;background:white;padding:10px 12px}.passenger-list{margin-top:25px}.passenger-list>label{padding:15px 0;border-top:1px solid var(--line)}.passenger-list label>span{font-weight:700}.passenger-list small{font-size:10px;font-weight:400;display:block;color:var(--muted);margin-top:3px}.checkout-summary{padding-left:24px;border-left:1px solid var(--line);min-width:0}.checkout-summary>h3{font-size:16px;margin-bottom:20px}.checkout-leg{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px;position:relative}.checkout-leg .eyebrow{font-size:8px;color:var(--muted)}.checkout-leg h3{font-size:14px;line-height:1.6;overflow-wrap:anywhere;margin-top:7px}.checkout-leg h3 svg{width:12px;height:12px}.checkout-leg p{font-size:10px;color:var(--muted);margin-top:6px}.checkout-leg>strong{display:block;font-size:17px;margin-top:10px}.checkout-summary dl{margin:0;font-size:11px}.checkout-summary dl>div{display:flex;justify-content:space-between;gap:12px;margin:14px 0}.checkout-summary dd{margin:0;white-space:nowrap;font-weight:700}.checkout-summary .real-charge{border-top:1px solid var(--line);padding-top:17px;font-size:12px;color:var(--green)}.checkout-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.checkout-actions .button{font-size:11px;padding:11px 13px;min-width:0}.checkout-actions .button svg{width:14px;height:14px}.checkout-conditions{border-top:1px solid var(--line);margin-top:15px;padding:15px 0;font-size:11px}.checkout-conditions summary,.payment-scenario summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:10px;list-style:none}.checkout-conditions summary svg,.payment-scenario summary svg{width:14px;height:14px}.checkout-conditions p{margin-top:12px;color:var(--muted)}
.payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:22px 0}.payment-methods button{height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:4px;font-size:10px;background:white}.payment-methods button.selected{border:2px solid var(--green);background:#edf6f0;color:var(--green)}.payment-methods span{line-height:1.3;text-align:center}.payment-small-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}#payment-fields>.text-button{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:10px}#payment-fields>.text-button svg{width:14px;height:14px}.payment-scenario{font-size:10px;margin:22px 0;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.payment-scenario label{margin-top:12px;font-size:10px}.checkout-fields .payment-consent{display:flex;align-items:flex-start;font-size:11px;gap:10px;margin-top:25px}.payment-consent input{accent-color:var(--green);width:16px;height:16px;flex-shrink:0;margin:1px 0 0}.demo-wallet{display:flex;align-items:center;gap:16px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.demo-wallet>svg{width:32px;height:32px;color:var(--green)}.demo-wallet strong{font-size:13px;display:block}.demo-wallet span{font-size:10px;color:var(--muted);display:block;margin-top:7px}.payment-progress{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--green);margin-top:20px}.payment-progress svg{animation:demo-processing 1.2s linear infinite;width:16px;height:16px}@keyframes demo-processing{to{transform:rotate(360deg)}}
.digital-ticket-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 22px}.digital-ticket-controls label{display:grid;gap:7px;font-size:11px;color:var(--muted);min-width:0}.digital-ticket-controls select{min-width:0;width:100%;font-size:12px;min-height:40px;padding:8px;border:1px solid var(--line);background:white;border-radius:4px}.boarding-status{display:flex;align-items:center;gap:8px;background:#eaf4ee;color:var(--green);font-size:10px;font-weight:700;padding:12px 15px;border-left:3px solid var(--green)}.boarding-status.is-cancelled{background:#fbeceb;color:#a92820;border-color:#a92820}.boarding-status svg{width:16px;height:16px}.boarding-route{padding:25px 0 20px;border-bottom:1px dashed var(--line)}.boarding-route .eyebrow{font-size:9px;color:var(--muted);margin-bottom:10px}.boarding-route h2{font-size:28px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;overflow-wrap:anywhere}.boarding-route h2 svg{width:22px;height:22px}.boarding-times{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.boarding-times strong{font-size:26px;font-variant-numeric:tabular-nums}.boarding-times span{font-size:11px;color:var(--muted)}.boarding-main{display:grid;grid-template-columns:minmax(0,1fr) 192px;gap:28px;padding:26px 0}.boarding-main h3{font-size:18px;margin:8px 0;overflow-wrap:anywhere}.boarding-main .eyebrow{font-size:9px;color:var(--muted)}.boarding-main .small{font-size:10px;overflow-wrap:anywhere}.boarding-code{display:flex;flex-direction:column;align-items:center;gap:7px}.boarding-code strong{font-size:9px;color:#a22f24;line-height:1.5;text-align:center}.boarding-code>span{font-size:9px;color:var(--muted)}#ticket-qr{width:192px;height:192px;display:grid;place-items:center;background:white}#ticket-qr img{width:192px;height:192px;display:block;image-rendering:pixelated}.boarding-segments{list-style:none;border-left:2px solid #cddfd2;padding:0 0 0 14px;margin:23px 0 0}.boarding-segments li{position:relative;padding-bottom:18px}.boarding-segments li:before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:var(--green);left:-19px;top:3px}.boarding-segments li:last-child{padding-bottom:0}.boarding-segments strong{display:block;font-size:12px;line-height:1.4}.boarding-segments span,.boarding-segments small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:5px}.boarding-segments small{color:#866019}.boarding-bottom{border-top:1px dashed var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding:15px 0;font-size:10px}.boarding-bottom strong{white-space:nowrap;color:var(--green)}.digital-ticket-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:23px}.digital-ticket-actions .button{font-size:11px;padding:11px 14px}.digital-ticket-actions .icon-button{height:40px;width:40px}.receipt-total{display:grid;grid-template-columns:1fr auto;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:20px 0 30px;font-size:13px}.receipt-total strong{font-size:19px}.receipt-total strong:last-child{color:var(--green)}.receipt-movements{margin:15px 0 28px}.receipt-movements>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:16px 0;font-size:12px}.receipt-movements small{display:block;margin-top:7px;color:var(--muted);font-size:10px}.receipt-movements>div>strong{white-space:nowrap}.ticket-history{list-style:none;padding:0;margin:18px 0 28px}.ticket-history li{border-top:1px solid var(--line);padding:15px 0;font-size:12px}.ticket-history span{display:block;color:var(--muted);font-size:10px;margin-top:8px}.ticket-actions{flex-wrap:wrap}.ticket-actions .icon-button{height:40px;width:40px}.booking-steps{flex-wrap:wrap;row-gap:8px}.booking-footer{flex-wrap:wrap}
.lab-view{padding-top:40px}.lab-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding-bottom:30px;border-bottom:1px solid var(--line)}.lab-heading .eyebrow{color:var(--muted);font-size:9px;margin-bottom:12px}.lab-heading h1{font-size:38px;line-height:1.2}.lab-heading p:last-child{font-size:15px;color:var(--muted);margin-top:14px}.lab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0}.lab-toolbar .segmented button{display:flex;align-items:center;gap:8px;font-size:11px}.lab-toolbar svg{width:15px;height:15px}.lab-toolbar .inline-link{font-size:11px}.lab-run-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding-top:12px}.lab-run-heading h2{font-size:24px}.lab-run-heading p{font-size:11px;color:var(--muted);margin-top:10px}.lab-run-heading>span{font-size:10px;color:var(--muted)}.lab-conditions{font-size:10px;padding:17px 0 22px;border-bottom:1px solid var(--line);color:var(--muted)}.lab-metrics{display:grid;grid-template-columns:1fr 1fr;column-gap:45px}.lab-metric{padding:24px 0;border-bottom:1px solid var(--line);min-width:0}.lab-metric>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:20px}.lab-metric h3{font-size:14px}.lab-metric>div>span{font-size:9px;color:var(--muted)}.lab-bar-row{display:grid;grid-template-columns:40px minmax(0,1fr) 75px;gap:12px;align-items:center;margin:13px 0;font-size:11px}.lab-bar-row>strong{font-size:10px}.lab-bar-row>b{text-align:right;font-size:14px;white-space:nowrap}.lab-track{height:14px;display:block;background:#f0f3ef}.lab-bar{width:var(--bar,0%);height:100%;display:block}.lab-bar.astra{background:#246c53}.lab-bar.renfe{background:#944265}.lab-fairness{font-size:11px;line-height:1.7;color:var(--muted);margin:20px 0}.lab-samples{border-bottom:1px solid var(--line);padding:15px 0}.lab-samples summary,.lab-method summary{display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer;font-size:12px;list-style:none}.lab-samples svg,.lab-method summary svg{width:15px;height:15px}.lab-table-scroll{overflow:auto;margin-top:20px}.lab-table-scroll table{border-collapse:collapse;width:100%;font-size:11px;min-width:510px}.lab-table-scroll th,.lab-table-scroll td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px}.lab-table-scroll th{font-size:10px}.lab-table-scroll thead{background:#f5f7f3}.lab-method{padding:40px 0;border-bottom:1px solid var(--line)}.lab-method h2,.lab-design h2{font-size:26px;line-height:1.3}.lab-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:28px}.lab-method-grid h3{font-size:15px}.lab-method-grid p,.lab-method details>p{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.8}.lab-method a{text-decoration:underline}.lab-method details{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.metric-definitions{font-size:11px;margin:20px 0;display:grid;gap:13px}.metric-definitions>div{display:grid;grid-template-columns:110px 1fr;gap:15px}.metric-definitions dt{font-weight:700}.metric-definitions dd{margin:0;color:var(--muted);line-height:1.7}.lab-design{padding:40px 0 30px}.lab-design>.eyebrow{font-size:9px;color:var(--muted);margin-bottom:12px}.lab-design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding:30px 0}.lab-design-grid article+article{border-left:1px solid var(--line);padding-left:30px}.lab-country{display:grid;place-items:center;width:33px;height:25px;border-bottom:3px solid var(--red);font-size:11px;font-weight:700}.lab-design-grid article>svg{height:25px;width:25px;color:var(--green)}.lab-design-grid h3{font-size:15px;margin:18px 0 12px}.lab-design-grid p{font-size:12px;color:var(--muted);line-height:1.8}.lab-design-grid a{color:var(--ink);text-decoration:underline}.lab-pending{padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lab-pending h2{font-size:23px}.lab-pending p{font-size:13px;color:var(--muted);margin-top:15px}
.verifier{max-width:850px}.verifier>.eyebrow{font-size:9px;color:var(--muted);margin-bottom:12px}.verifier>h1{font-size:32px;margin-bottom:18px}.verifier>p{font-size:13px}.verifier form{display:flex;gap:13px;align-items:flex-end;border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.verifier form label{display:grid;gap:8px;font-size:11px;flex:1;min-width:0}.verifier form input{width:100%;min-height:44px;padding:12px;border:1px solid var(--line);border-radius:4px;font-size:12px}.qr-file{display:flex;align-items:center;gap:10px;font-size:12px;margin:22px 0 10px;flex-wrap:wrap}.qr-file input{font-size:11px;max-width:100%}.verifier>.small{font-size:10px}.verification-result{display:flex;align-items:flex-start;gap:18px;border-top:3px solid #b1822b;border-bottom:1px solid var(--line);padding:27px 0;margin-top:30px}.verification-result.matched{border-color:var(--green)}.verification-result.cancelled,.verification-result.outdated,.verification-result.invalid{border-color:var(--red)}.verification-result>svg{width:28px;height:28px;flex-shrink:0}.verification-result h2{font-size:23px;line-height:1.4}.verification-result p{font-size:12px;margin-top:13px;overflow-wrap:anywhere}.verification-result strong{display:block;font-size:11px;color:#a5271e;margin-top:18px}.verification-result .small{font-size:10px}.verification-result .button{margin-top:20px;font-size:11px}.verifier>.inline-link{margin-top:30px;display:inline-flex}
@media(max-width:1100px){nav{gap:16px}.nav-inner{gap:25px}.lab-metrics{column-gap:25px}}
@media(max-width:760px){.nav-inner{gap:0}.nav-inner nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}nav a{min-width:0;width:100%;font-size:8px;justify-content:center}nav a>span:not(.count-badge){white-space:nowrap}.checkout-layout{display:flex;flex-direction:column;gap:30px}.checkout-summary{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.checkout-summary>h3{font-size:17px}.checkout-leg h3{font-size:16px}.checkout-leg p{font-size:11px}.checkout-summary dl{font-size:12px}.checkout-fields>h3{font-size:20px}.checkout-fields .payment-consent{font-size:11px}.payment-methods{gap:6px}.payment-methods button{font-size:10px;height:73px}.checkout-actions{gap:8px}.checkout-actions .button{font-size:10px;gap:7px;padding:10px 12px}.payment-small-fields{gap:12px}.sandbox-banner{gap:9px;margin:18px 0}.sandbox-banner strong{font-size:9px}.sandbox-banner span{font-size:10px}.booking-steps{gap:10px;font-size:8px}.digital-ticket-controls{gap:10px}.digital-ticket-controls select{font-size:11px}.boarding-route h2{font-size:24px;gap:8px}.boarding-route h2 svg{width:18px;height:18px}.boarding-times strong{font-size:26px}.boarding-main{grid-template-columns:1fr;gap:23px}.boarding-main h3{font-size:21px}.boarding-code{padding-top:15px;border-top:1px dashed var(--line)}.boarding-segments strong{font-size:13px}.boarding-segments span{font-size:11px}.boarding-bottom{font-size:9px;gap:8px;flex-wrap:wrap}.digital-ticket-actions{gap:7px}.digital-ticket-actions .button{font-size:10px;padding:10px 11px;gap:8px}.receipt-movements>div{gap:10px;font-size:11px}.receipt-total{font-size:12px}.receipt-total strong{font-size:18px}.ticket-actions{gap:8px}.lab-view{padding-top:25px}.lab-heading{flex-direction:column;gap:18px;padding-bottom:22px}.lab-heading h1{font-size:32px}.lab-heading p:last-child{font-size:13px}.lab-heading .outline-label{font-size:8px}.lab-toolbar{gap:12px;flex-wrap:wrap}.lab-toolbar .segmented{width:100%}.lab-toolbar .segmented button{flex:1;justify-content:center;font-size:11px}.lab-run-heading{display:block}.lab-run-heading h2{font-size:24px}.lab-run-heading>span{display:block;margin-top:12px;font-size:9px}.lab-conditions{font-size:10px;line-height:1.8}.lab-metrics{grid-template-columns:1fr}.lab-metric h3{font-size:13px}.lab-metric>div:first-child{gap:10px}.lab-metric>div>span{font-size:9px}.lab-bar-row{grid-template-columns:35px minmax(0,1fr) 72px;gap:10px}.lab-method,.lab-design{padding-top:30px}.lab-method h2,.lab-design h2{font-size:23px}.lab-method-grid{grid-template-columns:1fr;gap:25px}.lab-method-grid p{font-size:12px}.lab-design-grid{grid-template-columns:1fr;gap:25px}.lab-design-grid article+article{border-left:0;padding:25px 0 0;border-top:1px solid var(--line)}.lab-design-grid h3{margin-top:13px}.metric-definitions>div{grid-template-columns:80px 1fr;gap:10px}.verifier>h1{font-size:27px}.verifier form{flex-direction:column;align-items:stretch}.verifier form .button{align-self:flex-start}.verification-result{gap:12px}.verification-result>svg{width:22px;height:22px}.verification-result h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.payment-progress svg{animation:none}}
/* Reserve space for client-populated journey results and icons during loading. */
i[data-lucide]{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle}nav i[data-lucide]{width:16px;height:16px}.brand-icon i[data-lucide]{width:24px;height:24px}.project-bar i[data-lucide]{width:13px;height:13px}.button i[data-lucide]{width:17px;height:17px}.hero-caption i[data-lucide]{width:14px;height:14px}.search-promise i[data-lucide]{width:15px;height:15px}.swap i[data-lucide]{width:14px;height:14px}.passenger-trigger>i[data-lucide]{position:absolute;right:10px;bottom:16px;width:13px;height:13px}.outline-label i[data-lucide]{width:13px;height:13px}#train-results:empty{min-height:1300px}.ticket-verifier-link{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:12px}
@media(max-width:980px){nav i[data-lucide]{width:14px;height:14px}}
@media(max-width:760px){.brand-icon i[data-lucide]{width:20px;height:20px}.hero-caption i[data-lucide]{width:11px;height:11px}}
#route-title{min-height:34px}#route-subtitle{min-height:18px}#date-strip{min-height:55px}#results>.section-heading{min-height:83px}.heading-actions>#open-calendar{min-width:112px;height:40px}.heading-actions{min-height:40px}.search-fields>.search-field{min-height:65px}.search-fields>.swap{flex:0 0 28px}.search-field>span{min-height:13px}.search-field>span>i[data-lucide]{display:inline-block;width:13px;height:13px;flex-shrink:0}.heading-actions i[data-lucide]{display:inline-block;width:20px;height:20px}
@media(max-width:760px){#route-title{min-height:60px}#route-subtitle{min-height:17px}#date-strip{min-height:60px}#results>.section-heading{min-height:108px}.search-fields>.search-field{min-height:73px}.heading-actions>#open-calendar{min-width:0}}
@media(min-width:761px) and (max-width:980px){.nav-inner{height:auto;min-height:124px;flex-wrap:wrap;gap:0;padding-top:16px}.nav-inner nav{width:100%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin-top:12px}.nav-inner nav a{justify-content:center;padding:15px 0;font-size:11px;gap:7px}.nav-inner nav svg{width:14px;height:14px}}
