:root{--forest: #24483F;--forest-dark: #193A33;--pacific: #4F7880;--cream: #F6F0E6;--sand: #DCCDB8;--tomato: #C95A45;--cheese: #D99A3D;--text: #28312F;--muted: #6F7975;--light-border: #E5DED3;--white: #FFFFFF;--soft-green: #EDF2EE;--soft-blue: #EDF3F3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Nunito Sans,Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.page{min-height:100vh;overflow-x:hidden}.hero{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:55px 0 80px}.pizza-logo{display:flex;justify-content:center;align-items:center}.pizza-logo img{display:block;width:min(300px,70vw);height:auto}.tagline{margin:16px 0 38px;text-align:center;color:var(--muted);font-size:1rem;font-weight:700;letter-spacing:.02em}.tracker-card{background:var(--white);border:1px solid var(--light-border);border-radius:28px;padding:28px 32px 32px;box-shadow:0 18px 45px #24483f14}.tracker-header{display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--forest);font-size:.78rem;font-weight:900;letter-spacing:.12em}.order-number{color:var(--muted);letter-spacing:.04em}.progress-area{position:relative;margin-top:55px}.progress-line{position:absolute;top:25px;left:10%;width:80%;height:6px;overflow:hidden;border-radius:999px;background:var(--light-border)}.progress-fill{height:100%;border-radius:inherit;background:var(--forest);transition:width 1.5s ease}.stages{position:relative;display:grid;grid-template-columns:repeat(5,1fr)}.stage{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0}.stage-icon{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;width:56px;height:56px;border:3px solid var(--light-border);border-radius:50%;background:var(--white);font-size:1.55rem;transition:all .35s ease}.stage.completed .stage-icon{border-color:var(--forest);background:var(--forest);color:var(--white)}.stage.active .stage-icon{border:3px solid var(--forest);background:var(--forest);color:var(--white);box-shadow:0 0 0 7px #24483f1f;animation:pulseStage 1.7s infinite}.stage-title{margin-top:13px;text-align:center;color:var(--muted);font-size:.8rem;font-weight:900;line-height:1.25}.stage.completed .stage-title,.stage.active .stage-title{color:var(--forest)}.current-pizza{position:absolute;z-index:3;top:-68px;font-size:2rem}.status-message{display:flex;align-items:center;gap:18px;margin-top:48px;padding:24px;border-radius:20px;background:var(--soft-green)}.status-icon{display:flex;justify-content:center;align-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:16px;background:var(--white);font-size:1.8rem}.status-message h2{margin:0 0 5px;color:var(--forest);font-family:"DM Serif Display",Georgia,serif;font-size:1.65rem}.status-message p{margin:0;color:var(--muted);line-height:1.5}.good-luck-wall{margin-top:70px;padding:38px;border-radius:28px;background:var(--white);border:1px solid var(--light-border);box-shadow:0 18px 45px #24483f12}.wall-header{text-align:center}.wall-icon{font-size:2.1rem}.wall-header h2{margin:8px 0;color:var(--forest);font-family:"DM Serif Display",Georgia,serif;font-size:2.15rem}.wall-header p{max-width:620px;margin:0 auto;color:var(--muted);line-height:1.6}.wall-carousel{margin-top:30px}.wall-slide-area{touch-action:pan-y}.wall-slide{max-width:650px;margin:0 auto;animation:wallFade .45s ease}.wall-photo-wrapper{display:flex;justify-content:center;margin-bottom:18px}.wall-photo{display:block;width:min(100%,520px);max-height:420px;object-fit:cover;border-radius:20px;box-shadow:0 12px 28px #24483f1f}.wall-message{padding:24px;border-radius:20px;background:var(--soft-blue);text-align:center}.wall-message.standalone{margin-top:10px}.message-name{margin-bottom:8px;color:var(--forest);font-weight:900;font-size:1rem}.message-text{color:var(--text);line-height:1.65;white-space:pre-wrap}.empty-wall{padding:45px 20px;border-radius:20px;background:var(--soft-blue);text-align:center}.empty-wall>div{font-size:2.5rem}.empty-wall h3{margin:12px 0 6px;color:var(--forest);font-family:"DM Serif Display",Georgia,serif;font-size:1.7rem}.empty-wall p{margin:0;color:var(--muted)}.wall-navigation{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:20px}.carousel-button{display:flex;justify-content:center;align-items:center;width:42px;height:42px;border:1px solid var(--light-border);border-radius:50%;background:var(--white);color:var(--forest);font-size:1.1rem;font-weight:900;transition:all .2s ease}.carousel-button:hover{background:var(--soft-green);transform:translateY(-1px)}.wall-dots{display:flex;align-items:center;gap:7px}.wall-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--sand)}.wall-dot.active{background:var(--forest);transform:scale(1.3)}.wall-counter{margin-top:10px;text-align:center;color:var(--muted);font-size:.78rem;font-weight:800}.good-luck-form{max-width:650px;margin:60px auto 0;padding-top:30px;border-top:1px solid var(--light-border)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--forest);font-size:.9rem;font-weight:900}.form-group label span{color:var(--muted);font-weight:600}.form-group input,.form-group textarea{width:100%;border:1px solid var(--light-border);border-radius:14px;outline:none;background:var(--cream);color:var(--text);padding:13px 15px;transition:border-color .2s ease,box-shadow .2s ease}.form-group textarea{resize:vertical;min-height:120px}.form-group input:focus,.form-group textarea:focus{border-color:var(--pacific);box-shadow:0 0 0 4px #4f78801a}.form-group input[type=file]{padding:10px}.character-count{margin-top:5px;text-align:right;color:var(--muted);font-size:.75rem}.good-luck-form>button{width:100%;padding:15px 20px;border:0;border-radius:14px;background:var(--forest);color:var(--white);font-weight:900;transition:all .2s ease}.good-luck-form>button:hover{background:var(--forest-dark);transform:translateY(-1px)}.good-luck-form>button:disabled{opacity:.65;cursor:not-allowed;transform:none}.submit-message{margin:15px 0 0;text-align:center;color:var(--forest);font-weight:800}.confetti-container{position:fixed;z-index:999;inset:0;pointer-events:none;overflow:hidden}.confetti{position:absolute;top:-60px;animation-name:fall;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes pulseStage{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes wallFade{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes fall{0%{transform:translateY(-60px) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(360deg);opacity:0}}@media(max-width:700px){.hero{width:min(100% - 20px,1100px);padding:35px 0 55px}.tracker-card{padding:22px 14px 24px;border-radius:22px}.tracker-header{font-size:.68rem}.progress-area{margin-top:48px}.progress-line{top:21px;left:10%;width:80%;height:5px}.stage-icon{width:44px;height:44px;border-width:2px;font-size:1.2rem}.stage.completed .stage-icon{border-color:var(--forest);background:var(--forest);color:var(--white)}.stage.active .stage-icon{border:2px solid var(--forest);background:var(--forest);color:var(--white);box-shadow:0 0 0 6px #24483f1f}.stage-title{margin-top:10px;font-size:.68rem}.current-pizza{top:-57px;font-size:1.55rem}.status-message{margin-top:40px;padding:18px;gap:12px}.status-icon{flex-basis:48px;width:48px;height:48px;border-radius:13px;font-size:1.45rem}.status-message h2{font-size:1.35rem}.status-message p{font-size:.9rem}.good-luck-wall{margin-top:55px;padding:24px 16px;border-radius:22px}.wall-header h2{font-size:1.8rem}.good-luck-form{margin-top:40px;padding-top:24px}}
