:root{--cream: #f1e9da;--ink: #1c1713;--stage-pad: 100px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:trade-gothic-next,sans-serif;font-weight:400;color:var(--ink);background:var(--cream);overflow:hidden}.deck{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden;touch-action:none;overscroll-behavior:none}.slide{position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;opacity:0;transform:translate(6%) scale(.985);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),visibility 0s linear .8s}.slide.is-active{visibility:visible;opacity:1;transform:translate(0) scale(1);transition:opacity .8s cubic-bezier(.22,1,.36,1) .1s,transform .8s cubic-bezier(.22,1,.36,1) .1s;z-index:2}.slide.is-leaving{visibility:visible;opacity:0;transform:translate(-5%) scale(.985);z-index:1}.day-slide{display:flex;width:100%;height:100%}.day-left{flex:0 0 50%;display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,2.2vh,28px);padding:clamp(40px,5vw,92px);background-color:color-mix(in srgb,var(--day-color) 10%,var(--cream));overflow-y:auto}.day-eyebrow{display:flex;align-items:center;gap:14px}.day-number{font-family:trade-gothic-next-compressed,sans-serif;font-weight:700;font-size:clamp(1rem,1.6vw,1.35rem);text-transform:uppercase;letter-spacing:.22em;color:var(--day-color-dark)}.day-rule{width:52px;height:3px;background:var(--day-color)}.day-city{font-family:trade-gothic-next-compressed,sans-serif;font-weight:400;font-size:clamp(.85rem,1.2vw,1.05rem);text-transform:uppercase;letter-spacing:.28em;opacity:.55}.day-title{font-family:royale-45,sans-serif;font-weight:400;font-size:clamp(2.4rem,4.6vw,5rem);line-height:1.02;color:var(--day-color);text-wrap:balance}.day-vibe{font-size:clamp(.98rem,1.35vw,1.22rem);line-height:1.55;max-width:34em;opacity:.85}.day-timeline{list-style:none;display:flex;flex-direction:column;gap:clamp(6px,1vh,11px);border-top:2px solid color-mix(in srgb,var(--day-color) 45%,transparent);padding-top:clamp(12px,1.8vh,20px)}.day-timeline li{display:grid;grid-template-columns:4.2em 1fr;gap:16px;align-items:baseline}.tl-time{font-family:trade-gothic-next-compressed,sans-serif;font-weight:700;font-size:clamp(.95rem,1.4vw,1.2rem);letter-spacing:.06em;color:var(--day-color-dark);text-align:right}.tl-text{font-size:clamp(.9rem,1.2vw,1.08rem);line-height:1.4}.day-right{flex:0 0 50%;background:var(--day-color);min-width:0}.carousel{display:flex;flex-direction:column;height:100%}.carousel-stage{position:relative;flex:1;margin:var(--stage-pad) var(--stage-pad) 0;min-height:0}.carousel-frame{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transform:scale(1.03);transition:opacity .9s ease,transform 6s ease-out;pointer-events:none}.carousel-frame.is-active{opacity:1;transform:scale(1)}.carousel-frame img{width:100%;height:100%;object-fit:cover;display:block;box-shadow:0 22px 60px #00000047}.carousel-frame figcaption{position:absolute;left:14px;bottom:14px;font-family:trade-gothic-next-compressed,sans-serif;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:#fff;background:#00000073;padding:6px 12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.carousel-thumbs{display:flex;gap:10px;justify-content:center;align-items:center;padding:clamp(18px,3vh,30px) var(--stage-pad);overflow-x:auto;scrollbar-width:none;flex:0 0 auto}.carousel-thumbs::-webkit-scrollbar{display:none}.thumb{flex:1 1 0;min-width:0;max-width:clamp(44px,4.6vw,72px);aspect-ratio:4 / 3;padding:0;border:2px solid transparent;background:none;cursor:pointer;opacity:.55;transition:opacity .3s ease,border-color .3s ease,transform .3s ease}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.is-active,.thumb:hover{opacity:1;border-color:var(--cream);transform:translateY(-3px)}.title-slide{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(18px,3vh,30px);padding:clamp(48px,8vw,140px);background:var(--cream)}.title-swatches{display:flex}.title-swatches span{width:clamp(28px,4vw,56px);height:clamp(10px,1.4vh,16px)}.title-kicker{font-family:trade-gothic-next-compressed,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.3em;font-size:clamp(.9rem,1.4vw,1.2rem);opacity:.6}.title-main{font-family:royale-45,sans-serif;font-weight:400;font-size:clamp(4rem,12vw,11rem);line-height:.95;display:flex;flex-direction:column}.title-year{color:#e85d45}.title-sub{font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.55;max-width:32em;opacity:.8}.deck-nav{position:absolute;left:clamp(40px,5vw,92px);bottom:clamp(12px,2.2vh,24px);display:flex;align-items:center;gap:14px;z-index:10}.nav-arrow{font-family:trade-gothic-next,sans-serif;font-size:1.05rem;width:38px;height:38px;border-radius:50%;border:none;background:#1c17138c;color:#fff;cursor:pointer;transition:background .3s ease}.nav-arrow:hover{background:#1c1713d9}.deck-dots{display:flex;gap:8px;padding:9px 14px;border-radius:999px;background:#1c17138c}.dot{width:10px;height:10px;border-radius:50%;border:none;background:var(--dot-color, #f1e9da);opacity:.45;cursor:pointer;transition:opacity .3s ease,transform .3s ease}.dot.is-active{opacity:1;transform:scale(1.35)}@media(max-width:1200px){:root{--stage-pad: 100px}}@media(orientation:portrait){.day-slide{flex-direction:column}.deck-nav{left:50%;transform:translate(-50%);bottom:10px}.carousel-thumbs{padding-bottom:68px}.nav-arrow{width:32px;height:32px}.day-left{flex:1 1 auto;order:1;justify-content:flex-start;padding:clamp(28px,6vw,64px);padding-top:clamp(36px,7vw,72px)}.day-right{flex:0 0 44%;order:2}.day-left{gap:clamp(10px,1.6vh,18px);overflow-y:hidden}.day-timeline{display:block;columns:2;column-gap:16px}.day-timeline li{grid-template-columns:3em 1fr;gap:7px;break-inside:avoid;margin-bottom:7px}.tl-time{font-size:.88rem}.tl-text{font-size:clamp(.78rem,2.6vw,.9rem);line-height:1.3}:root{--stage-pad: clamp(44px, 9vw, 100px)}.day-title{font-size:clamp(1.7rem,7vw,3.2rem)}.day-vibe{font-size:clamp(.82rem,3vw,1rem);line-height:1.4}.day-left{padding:clamp(20px,4.5vw,48px);padding-top:clamp(24px,5vw,56px)}.day-timeline{row-gap:6px;padding-top:10px}}@media(orientation:landscape)and (pointer:coarse){.day-left,.carousel-thumbs,.deck-nav,.carousel-frame figcaption{display:none}.day-right{position:absolute;top:0;right:0;bottom:0;left:0}.carousel-stage{position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.carousel-frame img{box-shadow:none}}
