@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/barlow-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/barlow-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/barlow-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/barlow-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/barlow-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/barlow-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/barlow-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/barlow-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/barlow-8.ttf) format('truetype');
}

:root{--navy:#10233f;--blue:#1b3a6b;--orange:#c84b00;--gold:#ffb46e;--paper:#fff;--ink:#172a43;--muted:#596777;--line:#dfe4ea;--soft:#f3f6fa;--heading:'Barlow Condensed','Arial Narrow',sans-serif;--body:'Barlow',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body)}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--orange)}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.08}h2{font:700 clamp(2.3rem,4vw,3.2rem)/1.08 var(--heading);letter-spacing:-.015em}h3{font:700 2rem/1.08 var(--heading)}h4{font:700 1.25rem/1.3 var(--body)}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;line-height:1.6;text-transform:uppercase}.skip{position:fixed;top:-80px;left:20px;z-index:99;background:white;padding:12px}.skip:focus{top:12px}.site-header{height:94px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--navy);font:800 1.8rem/1 var(--heading);letter-spacing:.035em}.brand small{display:block;font:700 .65rem/1.4 var(--body);letter-spacing:.3em;margin-top:5px}.brand-mark{display:flex;align-items:center;justify-content:center;position:relative;background:var(--navy);color:white;width:43px;height:48px;border-radius:3px;font:800 2.65rem var(--heading)}.brand-mark span{position:absolute;color:var(--gold);font-size:12px;right:3px;top:0}.site-header nav{display:flex;gap:30px}.site-header nav a{font-size:.9rem;font-weight:600;text-decoration:none}.edition{font-size:.7rem;letter-spacing:.13em;color:var(--muted)}.edition b{font-size:1rem;margin-left:6px;color:var(--navy)}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1.02fr;background:var(--navy);color:white;min-height:360px}.hero-copy{padding:38px 10%}.hero .eyebrow{color:var(--gold);font-size:.72rem;letter-spacing:.12em}.hero h1{font:800 clamp(3.8rem,6.6vw,6.4rem)/.94 var(--heading);margin:17px 0 16px;letter-spacing:-.015em}.hero h1 span{display:block;font-size:.49em;line-height:1.15;color:#e8edf5;letter-spacing:.015em;margin-top:7px}.hero-description{font-size:1rem;line-height:1.6;color:#dce4ef}.hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin:21px 0;font-size:.73rem;font-weight:700;letter-spacing:.08em}.hero-meta span+span{padding-left:16px;border-left:1px solid #738093}.hero-cta{display:inline-flex;align-items:center;gap:35px;background:var(--orange);color:white;padding:10px 18px;font-weight:600;text-decoration:none;font-size:.9rem;border-radius:3px}.hero-cta:hover{background:#a83c00;color:white}.hero-photo{position:relative;min-height:320px;overflow:hidden}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,35,63,.14),transparent 30%),linear-gradient(0deg,rgba(16,35,63,.75),transparent 50%)}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 48%;filter:saturate(.8)}.photo-caption{position:absolute;bottom:24px;left:25px;right:25px;z-index:1;display:flex;justify-content:space-between;color:white;font-size:.72rem;font-weight:700;letter-spacing:.12em}.game-strip{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-top:0}.game-strip>a{display:flex;align-items:center;gap:22px;padding:23px 7%;text-decoration:none;color:var(--navy)}.game-strip>a+a{border-left:1px solid var(--line)}.game-strip>a:hover{background:var(--soft)}.game-number{font:500 2.7rem/1 var(--heading);color:#98a5b5}.game-strip small{display:block;font-size:.65rem;font-weight:600;letter-spacing:.07em}.game-strip strong{display:block;font:700 1.65rem var(--heading)}.game-strip i{font:500 .9rem var(--body);color:var(--muted);margin:0 4px}.kickoff{margin-left:auto;white-space:nowrap;text-align:right;font:700 1.3rem var(--heading)}.kickoff small{font-family:var(--body);font-size:.6rem;color:var(--muted)}.page-layout{max-width:1240px;padding:50px 28px 70px;margin:auto;display:grid;grid-template-columns:215px minmax(0,1fr);gap:65px}.trip-sidebar{align-self:start;position:sticky;top:30px}.trip-sidebar>.eyebrow{color:var(--muted);margin-bottom:12px}.trip-sidebar>a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.88rem;font-weight:600;text-decoration:none}.trip-sidebar>a span{color:#8995a4}.timezone-card{background:var(--soft);margin-top:28px;padding:22px 19px;border-top:3px solid var(--blue)}.timezone-card>.eyebrow{font-size:.65rem;color:var(--blue)}.timezone-card strong{display:block;font:700 1.8rem/1.05 var(--heading);margin:13px 0}.timezone-card p{font-size:.83rem;line-height:1.8}.timezone-rule{display:block;border-top:1px solid var(--line);padding-top:12px;margin-top:13px;font-size:.77rem;color:var(--muted)}.sidebar-note{font-size:.75rem;color:var(--muted);margin-top:26px}.itinerary-intro>.eyebrow{color:var(--orange);margin-bottom:8px}.itinerary-intro>p:last-child{color:var(--muted);max-width:680px;line-height:1.65;margin:15px 0 24px}.day-nav{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:white;border:1px solid var(--line);box-shadow:0 5px 18px #10233f06}.day-nav>a{display:flex;flex-direction:column;text-decoration:none;text-align:center;padding:12px 5px;color:var(--ink);line-height:1.2;border-top:3px solid transparent;transition:background .15s,color .15s}.day-nav>a+a{border-left:1px solid var(--line)}.day-nav>a>span{font-size:.72rem;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.day-nav strong{font:700 2rem/1.1 var(--heading);margin:2px 0}.day-nav small{font-size:.65rem;white-space:nowrap}.day-nav>a:hover{background:var(--soft)}.day-nav>a[aria-current="date"]{border-top-color:var(--orange);background:var(--navy);color:white}.planning-note{background:#fff5ec;padding:13px 17px;margin:16px 0 38px;font-size:.85rem;color:#763600;border-left:3px solid var(--orange);line-height:1.6}.planning-note a{color:inherit;font-weight:600;white-space:nowrap}.planning-note>span{margin-right:5px}.day{margin:0 0 52px;scroll-margin-top:0}.day-heading{display:flex;gap:20px;align-items:flex-start;border-top:1px solid var(--line);padding:30px 0 24px}.date-stamp{flex:0 0 86px;width:86px;text-align:center;border:1px solid var(--line);background:var(--soft);border-radius:3px;overflow:hidden}.date-stamp span{display:block;background:var(--navy);color:white;font-size:.64rem;letter-spacing:.08em;padding:6px 3px;white-space:nowrap}.date-stamp strong{display:block;font:700 2.65rem/1.1 var(--heading);padding:5px 0 1px}.date-stamp small{display:block;padding:0 2px 7px;color:var(--muted);font-size:.58rem;font-weight:700;letter-spacing:.08em;line-height:1.15}.day-heading .eyebrow{color:var(--orange);font-size:.68rem;margin:0 0 7px}.day-heading h3{font-size:2rem}.day-heading p:last-child{color:var(--muted);font-size:.93rem;margin-top:10px;line-height:1.6}.timeline{list-style:none;margin:0;padding:0}.event{display:grid;grid-template-columns:130px minmax(0,1fr);gap:22px;padding:23px 0;border-top:1px solid var(--line)}.event-time{font-weight:700;font-size:.88rem;padding-top:4px;line-height:1.5;color:var(--blue);font-variant-numeric:tabular-nums}.event-weekday{margin-left:6px;color:#a3adba;font-size:.76rem;font-weight:600}.event-content>p{font-size:.95rem;color:var(--muted);margin-top:9px;line-height:1.7}.event-links{display:flex;gap:5px 18px;flex-wrap:wrap;margin-top:12px}.event-links:empty{display:none}.event-links a{font-size:.84rem;display:inline-flex;gap:5px;align-items:center;font-weight:600;min-height:32px;line-height:1.5}.event-links a span{font-size:.8rem;color:#788697}.event-content>.event-note{font-size:.82rem;line-height:1.6;color:#8a3c09;border-left:2px solid #d99869;padding-left:12px;margin-top:12px}.game-label{font-size:.65rem;font-weight:700;letter-spacing:.14em;display:block;margin-bottom:10px;color:var(--gold)}.event.colts,.event.bears{padding:24px;margin:8px 0 14px;border:0;border-radius:4px;background:var(--navy);color:white;position:relative}.event.colts{background:#173b71}.event.bears{border-left:5px solid var(--orange)}.event.colts h4,.event.bears h4{font:700 2rem/1.1 var(--heading)}.event.colts .event-time,.event.bears .event-time{color:white}.event.colts p,.event.bears p{color:#e0e7f2}.event.colts a,.event.bears a,.event.colts a span,.event.bears a span{color:white}.event.colts .event-note,.event.bears .event-note{color:#ffe0bb;border-color:#dd8f4b}.baseball .game-label{color:var(--orange)}.prep .event-content{background:var(--soft);padding:18px}.back-days{display:block;text-align:right;font-size:.78rem;font-weight:600;margin-top:15px;color:var(--muted)}.resources,.logistics,.pending-section{padding-top:34px;border-top:1px solid var(--line);margin:20px 0 45px}.resources>.eyebrow,.logistics>.eyebrow,.pending-section>.eyebrow{color:var(--orange);margin-bottom:9px}.resources>p:not(.eyebrow){color:var(--muted);margin-top:13px;font-size:.95rem}.reservation-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:25px}.reservation-grid article{border:1px solid var(--line);padding:24px;display:flex;align-items:flex-start;flex-direction:column;border-radius:3px}.resource-type{font-size:.65rem;letter-spacing:.1em;font-weight:700;color:var(--orange)}.reservation-grid h3{font-size:1.7rem;margin-top:10px}.reservation-grid p{font-size:.88rem;color:var(--muted);margin:9px 0 15px}.pending{font-size:.72rem;padding:4px 8px;color:#76410d;background:#fff1df;border-radius:3px;display:block;line-height:1.6;margin-top:auto}.reservation-grid a{font-size:.85rem;font-weight:600;margin-top:17px;min-height:30px}.logistics h2{margin-bottom:23px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:15px;padding:20px 0;font-size:1rem;font-weight:700;line-height:1.4}summary::-webkit-details-marker{display:none}summary:before{content:'+';width:18px;flex-shrink:0;font:500 1.4rem var(--body);color:var(--orange)}details[open]>summary:before{content:'\2212'}summary>span{margin-left:auto;font:.9rem var(--body);color:var(--muted)}.detail-body{padding:0 0 24px 33px;color:var(--muted);font-size:.93rem}.detail-body p+p{margin-top:12px}.detail-body>.event-links{margin-top:16px}.pending-section{background:var(--soft);padding:28px;border:0}.pending-section h2{font-size:2.3rem}.pending-section ul{padding-left:20px;margin:20px 0 0}.pending-section li{padding:6px 0;font-size:.9rem;color:var(--muted);line-height:1.7}.pending-section strong{color:var(--ink)}.sources summary{font-size:.85rem;color:var(--muted)}.sources .detail-body{font-size:.8rem}.photo-credit{font-size:.75rem}footer{background:var(--navy);color:#d7e0ec;padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand{color:white;font-size:1.5rem}footer .brand small{font-size:.6rem}footer>p{font-size:.8rem}footer>a:last-child{color:white;font-size:.83rem}.footer-brand{flex-wrap:wrap}
@media(min-width:1500px){.site-header,.hero,.game-strip{max-width:1320px}.site-header{padding:0 30px}.hero-copy{padding-left:50px}.hero{margin-top:24px;border-radius:5px 5px 0 0;overflow:hidden}}
@media(max-width:1050px){.page-layout{gap:35px;grid-template-columns:180px minmax(0,1fr)}.game-strip>a{gap:13px;padding:21px 5%}.game-number{font-size:2rem}.game-strip strong{font-size:1.4rem}.kickoff{font-size:1.1rem}.game-strip small{font-size:.58rem}.event{grid-template-columns:110px minmax(0,1fr);gap:16px}.hero-copy{padding:33px 8%}.hero h1{font-size:5.3rem}.event.colts,.event.bears{padding:19px}.site-header{padding:0 28px}}
@media(max-width:800px){.site-header{height:76px;padding:0 22px}.site-header nav{gap:18px}.site-header nav a{font-size:.8rem}.edition{display:none}.brand{font-size:1.5rem}.brand-mark{height:40px;width:36px;font-size:2.2rem}.hero{min-height:0;grid-template-columns:1.1fr 1fr}.hero-copy{padding:29px 22px}.hero h1{font-size:4.3rem}.hero .eyebrow{font-size:.59rem}.hero-description{font-size:.89rem}.hero-meta{font-size:.6rem;gap:8px}.hero-meta span+span{padding-left:8px}.hero-photo{min-height:280px}.photo-caption{font-size:.6rem;left:18px;right:18px}.photo-caption>span{display:none}.page-layout{display:block;padding:35px 24px 50px}.trip-sidebar{display:none}.game-strip>a{padding:18px 20px}.game-number{display:none}.game-strip strong{font-size:1.4rem}.kickoff{font-size:1.1rem}.game-strip small{font-size:.56rem}.event{grid-template-columns:125px minmax(0,1fr);gap:20px}.event.colts,.event.bears{padding:23px}.reservation-grid article{padding:22px}footer{gap:20px;flex-wrap:wrap}}
@media(max-width:560px){html{scroll-padding-top:108px}.site-header{height:72px;padding:0 18px;gap:18px}.site-header nav{gap:16px}.site-header nav a{font-size:.75rem}.site-header nav a:first-child{display:none}.brand{font-size:1.42rem;gap:8px}.brand small{font-size:.54rem}.brand-mark{width:32px;height:36px;font-size:2rem}.hero{display:flex;flex-direction:column}.hero-copy{padding:28px 23px 29px}.hero h1{font-size:clamp(4.6rem,18vw,6rem);margin-top:17px}.hero .eyebrow{font-size:.64rem}.hero-description{font-size:.93rem}.hero-meta{font-size:.69rem;margin:18px 0;gap:14px}.hero-meta span+span{padding-left:14px}.hero-cta{font-size:.86rem;min-height:44px}.hero-photo{height:170px;min-height:170px}.hero-photo img{object-position:center 49%}.photo-caption{font-size:.65rem;bottom:15px;left:23px}.photo-caption>span{display:block}.game-strip{grid-template-columns:1fr}.game-strip>a{padding:17px 23px;gap:15px}.game-strip>a+a{border-left:0;border-top:1px solid var(--line)}.game-number{display:block;font-size:2.2rem}.game-strip strong{font-size:1.55rem}.game-strip small{font-size:.6rem}.kickoff{font-size:1.25rem}.kickoff small{font-size:.55rem}.page-layout{padding:0 19px 42px}.itinerary-intro h2{font-size:2.5rem}.itinerary-intro>.eyebrow{font-size:.67rem}.itinerary-intro>p:last-child{font-size:.91rem;margin-top:12px}.day-nav{margin:0 -4px}.day-nav>a{padding:11px 2px}.day-nav>a>span{font-size:.69rem}.day-nav strong{font-size:1.8rem}.day-nav small{font-size:.59rem;white-space:normal;min-height:15px}.planning-note{font-size:.8rem;margin-bottom:25px;padding:12px 13px}.day{margin-bottom:35px}.day-heading{gap:14px;padding:25px 0 20px}.date-stamp{flex-basis:68px;width:68px}.date-stamp span{font-size:.52rem;letter-spacing:.03em;padding:5px 1px}.date-stamp strong{font-size:2.2rem}.date-stamp small{font-size:.5rem;padding-bottom:6px}.day-heading h3{font-size:1.85rem}.day-heading .eyebrow{font-size:.61rem;letter-spacing:.08em}.day-heading p:last-child{font-size:.88rem;line-height:1.65}.event{display:block;padding:21px 0}.event-time{font-size:.8rem;margin-bottom:7px;padding-top:0;color:var(--orange)}h4{font-size:1.14rem}.event-content>p{font-size:.94rem;line-height:1.65;margin-top:8px}.event-links{gap:3px 17px;margin-top:10px}.event-links a{font-size:.83rem;min-height:42px}.event-content>.event-note{font-size:.8rem}.event.colts,.event.bears{padding:23px 20px;margin:10px -4px 13px}.event.colts .event-time,.event.bears .event-time{font-size:1.15rem;margin-bottom:15px}.event.colts h4,.event.bears h4{font-size:1.9rem}.game-label{font-size:.59rem}.prep .event-content{padding:17px}.resources h2,.logistics h2{font-size:2.4rem}.reservation-grid{grid-template-columns:1fr;gap:12px}.reservation-grid article{padding:23px}.reservation-grid h3{font-size:1.7rem}.pending{font-size:.75rem}.reservation-grid a{min-height:36px}.resource-type{font-size:.69rem}.reservation-grid p{font-size:.91rem}.pending-section{padding:23px 20px;margin-left:-4px;margin-right:-4px}.pending-section h2{font-size:2.15rem}.pending-section>.eyebrow{font-size:.61rem}.pending-section li{font-size:.88rem}.logistics summary{font-size:.95rem}.detail-body{padding-left:25px}.sources .detail-body{font-size:.83rem}footer{padding:30px 23px;gap:19px}footer>p{order:3;flex-basis:100%;font-size:.75rem}footer>a:last-child{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{html{scroll-padding-top:0}.site-header nav,.hero-cta,.day-nav,.trip-sidebar,.back-days,.planning-note,.sources,footer>a:last-child{display:none}.site-header{height:65px}.hero{display:block;background:white;color:#10233f}.hero-copy{padding:20px 0}.hero h1{font-size:3rem}.hero h1 span,.hero-description{color:#10233f}.hero-photo{display:none}.hero-meta{color:#10233f}.hero .eyebrow{color:#10233f}.page-layout{display:block;padding:20px 0}.event,.event.colts,.event.bears{break-inside:avoid;background:white;color:#10233f;border-top:1px solid #ccc}.event.colts p,.event.bears p,.event.colts a,.event.bears a,.event.colts .event-time,.event.bears .event-time{color:#10233f}.day-heading{break-after:avoid}.reservation-grid article{break-inside:avoid}footer{background:white;color:#10233f}.footer-brand{color:#10233f!important}}
/* Readable text at every breakpoint; small type is reserved for metadata. */
.site-header nav a,.trip-sidebar>a,.day-nav>a>span,.event-time,.event-links a,.reservation-grid a,.logistics summary{font-size:.875rem}
.event-content>p:not(.event-note),.day-heading p:last-child,.itinerary-intro>p:last-child,.resources>p:not(.eyebrow),.reservation-grid p,.detail-body,.pending-section li{font-size:1rem}
.eyebrow,.hero .eyebrow,.hero-meta,.photo-caption,.game-strip small,.kickoff small,.day-nav small,.day-heading .eyebrow,.date-stamp span,.game-label,.resource-type,.pending,.pending-section>.eyebrow,.timezone-card>.eyebrow,.sidebar-note,.photo-credit,.edition,.sources .detail-body{font-size:.75rem}
.event-content>.event-note,.planning-note,.timezone-card p,.timezone-rule{font-size:.875rem}
.day-nav small{min-height:29px;white-space:normal;display:flex;align-items:center;justify-content:center}
.hero-photo img{object-position:center 65%}
.brand small{font-size:.75rem;letter-spacing:.14em}
.game-strip small{letter-spacing:.03em}
@media(max-width:1050px){.game-strip>a{gap:15px}.game-strip .game-number{display:none}.kickoff small{max-width:100px}.game-strip>a>span:nth-child(2){min-width:0}}
@media(max-width:560px){.hero .eyebrow{letter-spacing:.08em}.hero-meta{gap:10px}.hero-meta span+span{padding-left:10px}.day-heading .eyebrow{letter-spacing:.04em}.day-nav>a>span{font-size:.75rem}.day-nav small{font-size:.75rem;line-height:1.15}.game-strip>a{gap:12px}.game-strip .game-number{display:block}.game-strip small{font-size:.75rem}.kickoff{flex-shrink:0}.kickoff small{font-size:.75rem}.hero-photo img{object-position:center 65%}.site-header nav{gap:12px}.brand small{font-size:.65rem}.site-header nav a{font-size:.875rem}}
@media(max-width:380px){.site-header nav a:last-child{display:none}.game-strip .game-number{display:none}.game-strip>a{padding:16px 19px}.hero-meta{letter-spacing:.02em}.hero h1{font-size:4.55rem}}
@media(max-width:560px){.event-time,.single-day-time{font-size:1.1rem!important;line-height:1.35;font-weight:500;letter-spacing:.01em}.event-weekday{font-size:.875rem;font-weight:700;margin-left:7px}.single-day-time .event-weekday{font-size:.875rem}}
/* Reservation rows and hotel confirmations. */
.reservation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.reservation-grid>#hotel:has(>.hotel-information[open]){grid-column:1/-1}
@media(max-width:560px){.reservation-grid{grid-template-columns:minmax(0,1fr)}}
.reservation-grid>article{width:100%;min-width:0}
.reservation-status{font-size:.8rem;padding:5px 9px;color:#235735;background:#e8f3eb;border-radius:3px}
.hotel-information{width:100%;margin-top:19px;border-top:1px solid var(--line);border-bottom:0}
.hotel-information>summary{justify-content:flex-start;padding:16px 0 0;color:var(--blue);font-size:.95rem;min-height:48px}
.hotel-information>summary>.more-label{margin:0;font:inherit;color:inherit}
.hotel-information-body{padding-top:25px}
.booking-confirmation{margin-bottom:25px;min-width:0}
.booking-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:0 0 16px;flex-wrap:wrap}
.booking-wordmark{font-family:Arial,sans-serif;font-weight:800;font-size:clamp(1.65rem,3vw,2.3rem);letter-spacing:-.06em;color:#003580;line-height:1.1}
.booking-wordmark>span{color:#009fe3}
.booking-reference h4{font-family:Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.4;margin-bottom:4px;color:#10233f}
.reservation-grid .booking-reference p{font-family:Arial,sans-serif;font-size:.75rem;line-height:1.7;color:#10233f;margin:0}
.booking-reference strong{color:#0078bc;font-size:.875rem;white-space:nowrap}
.booking-panel{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(2,minmax(90px,.8fr)) minmax(105px,.9fr);padding:16px 12px;background:#f2f3f4;border:1px solid #637080;gap:0}
.booking-property{padding:0 15px 0 0}
.booking-property h5{font-family:Arial,sans-serif;font-size:1rem;line-height:1.3;margin:0 0 9px}
.reservation-grid .booking-property p{font-family:Arial,sans-serif;font-size:.8rem;line-height:1.6;margin:3px 0;color:#142236;overflow-wrap:anywhere}
.reservation-grid .booking-property a{font:inherit;margin:0;min-height:0;color:inherit}
.booking-date,.booking-occupancy{border-left:1px solid #c3c9cf;padding:0 9px;text-align:center;min-width:0;font-family:Arial,sans-serif;color:#10233f}
.booking-date>span,.booking-occupancy span:not(.booking-divider){display:block;font-size:.75rem;line-height:1.5}
.booking-date>strong{display:block;font-size:2rem;line-height:1.4;color:#071728}
.booking-date>b{font-size:.75rem;display:block}
.booking-date>em{font-family:Georgia,serif;font-size:.85rem;display:block;margin:4px 0}
.booking-date>small{font-size:.75rem;display:block;margin-top:6px}
.booking-counts{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:12px}
.booking-counts strong{display:block;font-size:1.8rem;line-height:1.6}
.booking-divider{font-size:1.8rem;color:#9ca6b3;align-self:end;line-height:1.6}
.reservation-grid .booking-occupancy p{font-size:.85rem;color:#10233f;margin:5px 0}
.hotel-notes{border-top:1px solid var(--line);padding-top:25px;margin-top:8px}
.hotel-notes h4{font-size:1.35rem;line-height:1.3}
.hotel-notes h5{font-size:1rem;line-height:1.5;margin:23px 0 7px;color:var(--blue)}
.hotel-notes ul{padding-left:21px;margin:0;color:var(--muted);font-size:1rem}
.hotel-notes li{padding:5px 0;overflow-wrap:anywhere}
.reservation-grid .hotel-notes a{font:inherit;margin:0;min-height:0;display:inline}
@media(max-width:1050px){.booking-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-property{grid-column:1/-1;border-bottom:1px solid #c3c9cf;padding:0 0 16px;margin-bottom:16px}.booking-date:nth-child(2){border-left:0}}
@media(max-width:560px){.booking-header{gap:15px}.booking-reference{width:100%}.booking-panel{padding:16px 9px}.booking-date,.booking-occupancy{padding:0 4px}.booking-counts{gap:5px}.booking-counts strong{font-size:1.6rem}.booking-date>strong{font-size:1.8rem}.booking-date>small{line-height:1.5}.booking-property h5{font-size:1rem}.booking-confirmation{margin-bottom:30px}.hotel-information-body{padding-top:22px}}
@media(max-width:560px){.booking-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-occupancy{grid-column:1/-1;border-left:0;border-top:1px solid #c3c9cf;margin-top:16px;padding-top:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.booking-counts{gap:12px;margin-bottom:0}.booking-occupancy>p{margin:0!important}.booking-occupancy>span{margin-left:auto}}
/* Official trip identity. */
.site-header{height:110px}
.site-header>.edition{order:3}
.site-header>nav{order:2;margin-left:auto}
.site-header>.trip-logo{order:1;flex-shrink:0}
.trip-logo img{display:block;width:84px;height:84px;object-fit:contain;background:white;border-radius:3px}
.footer-brand.trip-logo img{width:84px;height:84px}
.reservation-grid .luggage-note{max-width:760px;padding:14px 17px;border-left:3px solid var(--orange);background:var(--soft);margin:3px 0 18px;color:var(--ink);font-size:1rem}
@media(max-width:800px){.site-header{height:100px}.site-header>nav{margin-left:auto;margin-right:0}.trip-logo img{width:76px;height:76px}}
@media(max-width:560px){.site-header{height:94px}.site-header>nav{gap:16px}.site-header nav a:first-child{display:block}.trip-logo img{width:70px;height:70px}.footer-brand.trip-logo img{width:74px;height:74px}.site-header nav a{font-size:.8rem}.site-header{gap:12px}}
@media(max-width:380px){.site-header nav a:last-child{display:none}}
.current-moment{grid-column:1/-1;border:0;border-top:1px solid var(--line);background:var(--orange);color:white;font:700 .875rem/1.5 var(--body);padding:11px 14px;min-height:44px;cursor:pointer;text-align:center}
.current-moment[hidden]{display:none}
.current-moment:hover{background:#a83c00;color:white}
.current-moment:focus-visible{outline:3px solid var(--navy);outline-offset:-3px}
html{scroll-padding-top:var(--trip-nav-offset,125px)}
@media print{.current-moment{display:none}}
.photo-loading,.photo-loading body{overflow:hidden}
.photo-intro{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px;background:radial-gradient(ellipse at 50% 40%,#21436c,#0b192c 75%);overflow:hidden;overscroll-behavior:contain;touch-action:none}
.photo-intro[hidden],.memory-photo[hidden]{display:none}
.photo-stack{position:relative;width:min(66vw,370px);height:min(52vh,410px);height:min(52svh,410px);isolation:isolate}
.memory-photo{position:absolute;inset:0;background:white;padding:12px 12px 30px;box-shadow:0 15px 45px #0006,0 1px 5px #0003;transform:rotate(var(--tilt));transform-origin:50% 75%;animation:photo-toss 260ms cubic-bezier(.4,0,.8,.5) var(--delay) forwards;will-change:transform,opacity}
.memory-photo img{display:block;width:100%;height:100%;object-fit:contain;background:white}
.memory-photo.keep-photo{animation:none}
.intro-caption{font:600 1rem/1.5 var(--body);letter-spacing:.12em;color:white;text-align:center;z-index:20}
.photo-intro:not(.photos-ready) .photo-stack{display:none}
.photo-intro:not(.photos-ready) .intro-caption:before{content:'';display:block;width:30px;height:30px;margin:0 auto 18px;border:3px solid #ffffff40;border-top-color:var(--gold);border-radius:50%;animation:intro-spin .8s linear infinite}
@keyframes intro-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.photo-intro .intro-caption:before{animation:none!important}}
@keyframes photo-toss{from{transform:translate(0,0) rotate(var(--tilt));opacity:1}to{transform:translate(var(--throw-x),var(--throw-y)) rotate(var(--throw-angle));opacity:0}}
@media(max-width:560px){.photo-stack{width:70vw;height:45svh}.memory-photo{padding:9px 9px 24px}.photo-intro{gap:42px}}
@media(prefers-reduced-motion:reduce){.memory-photo{animation:none!important}}
@media print{.photo-intro{display:none!important}.photo-loading,.photo-loading body{overflow:visible}}
/* Six travel dates and expandable flight information. */
.day-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.reservation-grid>#vuelos:has(>.hotel-information[open]){grid-column:1/-1}
.flight-confirmation{padding:20px 0 26px;border-bottom:1px solid var(--line);margin-bottom:20px}
.flight-confirmation h4{margin-top:8px;font-size:1.25rem}
.flight-route{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin:24px 0}
.flight-route strong,.flight-route span,.flight-route small{display:block}
.flight-route strong{font:700 2rem/1.2 var(--heading);color:var(--navy)}
.flight-route span{font-size:1rem;margin:6px 0}
.flight-route small,.flight-duration{font-size:.8rem;color:var(--muted)}
.flight-route>div:last-child{text-align:right}
.flight-duration{text-align:center}
@media(max-width:560px){.day-nav small{font-size:.75rem;overflow-wrap:anywhere}.day-nav>a{padding-left:1px;padding-right:1px}.flight-route{grid-template-columns:1fr;gap:14px}.flight-route>div:last-child,.flight-duration{text-align:left}.flight-route strong{font-size:1.8rem}}
/* Slim mobile tab, with the existing sidebar sliding from the left. */
.sidebar-toggle{display:none}
@media(max-width:800px){
 :root{--mobile-sidebar-width:min(280px,calc(100vw - 54px))}
 .trip-sidebar{display:block;position:fixed;z-index:30;top:0;bottom:0;left:0;width:var(--mobile-sidebar-width);height:100vh;height:100dvh;padding:calc(25px + env(safe-area-inset-top,0px)) 22px calc(25px + env(safe-area-inset-bottom,0px));background:white;overflow-y:auto;overscroll-behavior:contain;transform:translateX(-100%);visibility:hidden;transition:transform .22s ease,visibility .22s;box-shadow:none;border-radius:0;scrollbar-width:thin}
 .sidebar-open .trip-sidebar{transform:translateX(0);visibility:visible;box-shadow:10px 0 30px #10233f2b}
 .sidebar-toggle:not([hidden]){display:flex;position:fixed;z-index:31;left:0;top:40%;align-items:center;justify-content:center;width:28px;min-height:106px;padding:12px 4px;border:1px solid #ffffff70;border-left:0;border-radius:0 5px 5px 0;background:var(--orange);color:white;box-shadow:2px 2px 8px #10233f30;cursor:pointer;transition:left .22s ease}
 .sidebar-toggle span{writing-mode:vertical-rl;font:700 .75rem/1 var(--body);letter-spacing:.12em}
 .sidebar-open .sidebar-toggle{left:var(--mobile-sidebar-width);background:var(--orange)}
 .sidebar-toggle:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
 .trip-sidebar .timezone-card{margin-top:22px}
}
@media print{.sidebar-toggle{display:none!important}}
.game-strip .game-order{margin-top:5px;color:var(--orange);font-weight:700;letter-spacing:0}

.footer-credits{max-width:680px;font-size:.8rem}.organization-credit{margin-top:12px;color:#d7e0ec}.organization-credit strong{color:white;font-weight:600}.footer-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:15px}.footer-links a{color:white;font-size:.85rem;font-weight:600;text-decoration-thickness:1px;text-underline-offset:4px}.footer-links a:hover{color:var(--gold)}
@media(max-width:560px){.footer-credits{order:3;flex-basis:100%;font-size:.75rem}}

/* Only the scheduled activity for the current instant receives this badge. */
.activity-live{display:flex;width:max-content;align-items:center;gap:9px;margin:10px 0 0;padding:5px 12px;border:1px solid #9bd7b0;border-radius:100px;background:#e8f8ee;color:#116337;font:700 .75rem/1.5 var(--body);letter-spacing:.035em}
.activity-live[hidden]{display:none}
.activity-live>span{width:8px;height:8px;border-radius:50%;background:#15954b;animation:activity-pulse 1.8s ease-out infinite}
@keyframes activity-pulse{0%{box-shadow:0 0 0 0 #15954b70}75%,100%{box-shadow:0 0 0 7px #15954b00}}
@media(prefers-reduced-motion:reduce){.activity-live>span{animation:none}}
@media print{.activity-live{display:none!important}}
.event.event-past>.event-time,.event.event-past>.event-content>h4{color:#6b7280}
.event.event-past.colts>.event-time,.event.event-past.colts>.event-content>h4,.event.event-past.bears>.event-time,.event.event-past.bears>.event-content>h4{color:#aeb8c6}
.city-clocks{margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}
.city-clocks>.eyebrow{font-size:.6rem;color:var(--blue)}
.city-clocks dl{margin:5px 0 0;font-size:.72rem;line-height:1.5}
.city-clocks dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:2px 0}
.city-clocks dt{color:var(--muted)}
.city-clocks dd{margin:0;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.reservation-grid>#camionetas:has(>.hotel-information[open]){grid-column:1/-1}
.avis-wordmark{color:#c9002b;font:800 2rem/1 var(--heading);letter-spacing:.025em}
.vehicle-confirmation{border:1px solid var(--line);padding:22px;border-radius:3px}
.vehicle-specs{padding:20px;background:var(--soft);border-top:3px solid #c9002b}
.vehicle-specs ul{margin:12px 0 0;padding-left:20px;font-size:.9rem;color:var(--muted)}
.vehicle-stops{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.vehicle-stops h4{margin-top:9px}.vehicle-stops p{line-height:1.7}
@media(max-width:560px){.vehicle-confirmation{padding:16px}.vehicle-stops{grid-template-columns:1fr}.vehicle-specs{padding:16px}}
@media(max-width:800px){.sidebar-toggle:not([hidden]){top:auto;bottom:calc(18px + env(safe-area-inset-bottom,0px))}}
@media(max-width:560px){.event-time{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-time>.activity-live{flex-shrink:0;margin:0 0 0 auto;white-space:nowrap}}

.vehicle-confirmation+.vehicle-confirmation{margin-top:24px}

.timezone-card>.city-clocks{margin-top:0;padding-top:0;border-top:0}
.trip-sidebar .timezone-card{padding:12px;margin-top:18px;border-top-width:1px}

.trip-video{position:relative;width:min(100%,760px);aspect-ratio:16 / 9;margin:0 auto 28px;overflow:hidden;background:var(--navy);border-radius:5px;box-shadow:0 10px 28px #10233f24}.trip-video video{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.trip-video-play{position:absolute;inset:0;display:grid;place-items:center;border:0;background:linear-gradient(90deg,#10233f5c,#10233f18 48%,#10233f5c);color:#fff;cursor:pointer;font:700 .78rem/1 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}.trip-video-play span{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid #ffffff70;border-radius:999px;background:#10233fda;box-shadow:0 6px 22px #00000052}.trip-video-play svg{width:19px;height:19px}.trip-video-play:hover span{background:#d85600}.trip-video-play:focus-visible{outline:3px solid #fff;outline-offset:-5px}.trip-video-play[hidden]{display:none}
.itinerary-logo-frame{width:260px;max-width:70%;aspect-ratio:1 / 1;margin:0 auto 28px;overflow:visible}
.itinerary-logo{display:block;width:100%;height:100%;aspect-ratio:1 / 1;object-fit:contain;object-position:center;max-height:none;clip-path:none}
.itinerary-logo[hidden]{display:none}
@media(max-width:560px){.trip-video{width:100vw;margin:0 calc(50% - 50vw) 24px;border-radius:0}.itinerary-logo-frame{width:220px;margin-bottom:24px}}
.activity-details{margin-top:8px;border-bottom:0}
.activity-details>summary{padding:10px 0;color:var(--blue);font-size:.84rem;gap:8px;text-decoration:underline;text-underline-offset:4px}
.activity-details-body{padding:12px 0 8px}
.activity-details .booking-reference h4{font-size:1rem;font-weight:500}
.activity-details .booking-reference p{font-size:.75rem;margin-top:7px}
.activity-details .vehicle-specs h4,.activity-details .vehicle-stops h4{font-size:1.05rem}
.activity-details .vehicle-stops p{font-size:.88rem;color:var(--muted);margin:10px 0}
.activity-details .vehicle-stops a{font-size:.85rem;font-weight:600}
@media(max-width:800px){.activity-details .vehicle-stops{grid-template-columns:1fr}}
.activity-details .hotel-notes{margin-top:18px;padding:18px;background:var(--soft)}
.activity-details .hotel-notes h4{font-size:1.1rem}
.activity-details .hotel-notes h5{margin:18px 0 8px;font-size:.9rem}
.activity-details .hotel-notes p,.activity-details .hotel-notes li{font-size:.88rem;line-height:1.7;color:var(--muted)}
.activity-details .hotel-notes ul{padding-left:20px}
.activity-details .hotel-notes li+li{margin-top:7px}
.activity-details .booking-panel{grid-template-columns:repeat(3,minmax(0,1fr))}
.activity-details .booking-property{grid-column:1/-1;border-bottom:1px solid #c3c9cf;padding:0 0 16px;margin-bottom:16px}
.activity-details .booking-date:nth-child(2){border-left:0}
@media(max-width:560px){.activity-details .booking-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-details .hotel-notes{padding:14px}}
/* Aligned activity controls; expanded content clears the link row. */
.activity-actions{display:flow-root;margin-top:12px}
.activity-actions[hidden],.single-day-links[hidden]{display:none!important}
.activity-actions>.event-links{float:left;margin:0 18px 0 0;max-width:100%;gap:3px 18px}
.activity-actions>.event-links:empty{margin:0}
.activity-actions>.event-links>a{min-height:42px;font-size:.875rem}
.activity-actions>.activity-details{margin:0}
.activity-actions>.activity-details>summary{display:inline-flex;min-height:42px;padding:0;font-size:.875rem;line-height:1.5;vertical-align:top}
summary:before,details[open]>summary:before{content:'';display:inline-block;width:8px;height:8px;margin:0 6px 4px 2px;border:solid var(--orange);border-width:0 2px 2px 0;transform:rotate(45deg)}
details[open]>summary:before{transform:rotate(225deg);margin-bottom:0}
.activity-details[open]>summary{color:var(--orange);text-decoration-thickness:2px}
.activity-details-body{clear:both;border-left:3px solid var(--orange);padding:18px 14px 14px;margin:8px 0 16px;background:#fff;box-shadow:0 0 0 1px var(--line);border-radius:3px;color:var(--ink)}
.activity-pickup-note{font-size:.88rem;line-height:1.7;color:var(--muted);margin-bottom:18px}
.activity-details-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);text-align:right}
.activity-finish{border:0;border-radius:3px;background:var(--orange);color:white;padding:11px 16px;font:600 .875rem/1.5 var(--body);cursor:pointer;min-height:44px}
.activity-finish:hover{background:#a83c00}
.activity-finish:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
@media(max-width:560px){.activity-details-body{padding:14px 10px}.activity-actions>.event-links{margin-right:14px}}
html.activity-panel-animating,html.activity-panel-animating *{overflow-anchor:none}
.activity-details.is-animating .activity-details-body{overflow:hidden;min-height:0;pointer-events:none}
.protected-code{display:inline;white-space:normal}
.protected-value:not([hidden]){margin-right:7px}
.protected-toggle{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--orange);padding:2px 0;font:600 .8rem/1.5 var(--body);text-decoration:underline;text-underline-offset:3px;cursor:pointer;vertical-align:baseline}
.protected-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}
.protected-toggle:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.code-dialog{width:min(390px,calc(100% - 32px));padding:26px;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:6px;color:var(--ink);background:white;box-shadow:0 20px 60px #10233f40}
.code-dialog::backdrop{background:#10233f99}
.code-dialog h2{font-size:1.7rem;margin-bottom:12px}
.code-dialog p{font-size:.9rem;line-height:1.5;color:var(--muted)}
.code-dialog label{display:block;margin:18px 0 6px;font-weight:600;font-size:.9rem}
.code-dialog input{width:100%;min-height:44px;padding:9px 12px;border:1px solid #8995a4;border-radius:3px;font:1rem var(--body)}
.code-dialog input:focus{outline:2px solid var(--orange);outline-offset:2px}
.code-dialog .code-error{color:#a52222;margin-top:12px;min-height:1.5em}
.code-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}
.code-dialog-actions button{padding:10px 16px;border:1px solid var(--line);background:var(--soft);border-radius:3px;font:600 .9rem var(--body);min-height:44px;cursor:pointer}
.code-dialog-actions button[type=submit]{background:var(--orange);border-color:var(--orange);color:white}
.code-dialog-actions button:disabled{opacity:.6;cursor:wait}
@media print{.protected-code,.code-dialog{display:none!important}}
.activity-title-expand,.activity-description[data-long-description]{cursor:pointer}
.activity-title-expand:focus-visible,.activity-description[data-long-description]:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.description-preview{position:relative}
.activity-description.is-collapsed .description-fade{-webkit-mask-image:linear-gradient(to right,#000 0%,#000 20%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 20%,transparent 100%)}
.activity-description.is-collapsed .description-preview:after{content:'···';display:inline-block;margin-left:4px;font-weight:700;letter-spacing:.14em;opacity:.72}
.activity-description:not(.is-collapsed) .description-preview:after{display:none}
.description-rest[hidden]{display:none}
.activity-description.is-reading{overflow:hidden}
.activity-description:focus{outline:none}
.description-read{display:inline;padding:0;border:0;background:transparent;color:var(--muted);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap}
.description-read:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media print{.description-rest[hidden]{display:inline}.activity-description.is-collapsed .description-fade{-webkit-mask-image:none;mask-image:none}}
.activity-attention{display:flex;width:max-content;max-width:100%;align-items:center;gap:7px;margin:0 0 10px;padding:6px 10px;border:1px solid #e2a16d;border-radius:100px;background:#fff2e6;color:#923900;font:700 .7rem/1.25 var(--body);letter-spacing:.06em;text-transform:uppercase}.activity-attention>span{font-size:.86rem;line-height:1}



.map-link{display:inline-flex;align-items:center;gap:5px}
.map-pin{fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}
.map-link-label{display:inline}
.description-rest .event-note{display:block;font-size:.82rem;line-height:1.6;color:#8a3c09;border-left:2px solid #d99869;padding-left:12px;margin-top:12px}
.single-day-activity{max-width:680px;margin-top:14px}
.single-day-time{color:var(--blue)!important;font-size:.88rem!important;font-weight:700;line-height:1.5}.single-day-time .event-weekday{margin-left:6px}
.single-day-time .activity-live{margin-top:8px}
.single-day-activity .activity-description{font-size:.95rem!important;color:var(--muted);margin-top:8px}
.single-day-links{margin-top:8px}
.day-heading .day-intro{color:var(--muted);font-size:.93rem;line-height:1.6;margin-top:10px}

/* Photo gallery */
.faq-page{min-height:100vh;background:#f6f4ef;color:var(--ink)}
.faq-header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1280px;margin:0 auto;padding:22px max(28px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--line)}
.faq-header .brand{display:flex;width:62px;height:62px}.faq-header .brand img{width:100%;height:100%;object-fit:contain}
.faq-header nav{display:flex;gap:22px}.faq-header nav a{color:var(--navy);font:700 .78rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--gold);padding:0 0 8px}.faq-header nav a:hover,.faq-header nav a:focus-visible{color:#8f6b1f}
.faq-main{max-width:1000px;margin:0 auto;padding:clamp(52px,8vw,110px) 28px 90px}
.faq-page-nav{display:flex;justify-content:flex-end;gap:20px;margin:0 0 42px}.faq-page-nav a{color:var(--navy);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;border-bottom:2px solid var(--gold);padding-bottom:7px}.faq-page-nav a:hover{color:var(--orange)}.faq-intro{max-width:720px;margin:0 0 28px;color:var(--muted);font-size:1.05rem;line-height:1.55}
.faq-answers>h1{margin:0 0 12px;color:var(--navy);font:700 clamp(2.4rem,4vw,3.3rem)/1 var(--heading);letter-spacing:-.025em}.faq-item{border-top:1px solid var(--line);scroll-margin-top:30px}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item>summary{min-height:0;padding:15px 0;gap:10px;color:var(--ink);font-size:1.05rem}.faq-item>summary:before,.faq-item[open]>summary:before{content:'';display:inline-block;width:8px;height:8px;margin:0 6px 4px 2px;border:solid var(--orange);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .16s ease}.faq-item[open]>summary:before{transform:rotate(225deg);margin-bottom:0}.faq-answer{padding:0 0 16px 25px}.faq-answer p{margin:0;color:var(--muted);line-height:1.55}
@media(max-width:760px){.faq-header{padding:18px 20px}.faq-header .brand{width:52px;height:52px}.faq-main{padding:54px 20px 66px}.faq-page-nav{margin-bottom:34px;gap:18px}.faq-answers>h1{font-size:2.3rem}.faq-item>summary{padding:13px 0;font-size:1rem}.faq-answer{padding:0 0 14px 23px}.faq-answer p{font-size:.94rem}}
@media(max-width:560px){.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){display:none}}
.gallery-page{min-height:100vh;background:#f6f4ef;color:var(--ink)}
.gallery-header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1280px;margin:0 auto;padding:22px max(28px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--line)}
.gallery-header .brand{display:flex;width:62px;height:62px}
.gallery-header .brand img{width:100%;height:100%;object-fit:contain}
.gallery-back{color:var(--navy);font:700 .78rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--gold);padding:0 0 8px}
.gallery-back:hover,.gallery-back:focus-visible{color:#8f6b1f}
.gallery-main{max-width:1280px;margin:0 auto;padding:clamp(52px,8vw,110px) max(28px,calc((100vw - 1280px)/2)) 90px}
.gallery-main>h1{margin:10px 0 16px;color:var(--navy);font:700 clamp(3rem,7vw,6.4rem)/.91 var(--heading);letter-spacing:-.055em;text-transform:uppercase}
.gallery-main>p:not(.eyebrow){max-width:650px;margin:0 0 48px;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.55;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gallery-card{min-width:0;margin:0;background:#e4e1da;overflow:hidden;aspect-ratio:1/1}
.gallery-card:nth-child(5n+1){grid-row:span 2;aspect-ratio:auto}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-card:hover img{transform:scale(1.035)}
@media(max-width:760px){.gallery-header{padding:18px 20px}.gallery-main{padding:54px 20px 66px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-card:nth-child(5n+1){grid-row:span 1;aspect-ratio:1/1}.gallery-main>p:not(.eyebrow){margin-bottom:30px}.gallery-header .brand{width:52px;height:52px}}

.gallery-random-open,.gallery-random-open body{overflow:hidden}
.gallery-random-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:clamp(18px,4vw,54px);background:radial-gradient(ellipse at 50% 40%,#21436c,#0b192c 75%);overscroll-behavior:contain;touch-action:none}
.gallery-random-overlay[hidden]{display:none}
.gallery-random-close{position:absolute;z-index:2;top:22px;right:22px;border:1px solid #ffffff80;background:#10233fcc;color:#fff;padding:11px 15px;font:700 .75rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.gallery-random-close:hover,.gallery-random-close:focus-visible{background:#fff;color:var(--navy)}
.gallery-random-frame{display:flex;align-items:center;justify-content:center;width:min(93vw,1400px);height:min(79svh,820px);padding:14px 14px 38px;background:#fff;box-shadow:0 20px 70px #0008;transform:rotate(-1.2deg)}
.gallery-random-frame img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:#fff}
.gallery-random-caption{position:absolute;bottom:18px;margin:0;color:#fff;font:600 .82rem/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase}
.gallery-random-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;margin:0 0 44px;padding:17px 20px;border:0;background:var(--navy);color:#fff;font:700 .78rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.gallery-random-trigger:hover,.gallery-random-trigger:focus-visible{background:#244b79}.gallery-random-trigger span{color:var(--gold);font-size:1.15rem;line-height:0}
@media(max-width:760px){.gallery-random-overlay{padding:18px}.gallery-random-frame{width:92vw;height:76svh;padding:9px 9px 28px}.gallery-random-close{top:14px;right:14px}.gallery-random-caption{bottom:14px;font-size:.68rem}.gallery-random-trigger{margin-bottom:30px}}

.gallery-viewer-open,.gallery-viewer-open body{overflow:hidden}
.gallery-viewer{position:fixed;inset:0;z-index:1200;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:center;gap:clamp(8px,2vw,28px);padding:clamp(18px,4vw,54px);background:radial-gradient(ellipse at 50% 40%,#21436c,#0b192c 75%);overscroll-behavior:contain;touch-action:none}
.gallery-viewer[hidden]{display:none}
.gallery-viewer-frame{grid-column:2;display:flex;align-items:center;justify-content:center;min-width:0;width:min(78vw,1320px);height:min(80svh,840px);padding:14px 14px 38px;background:#fff;box-shadow:0 20px 70px #0008;transform:rotate(-.5deg)}
.gallery-viewer-frame img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#fff}
.gallery-viewer-close{position:absolute;z-index:2;top:22px;right:22px;border:1px solid #ffffff80;background:#10233fcc;color:#fff;padding:11px 15px;font:700 .75rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.gallery-viewer-close:hover,.gallery-viewer-close:focus-visible{background:#fff;color:var(--navy)}
.gallery-viewer-move{border:1px solid #ffffff66;background:#10233fcc;color:#fff;width:54px;height:54px;border-radius:50%;font:400 2rem/1 var(--body);cursor:pointer}
.gallery-viewer-move:hover,.gallery-viewer-move:focus-visible{background:#fff;color:var(--navy)}
.gallery-viewer-caption{grid-column:1/-1;margin:0;color:#fff;text-align:center;font:600 .82rem/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase}
.gallery-card{border:0;padding:0;text-align:left;cursor:zoom-in}
.gallery-card:focus-visible{outline:4px solid var(--gold);outline-offset:3px}
@media(max-width:760px){.gallery-viewer{grid-template-columns:1fr;grid-template-rows:1fr auto;gap:12px;padding:18px}.gallery-viewer-frame{grid-column:1;grid-row:1;width:92vw;height:76svh;padding:9px 9px 28px}.gallery-viewer-move{position:absolute;z-index:2;top:calc(50% - 27px);width:47px;height:47px}.gallery-viewer-move.previous{left:10px}.gallery-viewer-move.next{right:10px}.gallery-viewer-close{top:14px;right:14px}.gallery-viewer-caption{grid-column:1;grid-row:2;font-size:.68rem}}

/* Group ticket assignments */
.ticket-assignment{border:1px solid var(--line);border-top:3px solid var(--blue);padding:22px;margin-top:16px;background:var(--paper)}
.ticket-assignment>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.ticket-assignment h4,.ticket-baseball h3{font-size:1.7rem;margin-top:7px}
.ticket-assignment header p,.ticket-baseball p{font-size:.9rem;color:var(--muted);margin-top:6px}
.ticket-count{flex:0 0 auto;background:#edf2f7;color:var(--blue);padding:5px 8px;border-radius:3px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.ticket-table-wrap{overflow-x:auto;border:1px solid var(--line)}
.ticket-assignment table{width:100%;min-width:650px;border-collapse:collapse;font-size:.85rem;line-height:1.4}
.ticket-assignment caption{padding:10px 13px;text-align:left;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--soft);color:var(--muted)}
.ticket-assignment th,.ticket-assignment td{padding:10px 12px;text-align:left;border-top:1px solid var(--line);white-space:nowrap}
.ticket-assignment thead th{background:var(--navy);color:white;border-top:0;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.ticket-assignment tbody th{font-weight:600;color:var(--ink)}
.ticket-status{display:inline-block;padding:3px 7px;border-radius:99px;font-size:.7rem;font-weight:700;letter-spacing:.03em}
.ticket-assigned{background:#e7f3eb;color:#23613c}
.ticket-unassigned{background:#fff1df;color:#76410d}
.seat-location-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px}
.seat-location-card{overflow:hidden;border:1px solid var(--line);background:#fff}
.seat-location-media{display:grid;grid-template-columns:1fr 1fr;height:178px;background:var(--soft)}
.seat-location-image{min-width:0;padding:0;border:0;background:var(--soft);cursor:zoom-in}
.seat-location-image:focus-visible{outline:3px solid var(--orange);outline-offset:-3px;position:relative;z-index:1}
.seat-location-media img{display:block;width:100%;height:100%;object-fit:cover}
.seat-location-view{object-position:center 29%}
.seat-location-map{object-fit:contain!important}
.seat-location-copy{padding:15px 16px 16px}
.seat-location-copy .resource-type{margin:0 0 5px}
.seat-location-copy h5{margin:0;color:var(--ink);font-size:1.15rem}
.seat-location-copy>p:not(.resource-type){margin:3px 0 11px;color:var(--muted);font-size:.88rem}
.seat-perks{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.seat-perks li{padding:4px 8px;border-radius:99px;background:var(--soft);font-size:.7rem;font-weight:700;color:var(--blue)}
.seat-perks li::before{content:'+';margin-right:5px;color:var(--orange);font-size:.9rem}
.ticket-seat-viewer-open,.ticket-seat-viewer-open body{overflow:hidden}
.ticket-seat-viewer{position:fixed;inset:0;z-index:1300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:clamp(18px,4vw,54px);background:#081728eF;overscroll-behavior:contain}
.ticket-seat-viewer[hidden]{display:none}
.ticket-seat-viewer-frame{display:flex;align-items:center;justify-content:center;width:min(94vw,1320px);height:min(78svh,840px);padding:12px;background:#fff;box-shadow:0 20px 70px #0008}
.ticket-seat-viewer-frame img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.ticket-seat-viewer-close{position:absolute;top:22px;right:22px;border:1px solid #ffffff80;background:#10233fcc;color:#fff;padding:11px 15px;font:700 .75rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ticket-seat-viewer-close:hover,.ticket-seat-viewer-close:focus-visible{background:#fff;color:var(--navy)}
.ticket-seat-viewer-caption{margin:0;color:#fff;text-align:center;font:600 .82rem/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase}
.ticket-baseball{margin-top:16px;padding:20px 22px;background:var(--soft);border-left:3px solid var(--orange)}
@media(max-width:560px){.ticket-assignment{padding:17px;margin-left:-4px;margin-right:-4px}.ticket-assignment>header{display:block}.ticket-count{display:inline-block;margin-top:12px}.ticket-assignment h4,.ticket-baseball h3{font-size:1.5rem}.ticket-assignment table{font-size:.82rem}.ticket-assignment th,.ticket-assignment td{padding:9px 10px}.seat-location-overview{grid-template-columns:1fr;gap:13px}.seat-location-media{height:190px}.seat-location-copy{padding:14px}.ticket-seat-viewer{padding:18px}.ticket-seat-viewer-frame{width:92vw;height:76svh;padding:9px}.ticket-seat-viewer-close{top:14px;right:14px}.ticket-seat-viewer-caption{font-size:.68rem}.ticket-baseball{padding:18px 17px;margin-left:-4px;margin-right:-4px}}

/* Ticket disclosure remains readable on dark game cards. */
.event.colts .activity-details>summary,.event.bears .activity-details>summary{color:white}
.event.colts .activity-details>summary:hover,.event.bears .activity-details>summary:hover{color:var(--gold)}

/* Official ticket links sit on a white expanded panel, even within dark game cards. */
.event.colts .activity-details .ticket-links a,.event.bears .activity-details .ticket-links a,.event.colts .activity-details .ticket-links a span,.event.bears .activity-details .ticket-links a span{color:var(--blue)}
.event.colts .activity-details .ticket-links a:hover,.event.bears .activity-details .ticket-links a:hover{color:var(--orange)}

/* Venue subtitles must not inherit the light text used on dark game cards. */
.event.colts .activity-details .ticket-assignment header p,.event.bears .activity-details .ticket-assignment header p{color:var(--muted)}

/* Ticket assignments use the same group-key lock as reservation data. */
.protected-ticket{display:block}
.protected-ticket-content[hidden]{display:none}

/* Ticket cards repeat the protected assignment shown in their itinerary activities. */
.reservation-ticket-details{width:100%;margin-top:17px}
.reservation-ticket-details>summary{display:inline-flex;min-height:32px;padding:0;font-size:.875rem;line-height:1.5}
.reservation-ticket-details .activity-details-body{margin-bottom:0}
