/* A concert and a journey, revealed together. */
.gifts-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:stretch;gap:24px;width:min(950px,calc(100vw - 68px));margin-top:9px}
.gifts-grid .ticket-stack{width:100%;max-width:none;margin:0}.gifts-grid .ticket{height:100%;display:flex;flex-direction:column}.gifts-grid .ticket-main{flex:1;display:flex;flex-direction:column;justify-content:center}.gifts-grid .ticket-back{transform:rotate(-3deg) translate(-4px,5px)}
.gifts-grid .ticket-topline{font-size:10px;padding:16px 20px}.gifts-grid .ticket h3{font-size:clamp(20px,2.5vw,29px)}.gifts-grid .ticket-recipient{font-size:10px;line-height:2;padding:18px 12px}.gifts-grid .ticket-sticker{right:13px;top:12px}
.flight-ticket{position:relative;background:#123d4c;color:#e5fcf0;border:3px solid #9edccb;box-shadow:5px 6px #030d28;display:flex;flex-direction:column;clip-path:polygon(0 0,100% 0,100% 77%,98% 77%,98% 81%,100% 81%,100% 100%,0 100%,0 81%,2% 81%,2% 77%,0 77%)}
.flight-ticket:before{content:'';position:absolute;inset:5px;border:1px solid #508b90;pointer-events:none}.flight-topline{display:flex;align-items:center;justify-content:space-between;background:#225461;border-bottom:2px solid #73b2aa;padding:16px 18px;font-size:10px;color:#b8f3da}.flight-topline span:last-child{color:#ffda93}.flight-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:23px 12px;background:linear-gradient(140deg,#173e55,#123b42)}.flight-eyebrow{font-size:7px;color:#80bab7;margin-bottom:22px}.flight-route{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.flight-route p{font-size:22px;color:#e3f9d6;text-shadow:2px 3px #1e4e5b;line-height:1.6}.flight-route p:last-child{color:#ffe3a3}.flight-path{display:flex;align-items:center;gap:8px;width:42px;height:38px;flex-direction:column}.flight-path i{display:none}.flight-path svg{width:32px;height:32px;fill:#f3d091;transform:rotate(180deg);filter:drop-shadow(2px 2px #1b4053)}.flight-caption{color:#87bbb4;font-size:7px;margin-top:22px;text-align:center;line-height:1.9}.flight-stub{border-top:2px dashed #78a7a1;background:#23525b;display:flex;align-items:center;justify-content:center;gap:12px;padding:17px 13px;min-height:76px;font-size:8px;line-height:2;text-align:center;color:#d3f1d8}.flight-stub>span:first-child{font-size:17px;color:#ffbbad}.flight-stub>span:last-child{max-width:170px}
body[data-phase=reveal] .celebration{justify-content:flex-start;gap:20px;padding-top:max(66px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}body[data-phase=reveal] .birthday-title{margin-top:auto;flex-shrink:0}body[data-phase=reveal] .gift{margin-bottom:auto;flex-shrink:0}.gift-caption{margin:26px 0 20px}
@media(max-width:760px){
 .gifts-grid{grid-template-columns:minmax(0,1fr);width:min(460px,calc(100vw - 46px));gap:17px;margin-top:2px}
 .gifts-grid .ticket-topline{font-size:8px;padding:11px 14px}.gifts-grid .ticket-main{padding:18px 12px 20px}.gifts-grid .ticket-quantity{gap:8px}.gifts-grid .ticket-quantity strong{font-size:24px}.gifts-grid .ticket-quantity>span{font-size:8px}.gifts-grid .ticket h3{font-size:clamp(17px,5.05vw,23px);margin:20px 0 17px;letter-spacing:-1.1px}.gifts-grid .ticket-details{font-size:9px;gap:24px}.gifts-grid .ticket-recipient{padding:13px 12px;font-size:9px;line-height:2;gap:8px}.gifts-grid .ticket-recipient p{max-width:260px}.gifts-grid .ticket-recipient>span{font-size:12px}
 .flight-ticket{border-width:3px}.flight-topline{font-size:8px;padding:10px 14px;min-height:35px}.flight-body{padding:13px 12px 14px}.flight-eyebrow{display:none}.flight-route{flex-direction:row;justify-content:center;gap:10px}.flight-route p{font-size:14px;line-height:1.8}.flight-path{width:48px;height:25px;flex-direction:row;gap:3px}.flight-path i{display:block;width:7px;height:2px;background:#72a7a6}.flight-path svg{width:27px;height:27px;flex-shrink:0;transform:rotate(90deg)}.flight-caption{display:none}.flight-stub{font-size:7px;min-height:38px;padding:8px 12px;gap:10px}.flight-stub>span:first-child{font-size:12px}.flight-stub>span:last-child{max-width:none}
 body[data-phase=reveal] .celebration{gap:15px;padding-top:max(59px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom))}.gift-caption{font-size:8px;margin:22px 0 16px;line-height:2}.gift .replay{min-height:46px;padding:11px 19px;font-size:10px}
}
@media(max-height:730px) and (max-width:760px){
 body[data-phase=reveal] .celebration{gap:12px;padding-top:max(54px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}body[data-phase=reveal] .birthday-title{font-size:15px;line-height:1.7}
 .gifts-grid{gap:14px}.gifts-grid .ticket-topline{padding:9px 12px}.gifts-grid .ticket-main{padding:13px 10px 14px}.gifts-grid .ticket-quantity strong{font-size:22px}.gifts-grid .ticket-quantity{gap:6px}.gifts-grid .ticket h3{margin:15px 0 13px;font-size:clamp(16px,5vw,20px)}.gifts-grid .ticket-recipient{padding:10px;font-size:8px}.flight-topline{padding:8px 12px;min-height:30px}.flight-body{padding:11px 10px}.flight-stub{padding:7px 10px;min-height:32px}.gift-caption{margin:17px 0 13px}.gift .replay{padding:9px 18px;min-height:44px}
}
@media(max-width:360px){.flight-route p{font-size:12px}.flight-route{gap:8px}.flight-path{width:40px}.gifts-grid .ticket-details{gap:18px}.gifts-grid .ticket-recipient{font-size:8px}.flight-stub{font-size:6px}}
@media(min-width:761px) and (max-height:580px){
 .gifts-grid{width:min(800px,calc(100vw - 64px));gap:20px}.gifts-grid .ticket-main{padding:14px}.gifts-grid .ticket-quantity strong{font-size:23px}.gifts-grid .ticket h3{font-size:24px;margin:14px 0}.gifts-grid .ticket-recipient{padding:12px;font-size:8px}.gifts-grid .ticket-topline{padding:10px 15px;font-size:9px}.flight-topline{padding:10px 14px;font-size:9px}.flight-body{padding:14px}.flight-eyebrow{margin-bottom:10px}.flight-route{gap:3px}.flight-route p{font-size:17px}.flight-path{height:26px}.flight-path svg{height:25px}.flight-caption{margin-top:10px}.flight-stub{padding:11px;min-height:56px;font-size:7px}.gift-caption{margin:16px 0 13px}
}
