.trip-loading { width:min(1000px,calc(100% - 40px)); margin:0 auto; padding:30px 0 35px; text-align:center; }
.trip-loading>.eyebrow { font-size:8px; letter-spacing:1.7px; margin-bottom:0; }
.trip-scene-shell { width:min(100%,640px); height:430px; margin:auto; position:relative; }
.trip-scene { width:640px; height:430px; position:absolute; top:0; left:50%; transform:translateX(-50%) scale(var(--trip-scene-scale,1)); transform-origin:top center; }
.trip-ground-shadow { position:absolute; left:260px; top:370px; width:120px; height:17px; border-radius:50%; background:#263d3413; filter:blur(10px); }
.trip-box-camera { position:absolute; left:230px; top:255px; width:180px; height:180px; perspective:1100px; pointer-events:none; }
.trip-box-world { position:relative; width:180px; height:180px; transform-style:preserve-3d; transform:scale3d(.58,.58,.58) rotateX(69deg) rotateZ(37deg); }
.trip-box-back { z-index:1; }.trip-box-front { z-index:3; }
.trip-box-floor { position:absolute; inset:0; background:linear-gradient(135deg,#d7d5be,#fff9e9 80%); transform:translateZ(-10px); border:1px solid #c8ceb4; }
.trip-wall { position:absolute; box-shadow:inset 0 0 0 1px #294b3326; }
.trip-wall-front,.trip-wall-back { width:180px; height:100px; left:0; transform-origin:top center; transform:translateZ(90px) rotateX(-90deg); }
.trip-wall-front { top:180px; background:linear-gradient(120deg,#416b55,#365b47); border-top:2px solid #a1b489; border-radius:0 0 3px 3px; }
.trip-wall-back { top:0; background:linear-gradient(0deg,#dad8c5,#fffbed); border-top:2px solid #a1b489; }
.trip-wall-left,.trip-wall-right { width:100px; height:180px; top:0; transform-origin:left center; transform:translateZ(90px) rotateY(90deg); }
.trip-wall-left { left:0; background:linear-gradient(90deg,#f4eddb,#d9d9c4); border-left:2px solid #a1b489; }
.trip-wall-right { left:180px; background:linear-gradient(30deg,#263f33,#345841); border-left:2px solid #94a77e; border-radius:0 3px 3px 0; }
.trip-flap { position:absolute; background:linear-gradient(145deg,#a5b78c,#8fa57a); border:1px solid #7c956b; box-shadow:inset 0 0 0 1px #dce5c52b; transform-style:preserve-3d; }
.trip-flap-back,.trip-flap-front { width:180px; height:90px; left:0; }
.trip-flap-back { top:0; transform-origin:center top; transform:translateZ(90.5px) rotateX(0deg); border-radius:2px 2px 0 0; }
.trip-flap-front { top:90px; transform-origin:center bottom; transform:translateZ(90.7px) rotateX(0deg); border-radius:0 0 2px 2px; }
.trip-flap-left,.trip-flap-right { width:90px; height:180px; top:0; }
.trip-flap-left { left:0; transform-origin:left center; transform:translateZ(91px) rotateY(0deg); border-radius:2px 0 0 2px; }
.trip-flap-right { left:90px; transform-origin:right center; transform:translateZ(91.2px) rotateY(0deg); border-radius:0 2px 2px 0; }
.trip-cards-window { position:absolute; inset:0; z-index:2; clip-path:polygon(0 0,100% 0,100% 78%,50% 92%,0 78%); pointer-events:none; }
.trip-flying-card { position:absolute; width:177px; left:231px; top:253px; opacity:0; transform:translate(0,45px) scale(.02); transform-origin:50% 50%; }
.trip-flying-card:nth-child(2) { z-index:2; }.trip-flying-card:nth-child(3) { z-index:3; width:160px; }
.trip-postcard { padding:7px 7px 0; background:var(--brand-ivory); border:1px solid #dfe1d4; border-radius:3px; box-shadow:0 6px 18px #263d3414; }
.trip-photo-wrap { height:135px; position:relative; background:#e6ebdc; overflow:hidden; }.trip-photo-wrap img { display:block; width:100%; height:100%; object-fit:cover; }
.trip-photo-wrap>span { position:absolute; bottom:8px; left:8px; padding:4px 5px; background:#fffefaeb; color:#4f6646; font-size:5px; letter-spacing:.65px; border-radius:2px; }
.trip-photo-caption { padding:10px 5px 11px; text-align:left; }.trip-photo-caption strong { display:block; font:18px/1.1 var(--serif); letter-spacing:-.3px; }.trip-photo-caption small { display:block; margin-top:5px; font-size:6px; color:#7b8471; }
.trip-photo-caption strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.trip-loading h1 { font:400 clamp(39px,4.7vw,54px)/1.04 var(--serif); letter-spacing:-1.4px; margin:0; }.trip-loading h1 em { color:#6d8660; }.trip-loading h1:focus { outline:none; }
.trip-loading-summary { font:12px/1.9 var(--sans); color:#7a8172; margin:17px auto 0; max-width:500px; }
.trip-loading-message { font:10px/1.8 var(--sans); color:#87937b; margin:19px auto 0; min-height:20px; }
.trip-loading-credits { font-size:8px; line-height:1.8; color:#929d87; margin:12px auto; }.trip-loading-credits a { color:inherit; text-underline-offset:2px; }.trip-loading-credits>span+span::before { content:' · '; }
.trip-loading .button { margin:10px 5px 0; }
.trip-loading.is-idle .trip-postcard { animation:trip-card-hover 4.5s ease-in-out infinite; }.trip-loading.is-idle .trip-flying-card:nth-child(2) .trip-postcard { animation-delay:-1.5s; }.trip-loading.is-idle .trip-flying-card:nth-child(3) .trip-postcard { animation-delay:-3s; }
.trip-loading.less-motion .trip-postcard { animation:none; }
.start-page.is-generating .landing-header nav>a { display:none; }
@keyframes trip-card-hover { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-4px) rotate(.5deg); } }
@media(max-width:650px) { .trip-loading { padding-top:25px; }.trip-loading h1 { font-size:42px; }.trip-loading-summary { font-size:11px; max-width:300px; }.trip-loading-message { max-width:280px; }.trip-loading>.eyebrow { font-size:7px; } }
@media(prefers-reduced-motion:reduce) { .trip-loading.is-idle .trip-postcard { animation:none; } }
@media(prefers-reduced-motion:reduce) { .trip-loading.is-waiting .trip-box-camera { animation:none!important; } }

/* Slightly off-square, with irregular bursts and a small hop between resting poses. */
.trip-box-camera { transform:translate(4px,0) rotate(-1.2deg); transform-origin:50% 72%; }
.trip-loading.is-waiting:not(.less-motion) .trip-box-camera { animation:unpackaged-box-rustle 6.4s ease-in-out infinite alternate; }
@keyframes unpackaged-box-rustle {
  0%,10% { transform:translate(4px,0) rotate(-1.2deg); }
  14% { transform:translate(-1px,1px) rotate(-3deg); }
  17% { transform:translate(6px,-2px) rotate(1deg); }
  20% { transform:translate(0,0) rotate(-2.3deg); }
  23%,37% { transform:translate(2px,0) rotate(-.5deg); }
  41% { transform:translate(5px,2px) rotate(1.2deg); }
  45% { transform:translate(-2px,-7px) rotate(-2deg); }
  49% { transform:translate(0,1px) rotate(-1.5deg); }
  53%,68% { transform:translate(-1px,0) rotate(-2deg); }
  72% { transform:translate(3px,-1px) rotate(.4deg); }
  75% { transform:translate(-3px,0) rotate(-3.2deg); }
  79% { transform:translate(2px,-3px) rotate(.5deg); }
  84%,100% { transform:translate(1px,0) rotate(-.8deg); }
}
@media(prefers-reduced-motion:reduce) { .trip-loading.is-waiting .trip-box-camera { animation:none!important; } }


/* Tactile square cardboard box; packed paper sits behind the front rim. */
.trip-wall,.trip-flap,.trip-box-floor { border-radius:4px; }
.trip-wall::after,.trip-flap::after,.trip-box-floor::after { content:''; position:absolute; inset:0; background-image:url('brand/cardboard-grain.svg'); background-size:110px 110px; mix-blend-mode:soft-light; opacity:.8; border-radius:inherit; pointer-events:none; }
.trip-wall-front { background:linear-gradient(115deg,#446650,#34513f); border-top-color:#c1c1a2; box-shadow:inset 0 2px 3px #f1e9ce38,inset 2px 0 4px #112d271a; }
.trip-wall-right { background:linear-gradient(110deg,#304a3b,#263e32); border-left-color:#abae8e; box-shadow:inset 2px 0 3px #f4e8c52b; }
.trip-flap { background:linear-gradient(145deg,#acb594,#929e7d); border-color:#8c9474; box-shadow:inset 0 1px 3px #eee5c96b,0 1px 2px #263d3424; }
.trip-box-floor { background:linear-gradient(135deg,#cdc8ad,#e7e0c8); }
.trip-wall-back,.trip-wall-left { background:linear-gradient(120deg,#e8e1cc,#c8c3a9); }
.trip-packed-contents { position:absolute; left:280px; top:265px; width:90px; height:70px; z-index:2; opacity:0; transform:translateY(16px) scale(.9); transition:opacity .35s .4s,transform .55s .4s; pointer-events:none; }
.trip-loading[data-presentation="opening"] .trip-packed-contents,.trip-loading[data-presentation="cards"] .trip-packed-contents,.trip-loading[data-presentation="settled"] .trip-packed-contents { opacity:1; transform:translateY(0) scale(1); }
.trip-packed-card { position:absolute; width:48px; height:59px; padding:3px 3px 11px; background:#f7f1e2; border:1px solid #d7d0ba; border-radius:2px; box-shadow:0 1px 4px #243b3430; overflow:hidden; }
.trip-packed-card-1 { left:2px; top:3px; transform:rotate(-14deg); background:linear-gradient(145deg,#a0ae96,#ddd8ba); border:3px solid #f6f0e2; border-bottom-width:11px; padding:0; }
.trip-packed-card-2 { left:32px; top:0; transform:rotate(9deg); background:linear-gradient(145deg,#b9c5c4,#829b9b); border:3px solid #f6f0e2; border-bottom-width:11px; padding:0; }
.trip-packed-card img { width:100%; height:100%; object-fit:cover; display:block; }
.trip-packed-card img[hidden] { display:none; }
.trip-packed-ticket { position:absolute; left:57px; top:22px; width:25px; height:45px; padding:4px; background:#ebe0c5; border:1px solid #c9bd9d; border-radius:3px; transform:rotate(19deg); box-shadow:0 1px 3px #263d3420; color:#6e7863; font-size:12px; }
.trip-packed-ticket i { display:block; height:2px; background:#8e967e; margin-top:5px; opacity:.55; }
@media(prefers-reduced-motion:reduce) { .trip-packed-contents { transition:none; } }
