:root{--red: #ef2118;--red-dark: #b8130d;--red-soft: #ffe5e2;--orange: #ff8a00;--ink: #11100f;--muted: #6f716f;--line: #dfdfdc;--paper: #f4f4f2;--white: #fff;--page-pad: clamp(1rem, 4vw, 5.75rem);--section-space: clamp(4rem, 10vw, 8rem);--display: "Arial Black", "Helvetica Neue", Arial, sans-serif;--body: Inter, "Helvetica Neue", Arial, sans-serif;color-scheme:light}*{box-sizing:border-box}html{min-width:320px;max-width:100%;overflow-x:hidden;scroll-behavior:smooth}body{min-width:320px;max-width:100%;min-height:100dvh;margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}body,button,input,select,textarea{font:500 1rem/1.5 var(--body)}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.045em;line-height:.98}.page-shell{box-sizing:border-box;width:min(100%,90rem);margin:0 auto;padding:clamp(2rem,5vw,4.5rem) var(--page-pad) var(--section-space)}.pre-package-identity{display:grid;gap:1rem;border:1px solid var(--line);border-radius:1.15rem;background:#f8f8f7;padding:1.2rem;animation:reveal-up .24s ease both}.identity-heading span{font-weight:900}.identity-heading p{margin:.15rem 0 0;color:var(--muted);font-size:.85rem}.ticket-row strong small,.result-details strong small,.saved-ticket dd small,.commerce-receipt dd small{display:block;margin-top:.15rem;color:var(--muted);font-size:.7rem;font-weight:650}.contribution-presets button{display:grid;min-height:4rem;place-content:center;gap:.15rem;border:1px solid var(--line);border-radius:.7rem;background:#fff;font-weight:800}.contribution-presets small,.tour-cart dd small,.cart-total small,.tour-cart button small,.step-actions .button small{display:block;color:inherit;font-size:.7rem;opacity:.72}.tour-stepper button:disabled:not(.active){cursor:not-allowed}.eligibility.eligible{background:#e8f8ee;color:#176c3a}.progress button:disabled{cursor:default}router-outlet+*{display:block;width:100%;min-width:0}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1rem;color:var(--red);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{width:1.8rem;height:2px;background:currentColor;content:""}.page-title{max-width:13ch;margin-bottom:1rem;overflow-wrap:anywhere;font-size:clamp(2.35rem,1.4rem + 4.2vw,5.25rem);text-wrap:balance}.page-lead{max-width:47rem;color:var(--muted);font-size:clamp(1rem,2vw,1.25rem)}.button{display:inline-flex;min-height:3.25rem;align-items:center;justify-content:center;gap:.6rem;padding:0 1.5rem;border:1px solid transparent;border-radius:999px;background:var(--red);color:#fff;font-weight:900;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover{background:#d91b13;box-shadow:0 1rem 2rem #ef211838;transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.98)}.button:disabled{box-shadow:none;opacity:.45;transform:none}.button.secondary{border-color:var(--line);background:#fff;color:var(--ink)}.button.secondary:hover{border-color:var(--ink);box-shadow:none}.button.dark{background:var(--ink)}.button.block{width:100%}.surface{border:1px solid var(--line);border-radius:clamp(1.25rem,3vw,2rem);background:#fff}.field-grid{display:grid;gap:1rem}.field{display:grid;gap:.45rem}.field>span{color:#333;font-size:.8rem;font-weight:850}.field input,.field select,.field textarea{width:100%;min-height:3.25rem;border:1px solid #d6d7d5;border-radius:.85rem;outline:none;background:#fafafa;padding:.85rem 1rem;color:var(--ink);transition:border .16s ease,box-shadow .16s ease,background .16s ease}.field textarea{min-height:7rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 4px #ef21181a}.field small{color:var(--muted)}.error-banner,.info-banner{margin:1rem 0;border-radius:1rem;padding:.9rem 1rem;font-size:.9rem;font-weight:750}.error-banner{background:#fff0ef;color:#b42318}.info-banner{background:#fff7e7;color:#7a4500}.ticket-card{position:relative;overflow:hidden;border-radius:1.8rem;background:linear-gradient(145deg,var(--red),#c51b14);color:#fff;padding:clamp(1.4rem,4vw,2.2rem);box-shadow:0 2rem 4rem #6d110c2e}.ticket-card:before,.ticket-card:after{position:absolute;top:62%;width:2rem;height:2rem;border-radius:50%;background:var(--paper);content:""}.ticket-card:before{left:-1rem}.ticket-card:after{right:-1rem}.ticket-card h2{margin-bottom:2rem;overflow-wrap:anywhere;font-size:clamp(1.85rem,1.35rem + 2.5vw,3.25rem);text-wrap:balance}.ticket-row{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.42)}.ticket-row span{color:#ffffffb8}.ticket-row strong{max-width:60%;text-align:right}.ticket-total{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-top:1.5rem}.ticket-total strong{font-family:var(--display);font-size:clamp(1.4rem,5vw,2.25rem);line-height:1}.loading-screen{display:grid;min-height:62dvh;place-content:center;gap:1rem;text-align:center}.loading-wheel{width:4rem;height:4rem;margin:auto;border:4px solid #ffc8c4;border-top-color:var(--red);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@media(min-width:680px){.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){:root{--section-space: 3.75rem}.page-title{max-width:16ch;font-size:clamp(2.25rem,11vw,2.85rem);line-height:1}.page-lead{font-size:1rem}.ticket-card h2{font-size:2rem}.ticket-total strong{font-size:1.55rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.site-header,.site-footer{display:none!important}}@media(min-width:900px){:root{--page-pad: 4vw}.page-shell{width:92%;max-width:none;padding-right:0;padding-left:0}}
