/* Public campaign: coastal light, translucent surfaces, and readable rewards. */
:root{--bg:#031e27;--panel:#082e38;--green:#d4eb98;--text:#f8f4e8;--muted:#bfced0;--line:#acd4d129;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body{background:radial-gradient(ellipse at 15% 50%,#0c55554d,transparent 48%),var(--bg)}
.wrap{max-width:1170px}
.site-header{position:relative;z-index:2;padding-block:23px;border-color:#d8e8dc26;background:#03202ab3}
.brand{letter-spacing:.035em}.brand span{font-size:10px;letter-spacing:.17em}.site-header nav{font-size:13px}.nav-play{border-color:#d1deb744;transition:border-color .2s,background .2s}.nav-play:hover{background:#d4eb9810;border-color:#d4eb98}
.eyebrow{font-size:11px;letter-spacing:.18em;line-height:1.7;color:#dfdda8}
.beach-intro{isolation:isolate;position:relative;overflow:hidden;background:linear-gradient(180deg,#031d2a12 0%,#031e275e 45%,#031e27 100%),url('/luau-background.webp') center top/100% auto no-repeat}
.beach-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 24%,#003d4826,transparent 53%);pointer-events:none;z-index:-1}
.beach-content{position:relative;z-index:1;display:block;text-align:center;padding-block:48px 32px}
.beach-copy{max-width:730px;margin:auto;text-shadow:0 2px 22px #001824}
.beach-copy>.eyebrow{margin:0 0 20px}
.beach-logo{width:min(100%,360px);margin:0 auto 24px;border-radius:22px;box-shadow:0 22px 70px #001c2270;border:1px solid #ffecb631}
.beach-copy h1{font-size:clamp(38px,5.5vw,65px);letter-spacing:-.055em;line-height:1.09;margin:28px 0 19px}
.beach-copy h1 em{color:#e6d28a}
.beach-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#e5e9df;margin-bottom:20px}
.primary{position:relative;overflow:hidden;gap:30px;min-height:54px;padding:15px 24px;background:linear-gradient(135deg,#e5f4b3,#bad777);border:1px solid #f0ffd0b3;border-radius:14px;color:#173e2c;box-shadow:0 8px 34px #b6d47422;font-size:16px;transition:transform .2s,box-shadow .2s}
.primary:hover{background:linear-gradient(135deg,#efffca,#cce78d);transform:translateY(-2px);box-shadow:0 10px 36px #c2e48b33}.primary:active{transform:translateY(0)}
.beach-secondary{display:block;width:fit-content;margin:20px auto 0;padding:8px 0;color:#edf1e7;font-size:14px;border-bottom:1px solid #d6e9de60}.beach-secondary span{margin-left:12px}
/* Large, slow bands catch the light like water; never intercept controls. */
.water-reflection{position:absolute;z-index:0;inset:280px -15% auto;height:520px;pointer-events:none;overflow:hidden;opacity:.5;mask-image:linear-gradient(transparent,#000 25%,#000 65%,transparent)}
.water-reflection i{position:absolute;inset:18% -20%;border-radius:50%;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 23px,#93e5da40 25px 26px,transparent 30px 48px);transform:perspective(500px) rotateX(65deg) scale(1.25);filter:blur(1.3px);animation:water-light 16s ease-in-out infinite alternate}
.water-reflection i:nth-child(2){opacity:.35;inset:30% -10%;animation-delay:-7s;animation-duration:21s;background:repeating-radial-gradient(ellipse at 55% 40%,transparent 0 32px,#ffe0a16b 34px 35px,transparent 38px 68px)}
.water-reflection i:nth-child(3){opacity:.25;inset:5% 10%;animation-delay:-12s;animation-duration:24s}
@keyframes water-light{from{transform:perspective(500px) rotateX(66deg) translateX(-3%) scale(1.15);opacity:.45}to{transform:perspective(500px) rotateX(69deg) translateX(3%) scale(1.32);opacity:.85}}
.sponsors-top{position:relative;z-index:1;text-align:center;max-width:990px;margin:15px auto 0;padding-block:22px 24px;border-block:1px solid #ddebd329;background:linear-gradient(110deg,#afdcd40d,#daeec708,#7dc2c60d);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.sponsors-top .eyebrow{font-size:10px;margin:0 0 16px;color:#d8e4d3}
.sponsor-list{display:flex;flex-wrap:wrap;gap:18px 22px;justify-content:center;align-items:start;margin:auto}
.sponsor-tile{flex:0 0 84px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;border-radius:12px}
.sponsor-orb{width:58px;height:58px;display:grid;place-items:center;padding:9px;border-radius:50%;background:#fffdf4;border:1px solid #e6f0d6;box-shadow:0 5px 15px #001c2766;transition:transform .2s,box-shadow .2s}
.sponsor-orb img{width:100%;height:100%;object-fit:contain;min-width:0;min-height:0}.sponsor-name{font-size:11px;line-height:1.35;text-align:center;color:#e2e9df;overflow-wrap:anywhere}
a.sponsor-tile:hover .sponsor-orb{transform:translateY(-3px);box-shadow:0 10px 24px #8ec9b029}
.campaign{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px;padding-block:68px 75px}
.campaign-copy{max-width:480px}.campaign h2{font-size:clamp(35px,4.5vw,56px);line-height:1.09;margin:15px 0 23px}.campaign h2 em{font-style:normal;color:#d9e895}
.campaign-intro{font-size:16px;line-height:1.8;color:#cfddd7;margin:0 0 27px}
.prize-panel{position:relative;padding:25px 28px 24px;border:1px solid #e5eab841;border-radius:22px;background:linear-gradient(140deg,#ecf7d414,#84d6c807 60%,#aadba113);box-shadow:inset 0 1px 0 #f9ffd11c,0 24px 55px #00171e40;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.prize-caption{display:flex;flex-wrap:wrap;gap:9px 16px;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.08em;font-weight:700;color:#f2e5b2;margin:0 0 20px}.prize-caption span{font-size:9px;font-weight:500;border:1px solid #d6e6cf30;border-radius:20px;padding:5px 8px;color:#d3decf}
.prize-place,.other-prizes span{font-size:11px;letter-spacing:.14em;color:#e1ddac;font-weight:600}.first-prize p{font-size:clamp(75px,8vw,112px);font-weight:760;line-height:1;letter-spacing:-.06em;margin:8px 0 23px;color:#ecf3b0;text-shadow:0 5px 32px #d7ec7220;font-variant-numeric:tabular-nums}.first-prize small{font-size:.34em;letter-spacing:-.03em}
.other-prizes{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:20px;border-top:1px solid #d8e4c625}.other-prizes p{margin:0}.other-prizes span{display:block;color:#c7d8d0}.other-prizes strong{display:block;margin-top:7px;font-size:29px;letter-spacing:-.035em;font-weight:650;color:#f0f3e5}
.prize-note{font-size:12px;line-height:1.65;color:#c2d2ca;margin:22px 0 4px}.prize-panel .text-link{font-size:12px;padding-block:6px}.text-link{font-size:14px;color:#e2e8b5;border-color:#dbe6b36b}
.sticker-invitation{font-size:13px;line-height:1.65;color:#bdced0;margin-top:22px}
.hero-sticker{width:min(100%,325px);margin:0;justify-self:center}.hero-sticker img{border-radius:18px;box-shadow:0 26px 70px #00161e66;transition:transform .3s;filter:none}.hero-sticker a:hover img{transform:translateY(-4px)}
.hero-sticker figcaption{color:#c5d3ca;font-size:10px;letter-spacing:.08em;margin-top:17px;line-height:1.8}.hero-sticker figcaption a{display:inline-block;font-size:12px;letter-spacing:0;color:#e0eab9;margin-top:5px;text-decoration:none;border-bottom:1px solid #d0ddb155}
.hero{grid-template-columns:1.1fr 1fr;gap:75px;padding-block:85px;border-top:1px solid var(--line)}.hero-copy{text-align:left}.hero h2{font-size:clamp(38px,4.6vw,62px);line-height:1.06}.hero .intro{font-size:17px;line-height:1.8;color:#b9d0cc}.hero-note{font-size:12px;margin-top:18px}
.hero .hero-artwork{grid-template-columns:1fr;width:100%;max-width:310px;justify-self:center;position:relative}.hero-artwork:before{content:"";position:absolute;inset:9% -25%;border-radius:50%;background:radial-gradient(ellipse,#93d4ad21,transparent 66%);pointer-events:none}
.game-showcase{position:relative;transform:rotate(-2deg)}.game-frame{border:3px solid #bdd59a88;border-radius:22px;box-shadow:0 30px 65px #0006,0 0 0 8px #acd8b406}.game-showcase figcaption{font-size:11px;transform:rotate(2deg);line-height:1.8;margin-top:22px}
#gameplay-motion{font:inherit;min-height:44px;padding:10px 15px;margin-top:10px;color:#e0eac1;background:#b5d8aa0e;border:1px solid #a3c9b547;border-radius:24px;cursor:pointer}#gameplay-motion:focus-visible{outline:2px solid #d4eb98;outline-offset:4px}
.how{padding-block:65px 75px}.section-heading .eyebrow{max-width:230px}.section-heading h2{margin-top:0;max-width:460px}.steps{gap:36px;margin-top:25px}.step{font-size:20px;font-weight:300;color:#dcecb1;padding-top:20px}.steps h3{font-size:20px}.steps p{font-size:15px;line-height:1.8}
.download{position:relative;overflow:hidden;gap:65px;padding:44px;border-radius:26px;background:radial-gradient(ellipse at 0 100%,#9bcb8521,transparent 64%),linear-gradient(110deg,#c8e8d10d,#83ced10b);border:1px solid #d4e7c531;box-shadow:inset 0 1px 0 #fffbe112,0 20px 50px #00151e33;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.download h2{font-size:clamp(32px,3.7vw,43px)}.download p{font-size:15px;line-height:1.8}.store-list{min-width:0;gap:13px}.store{display:flex;align-items:center;justify-content:flex-start;gap:15px;min-height:88px;padding:17px 20px;background:#05232bb3;border:1px solid #c1d9c940;border-radius:15px;box-shadow:inset 0 1px 0 #f3ffe708;transition:border-color .2s,background .2s}.store[href]:hover{border-color:#d4eb98;background:#113c3b}
.store-icon{flex:0 0 32px;width:32px;height:36px;object-fit:contain}.store-label{min-width:0;font-size:9px;letter-spacing:.13em;color:#c8d6d0}.store strong{font-size:22px;letter-spacing:-.025em;margin-top:5px;color:#fbfff2;white-space:nowrap}.store .badge,.store-arrow{margin-left:auto;flex-shrink:0}.badge{font-size:10px;border:1px solid #d5e2ac26;color:#dce6be;background:#c5de9b10;padding:7px 9px}.download .availability{font-size:12px;line-height:1.7;color:#bfceca;margin-top:3px}
.community{gap:65px;padding-block:80px}.community img{border:1px solid #d2dfb129;border-radius:22px;box-shadow:0 20px 55px #001c2770}.community p{font-size:15px;line-height:1.8}.community h2{font-size:clamp(32px,3.8vw,46px)}footer{padding-block:35px}.footer-top p,footer nav{font-size:13px}.business{font-size:11px}footer nav a{padding-block:5px}
@media(min-width:1400px){.beach-intro{background-size:100% auto}}
@media(max-width:960px){.campaign{gap:38px}.prize-panel{padding:23px}.hero{gap:42px}.download{gap:32px;margin-inline:24px}.store{padding-inline:15px;gap:12px}}
@media(max-width:760px){.wrap{padding-inline:24px}.site-header{padding-block:20px}.brand{font-size:13px}.brand span{font-size:9px}.site-header nav{font-size:12px}.beach-intro{background-size:auto 970px;background-position:57% top}.beach-content{padding-block:32px 22px}.beach-copy>.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:16px}.beach-logo{width:260px;max-width:100%;border-radius:18px;margin-bottom:23px}.beach-copy h1{font-size:clamp(34px,8.6vw,54px);margin:23px 0 16px}.beach-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}.water-reflection{inset:250px -45% auto;height:400px;opacity:.36}.beach-secondary{font-size:13px}.sponsors-top{margin:14px 16px 0;padding:19px 10px 21px;border-radius:16px;border:1px solid #ddebd326}.sponsor-list{gap:17px 13px}.sponsor-tile{flex-basis:70px}.sponsor-orb{width:52px;height:52px;padding:8px}.sponsor-name{font-size:10px}.campaign{grid-template-columns:1fr;gap:33px;padding-block:44px 45px;text-align:center}.campaign-copy{max-width:430px;margin:auto;width:100%}.campaign h2{font-size:39px}.campaign-intro{font-size:15px;margin-bottom:22px}.campaign .eyebrow{font-size:9px;letter-spacing:.13em}.prize-panel{text-align:left;padding:23px 25px}.first-prize p{font-size:88px}.prize-caption{font-size:10px;gap:8px}.prize-caption span{font-size:8px}.sticker-invitation{margin-bottom:0}.hero-sticker{width:min(100%,320px)}.hero-sticker figcaption{font-size:9px}.hero{grid-template-columns:1fr;padding-block:49px;gap:35px}.hero-copy{text-align:center}.hero h2{font-size:42px;line-height:1.08}.hero h2 br{display:none}.hero .intro{font-size:15px;margin:20px auto}.hero .hero-artwork{width:min(100%,280px)}.how{padding-block:42px 48px}.section-heading{display:block}.section-heading h2{font-size:32px;margin:16px 0 27px}.steps{gap:18px}.steps h3{font-size:19px;margin-top:15px}.steps p{font-size:14px}.step{font-size:20px}.download{grid-template-columns:1fr;gap:20px;margin-inline:16px;padding:28px 22px;border-radius:22px}.download h2{font-size:33px}.download p{font-size:14px}.store{min-height:83px;padding:16px;gap:12px}.store strong{font-size:21px}.store-icon{width:28px;flex-basis:28px}.store .badge{font-size:9px;padding:6px 8px}.community{grid-template-columns:1fr;gap:28px;padding-block:50px}.community img{max-width:410px;justify-self:center}.community h2{font-size:35px}.community p{font-size:14px}footer nav{font-size:12px}.footer-top{display:block}.primary{font-size:15px;min-height:52px}}
@media(max-width:350px){.wrap{padding-inline:19px}.beach-copy h1{font-size:31px}.beach-logo{width:235px}.brand{font-size:12px}.nav-play{font-size:10px;padding:10px}.prize-panel{padding:21px}.store{gap:9px;padding:14px 12px}.store strong{font-size:19px}.store-icon{flex-basis:25px;width:25px}.download{padding-inline:16px}.prize-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.water-reflection i{animation:none}.water-reflection{opacity:.2}a,.primary,.sponsor-orb,.hero-sticker img{transition:none!important}.primary:hover,a.sponsor-tile:hover .sponsor-orb,.hero-sticker a:hover img{transform:none}}
