:root{--brand-blue:#004890;--brand-white:#fff;--brand-line:#00489029;--font-sans:"Archivo", "Helvetica Neue", Helvetica, sans-serif;--font-display:"Syne", "Helvetica Neue", Helvetica, sans-serif;color:var(--brand-blue);background:var(--brand-white);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--brand-white);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}a{color:inherit}img,svg{max-width:100%;display:block}#root{min-height:100svh}::selection{color:var(--brand-white);background:var(--brand-blue)}.refonte-page{min-height:100svh;color:var(--brand-blue);background:radial-gradient(circle at 15% 15%,#00489014,#0000 24rem),#00489009;place-items:center;padding:clamp(1rem,4vw,3.5rem);display:grid}.skip-link{z-index:10;color:var(--brand-white);background:var(--brand-blue);border-radius:.2rem;padding:.7rem .9rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:transform .18s;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.ticket{background:var(--brand-white);border:1px solid #0048903d;grid-template-rows:auto 1fr auto;width:min(100%,72rem);min-height:min(40rem,100svh - clamp(2rem,8vw,7rem));animation:.7s cubic-bezier(.22,1,.36,1) both ticket-in;display:grid;overflow:hidden;box-shadow:0 2rem 5rem #0048901c}.ticket-header,.ticket-footer{justify-content:center;align-items:center;gap:1.5rem;padding-inline:clamp(1.5rem,4vw,3.5rem);display:flex}.ticket-header{border-bottom:1px solid var(--brand-line);min-height:clamp(7.5rem,14vw,10rem);padding:clamp(1.5rem,2vw,3.5rem) clamp(1.5rem,6vw,5.5rem)}.brand{border-radius:.4rem;display:inline-flex}.brand:focus-visible{outline:3px solid var(--brand-blue);outline-offset:.35rem}.brand-logo{object-fit:contain;width:clamp(8rem,12vw,10.5rem);height:auto}.ticket-destination{text-align:right;text-transform:uppercase;gap:.35rem;display:grid}.ticket-destination span,.stub-label{letter-spacing:.22em;opacity:.58;font-size:.62rem;font-weight:600}.ticket-destination strong{font-family:var(--font-display);letter-spacing:.06em;font-size:clamp(1rem,1.8vw,1.35rem)}.ticket-body{grid-template-columns:minmax(0,1fr) minmax(15rem,.32fr);display:grid}.ticket-content{flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,6rem) clamp(1.5rem,6vw,5.5rem);display:flex}.eyebrow{letter-spacing:.26em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.68rem;font-weight:700}h1{max-width:42rem;font-family:var(--font-display);letter-spacing:-.065em;text-wrap:balance;margin:0;font-size:clamp(3.25rem,7.2vw,6.75rem);font-weight:700;line-height:.9}.availability{letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.75rem;margin:clamp(1.4rem,3vw,2rem) 0 0;font-size:clamp(.8rem,1.2vw,.95rem);font-weight:700;display:inline-flex}.availability:before{background:var(--brand-blue);content:"";width:2.5rem;height:2px}.intro{color:#004890b8;max-width:34rem;margin:1.5rem 0 0;font-size:clamp(.92rem,1.3vw,1.05rem);line-height:1.7}.services{border-top:1px solid var(--brand-line);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;gap:.65rem 1.35rem;margin:clamp(2rem,4vw,3rem) 0 0;padding:1.1rem 0 0;font-size:.65rem;font-weight:700;list-style:none;display:flex}.services li:not(:last-child):after{content:"-";opacity:.45;margin-left:1.35rem}.ticket-stub{background:#0048900b;border-left:1px dashed #0048906b;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,3.5vw,2.75rem);display:flex;position:relative}.ticket-stub:before,.ticket-stub:after{content:"";background:#00489009;border:1px solid #0048901f;border-radius:50%;width:1.35rem;height:1.35rem;position:absolute;left:-.7rem}.ticket-stub:before{top:-.7rem}.ticket-stub:after{bottom:-.7rem}.stub-label,.stub-value{text-transform:uppercase;margin:0}.stub-value{font-family:var(--font-display);letter-spacing:-.03em;margin-top:.55rem;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700}.barcode{background:repeating-linear-gradient(90deg, var(--brand-blue) 0 2px, transparent 2px 5px, var(--brand-blue) 5px 6px, transparent 6px 10px);opacity:.78;width:100%;height:4.75rem;margin-block:2rem}.stub-code{letter-spacing:.15em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.62rem;font-weight:700;display:flex}.ticket-footer{color:#004890ad;border-top:1px solid var(--brand-line);letter-spacing:.12em;text-transform:uppercase;min-height:4.25rem;font-size:.65rem;font-weight:600}@keyframes ticket-in{0%{opacity:0;transform:translateY(1rem)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=760px){.refonte-page{padding:.75rem}.ticket{min-height:calc(100svh - 1.5rem)}.ticket-body{grid-template-columns:1fr}.ticket-content{padding-block:3.5rem}.ticket-stub{border-top:1px dashed #0048906b;border-left:0;min-height:15rem}.ticket-stub:before,.ticket-stub:after{top:-.7rem;bottom:auto}.ticket-stub:before{left:-.7rem}.ticket-stub:after{left:auto;right:-.7rem}.barcode{max-width:16rem}}@media (width<=480px){.ticket-header,.ticket-footer{padding-inline:1.1rem}.ticket-header{min-height:7rem}.brand-logo{width:7.1rem}.ticket-destination span{letter-spacing:.15em}.ticket-content,.ticket-stub{padding-inline:1.1rem}h1{font-size:clamp(3rem,17vw,4.7rem)}.services{gap:.65rem .9rem}.services li:not(:last-child):after{margin-left:.9rem}.ticket-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:.45rem;min-height:5.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
