/* Shared navigation addition and pre-launch campaign presentation. */
.site-nav [data-tombola-link]{color:var(--blue);font-weight:700}
/* A compact teaser on the homepage; the full prize story lives on its own page. */
.raffle-banner{display:grid;grid-template-columns:minmax(0,1fr) 14rem;gap:2rem;align-items:center;padding:1.35rem var(--shell);background:var(--lime);color:var(--ink);overflow:hidden}
.raffle-banner-copy{min-width:0}.raffle-badge{display:inline-block;font-size:.6875rem;letter-spacing:.08em;font-weight:750;line-height:1.6;padding:.35rem .75rem;background:white;color:var(--blue);border-radius:2rem}
.raffle-banner h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.04;letter-spacing:-.05em;font-weight:750;margin:.7rem 0 .5rem;color:var(--ink)}.raffle-banner h2 span{white-space:nowrap}.raffle-banner p{font-size:.875rem}.raffle-banner .button{min-height:2.75rem;margin-top:.9rem;font-size:.8125rem;padding:.65rem 1.1rem;gap:2rem}
.raffle-banner-art{position:relative;height:11.75rem;isolation:isolate}.raffle-banner-art::before{content:'';position:absolute;width:10rem;height:10rem;left:0;top:1rem;border-radius:50%;background:var(--pink);z-index:-1}.raffle-banner-art .banner-phone{position:absolute;left:1rem;top:-.75rem;height:13rem;width:9rem;object-fit:contain;transform:rotate(12deg)}.raffle-banner-art .banner-mascot{position:absolute;width:4.5rem;height:4.5rem;right:0;bottom:1.5rem;transform:rotate(12deg)}.banner-spark{position:absolute;left:-.5rem;top:.1rem;font-size:3rem;line-height:1;color:var(--blue)}
.tombola-page .raffle-hero{background:var(--sky);color:var(--blue);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:3rem;align-items:center;padding-top:2rem;padding-bottom:2.7rem;overflow:hidden}
.raffle-back{display:inline-block;font-size:.8125rem;color:var(--blue);margin-bottom:1.7rem;min-height:2rem}.raffle-copy>.eyebrow{color:var(--blue)}.raffle-copy h1{font-size:clamp(3rem,6.8vw,6.5rem);font-weight:750;line-height:.96;letter-spacing:-.065em;margin:1.4rem 0 1.5rem}.raffle-copy h1 span{color:var(--blue)}.raffle-copy>p:not(.eyebrow){line-height:1.65;font-size:1.0625rem;max-width:30rem;color:var(--ink)}.raffle-copy .button{margin-top:1.4rem}.raffle-copy .raffle-status{font-size:.75rem!important;color:var(--deep);margin-top:.8rem;max-width:28rem}
.raffle-visual{min-width:0}.prize-stage{height:460px;max-width:480px;margin:auto;display:flex;justify-content:center;align-items:center;position:relative;isolation:isolate;perspective:950px}
.prize-stage::before{content:'';position:absolute;width:85%;aspect-ratio:1;left:7.5%;top:11%;border-radius:50%;background:var(--pink);z-index:-1;transform:rotate(-12deg)}
.prize-party{position:absolute;inset:0;pointer-events:none}.prize-wow{position:absolute;top:0;left:0;display:grid;place-items:center;width:7.5rem;height:7.5rem;background:var(--lime);color:var(--ink);font-size:1.5rem;font-weight:800;letter-spacing:-.05em;clip-path:polygon(50% 0,61% 16%,79% 5%,81% 27%,100% 28%,90% 48%,100% 65%,80% 71%,78% 93%,59% 85%,44% 100%,34% 82%,12% 90%,16% 66%,0 55%,17% 42%,9% 20%,33% 22%);transform:rotate(-13deg)}.prize-party img{position:absolute;object-fit:contain}.prize-mii{left:-.5rem;bottom:.5rem;width:6.5rem;height:9rem;transform:rotate(-15deg)}.prize-bloom{right:-.4rem;top:2.5rem;width:6.5rem;height:6.5rem;transform:rotate(17deg)}.prize-spark{position:absolute;color:var(--blue);font-size:2.7rem;line-height:1}.spark-one{right:1.5rem;bottom:1rem;transform:rotate(12deg)}.spark-two{left:3rem;top:43%;font-size:1.6rem}
.prize-object{position:relative;z-index:1;display:block;width:80%;max-width:350px;height:100%;padding:0;border:0;border-radius:20px;background:transparent;transform-style:preserve-3d;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}.prize-object:disabled{cursor:default}.prize-float,.prize-tilt{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d}.prize-tilt{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform 180ms ease-out}.prize-image{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 20px 18px #001f7045)}
.prize-sheen{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(112deg,transparent 35%,#ffffff10 43%,#ffffffd9 49%,#ffffff45 54%,transparent 63%);background-size:260% 100%;background-position:150% 0;opacity:0;mask:url('/tombola/iphone-prize.png') center/contain no-repeat;-webkit-mask:url('/tombola/iphone-prize.png') center/contain no-repeat;mix-blend-mode:screen}
.raffle-caption{text-align:center;font-size:.75rem;color:var(--deep);line-height:1.5;margin-top:1rem}
.raffle-steps{display:grid;grid-template-columns:1fr 1.15fr;gap:5rem;padding-top:4rem;padding-bottom:4rem}.raffle-steps h2,.raffle-opening h2{font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.05;letter-spacing:-.045em;margin:1rem 0}.raffle-steps ol{list-style:none;margin:0;padding:0}.raffle-steps li{display:grid;grid-template-columns:2.5rem 1fr;gap:.7rem;padding:1.3rem 0;border-top:1px solid var(--line)}.raffle-steps li>span{color:var(--blue);font-size:.8125rem;font-weight:700;padding-top:.2rem}.raffle-steps h3{font-size:1.3rem;letter-spacing:-.035em;margin-bottom:.45rem}.raffle-steps p{color:var(--muted);font-size:.9375rem;max-width:30rem}.raffle-opening{background:var(--sky);display:flex;justify-content:space-between;align-items:center;gap:3rem;padding-top:3rem;padding-bottom:3rem}.raffle-opening p{max-width:34rem;color:var(--deep);font-size:.9375rem;line-height:1.7;margin:.8rem 0}.raffle-opening .button{flex-shrink:0}
@media(prefers-reduced-motion:no-preference){.motion-ready .prize-float{animation:prize-hover 7s ease-in-out infinite;animation-play-state:paused}.motion-running .prize-float{animation-play-state:running}.motion-running .prize-tilt{will-change:transform}.motion-running.is-sparkling .prize-sheen{animation:prize-glint 1.15s ease-out both}}
@keyframes prize-hover{0%,100%{transform:translate3d(0,3px,0) rotateZ(-2deg) rotateY(-7deg) scale(.95)}50%{transform:translate3d(0,-9px,9px) rotateZ(3deg) rotateY(7deg) scale(.99)}}@keyframes prize-glint{0%{opacity:0;background-position:150% 0}22%{opacity:.65}80%{opacity:.5}100%{opacity:0;background-position:-70% 0}}
@media(max-width:1050px){.site-nav{gap:.9rem}.raffle-banner{gap:1rem}.raffle-steps{gap:2.5rem}.prize-stage{height:390px}.prize-wow{width:6rem;height:6rem;font-size:1.2rem}.prize-mii{width:5rem;height:7rem}.prize-bloom{width:5rem;height:5rem}}
@media(max-width:780px){.site-nav{flex-wrap:nowrap;gap:.7rem;overflow-x:auto;justify-content:space-between;scrollbar-width:thin}.site-nav a{white-space:nowrap;flex-shrink:0}.raffle-banner{grid-template-columns:minmax(0,1fr) 6.8rem;padding:1.25rem;gap:.7rem}.raffle-banner h2{font-size:clamp(1.65rem,5.8vw,2.4rem);line-height:1.08}.raffle-banner h2 span{white-space:normal}.raffle-banner .raffle-badge{font-size:.5625rem;letter-spacing:.055em;padding:.3rem .5rem}.raffle-banner p{font-size:.75rem;max-width:15rem}.raffle-banner .button{font-size:.75rem;padding:.55rem .85rem;gap:1.3rem;margin-top:.75rem}.raffle-banner-art{height:10rem}.raffle-banner-art::before{width:7rem;height:7rem;left:-.8rem;top:1.8rem}.raffle-banner-art .banner-phone{left:-.8rem;top:0;width:6.5rem;height:10rem}.raffle-banner-art .banner-mascot{width:3rem;height:3rem;right:-.3rem;bottom:.1rem}.banner-spark{left:-.8rem;font-size:2rem;top:.5rem}
.tombola-page .raffle-hero{grid-template-columns:1fr;gap:1rem;padding:1.3rem 1.25rem 2rem}.raffle-back{margin-bottom:.7rem}.raffle-copy h1{font-size:clamp(2.75rem,11vw,4.3rem);margin:1rem 0}.raffle-copy>p:not(.eyebrow){font-size:.9375rem}.raffle-copy>p br{display:none}.prize-stage{height:260px;max-width:290px;margin-top:.25rem}.prize-wow{left:1rem;top:.5rem}.prize-mii{left:.5rem;bottom:0}.prize-bloom{right:.5rem;top:3rem}.spark-one{right:2rem;bottom:.5rem}.raffle-caption{margin-top:.9rem}.raffle-steps{grid-template-columns:1fr;gap:1.5rem;padding:2.5rem 1.25rem}.raffle-steps h2{font-size:2.6rem}.raffle-steps h2 br{display:none}.raffle-opening{display:block;padding:2rem 1.25rem}.raffle-opening .button{margin-top:1rem}.raffle-steps h3{font-size:1.15rem}}
@media(max-width:360px){.raffle-banner{padding:1rem;grid-template-columns:minmax(0,1fr) 5rem;gap:.5rem}.raffle-banner h2{font-size:1.65rem}.raffle-banner-art .banner-phone{width:5.5rem;left:0}.raffle-banner-art::before{width:6rem;height:6rem;left:0}.raffle-banner-art .banner-mascot{width:2.5rem;height:2.5rem}.raffle-banner .raffle-badge{font-size:.5rem}.raffle-copy h1{font-size:3rem}.prize-stage{height:240px}.prize-wow{width:5rem;height:5rem;font-size:1rem}.prize-mii{width:4.5rem;height:6rem}.prize-bloom{width:4.5rem;height:4.5rem}}
@media(prefers-reduced-motion:reduce){.prize-float,.prize-tilt,.prize-sheen{animation:none!important;transition:none!important}.prize-tilt{transform:none}.prize-sheen{display:none!important}}
