:root{--coffee:#4b2514;--coffee-2:#6b351c;--gold:#d99b39;--cream:#fff8ed;--paper:#fffdf8;--ink:#2d211b;--muted:#7b6a61;--line:#eadbc9;--green:#487a52;--danger:#a83d32;--shadow:0 18px 50px rgba(72,38,18,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f8ecdc 0,#fffaf3 38%,#f5eadc 100%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.screen{display:none;min-height:100vh}.screen.active{display:block}.app-shell{max-width:760px;min-height:100vh;margin:auto;background:var(--paper);box-shadow:0 0 70px rgba(56,29,14,.15)}.state-screen{padding:15vh 28px;text-align:center}.state-screen.active{display:flex;flex-direction:column;align-items:center;justify-content:center}.state-screen h1{font-family:Georgia,serif;font-size:32px;margin:22px 0 8px}.state-screen p{color:var(--muted)}.spinner{width:54px;height:54px;border:5px solid #ead8c2;border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.state-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#f7ddd8;color:var(--danger);font-size:36px;font-weight:800}.welcome-screen.active{display:block}.welcome-hero,.success-hero{min-height:78vh;position:relative;background-image:url('/assets/branch-teno.jpg');background-size:cover;background-position:center;display:flex;flex-direction:column;padding:24px}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,13,6,.28),rgba(40,18,7,.45) 40%,rgba(35,15,6,.91))}.hero-topbar,.welcome-copy,.success-copy,.success-hero>.logo{position:relative;z-index:1}.hero-topbar{display:flex;align-items:center;justify-content:space-between}.logo{width:112px;filter:drop-shadow(0 5px 14px rgba(0,0,0,.28))}.branch-pill{background:rgba(255,255,255,.92);color:var(--coffee);border-radius:999px;padding:10px 15px;font-weight:800;font-size:13px}.welcome-copy{margin-top:auto;color:white;padding:34px 2px 26px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:900;color:#f4c978}.welcome-copy h1,.success-copy h1{font-family:Georgia,serif;font-size:clamp(43px,11vw,70px);line-height:.96;margin:14px 0 18px;max-width:600px}.welcome-copy p{font-size:18px;line-height:1.5;max-width:530px;color:#fff5e9}.welcome-copy small{display:block;text-align:center;margin-top:13px;color:#ead8c8}.primary-button{width:100%;border:0;border-radius:17px;background:linear-gradient(135deg,var(--gold),#bb7725);color:#fff;padding:18px 22px;font-size:17px;font-weight:900;box-shadow:0 12px 28px rgba(163,101,31,.3);cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px}.primary-button:disabled{opacity:.58;cursor:not-allowed}.product-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:8px;background:var(--paper)}.product-strip img{width:100%;height:110px;object-fit:cover;border-radius:13px}.survey-screen{padding-bottom:40px}.survey-top{display:flex;align-items:center;gap:15px;background:var(--coffee);color:#fff;padding:16px 20px;position:sticky;top:0;z-index:4;box-shadow:0 8px 24px rgba(56,25,11,.18)}.survey-logo{width:76px}.survey-top div{display:flex;flex-direction:column}.survey-top strong{font-size:15px}.survey-top span{font-size:12px;color:#e8d7c9}.progress-wrap{padding:18px 20px 2px}.progress-copy{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:800}.progress-track{height:7px;background:#eadfce;border-radius:99px;margin-top:8px;overflow:hidden}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),#c57928);transition:width .35s ease}.survey-screen form{padding:18px 18px 0}.intro-card{padding:8px 4px 18px}.intro-card span{font-size:12px;font-weight:900;color:var(--gold);letter-spacing:.1em;text-transform:uppercase}.intro-card h2{font-family:Georgia,serif;font-size:34px;margin:6px 0}.intro-card p{color:var(--muted);margin:0}.rating-list{display:grid;gap:14px}.rating-card,.form-card,.raffle-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 8px 24px rgba(75,37,20,.06)}.rating-card.answered{border-color:#e3b86c;box-shadow:0 9px 25px rgba(196,129,37,.12)}.question-head{display:flex;gap:13px;align-items:flex-start}.question-number{font-size:12px;font-weight:900;color:var(--gold);letter-spacing:.08em}.question-head h3,.form-card h3,.raffle-card h3{margin:0 0 4px;font-size:18px}.question-head p,.raffle-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}.stars{display:flex;justify-content:space-between;gap:6px;margin-top:18px}.star{border:0;background:transparent;color:#ddcfbf;font-size:39px;line-height:1;padding:0;cursor:pointer;transition:transform .15s,color .2s}.star:hover,.star.selected{color:#e4a13d;transform:scale(1.08)}.rating-label{display:block;min-height:20px;text-align:center;margin-top:8px;font-size:13px;font-weight:800;color:var(--coffee-2)}.photo-card{padding:0;overflow:hidden}.photo-card>img{width:100%;height:175px;object-fit:cover}.photo-card-content{padding:20px}.availability-card{margin-top:14px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.choice{border:1px solid var(--line);background:#fff9f0;border-radius:15px;padding:14px 6px;font-weight:800;color:var(--coffee);cursor:pointer}.choice span{display:block;font-size:24px;margin-bottom:4px}.choice.active{background:var(--coffee);color:#fff;border-color:var(--coffee)}.form-card{margin-top:14px}.form-card label{display:block;font-weight:850;margin:0 0 8px}.form-card label:not(:first-child){margin-top:18px}.optional{font-weight:500;color:var(--muted);font-size:12px}.form-card select,.form-card textarea,.form-card input{width:100%;border:1px solid var(--line);border-radius:13px;background:#fffcf7;padding:14px;font:inherit;color:var(--ink);outline:none}.form-card textarea{min-height:120px;resize:vertical}.form-card select:focus,.form-card textarea:focus,.form-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,155,57,.15)}.counter{text-align:right;color:var(--muted);font-size:12px;margin-top:6px}.raffle-card{margin-top:14px;background:linear-gradient(135deg,#fff8e8,#f9e4b9);display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border-color:#ebc675}.gift-orb{width:54px;height:54px;border-radius:16px;background:#fff;display:grid;place-items:center;font-size:29px}.raffle-card .eyebrow{color:#9f651d}.toggle-row{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding-top:10px;cursor:pointer}.toggle-row input{position:absolute;opacity:0}.toggle{width:50px;height:29px;border-radius:99px;background:#d2c2ad;position:relative;transition:.2s}.toggle:after{content:"";position:absolute;width:23px;height:23px;top:3px;left:3px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 2px 6px rgba(0,0,0,.22)}.toggle-row input:checked+.toggle{background:var(--green)}.toggle-row input:checked+.toggle:after{transform:translateX(21px)}.contact-fields small{display:block;margin-top:12px;color:var(--muted)}.submit-button{margin-top:18px}.privacy-note{text-align:center;color:var(--muted);font-size:12px}.form-error{background:#fae7e4;color:var(--danger);border-radius:12px;padding:12px;text-align:center;font-weight:700}.hidden{display:none!important}.success-screen.active{display:block}.success-hero{min-height:100vh;justify-content:center;align-items:center;text-align:center;background-image:url('/assets/product-cake.jpg');color:white}.success-hero>.logo{position:absolute;top:28px;left:50%;transform:translateX(-50%);width:115px}.success-copy{max-width:560px}.success-check{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-size:42px;font-weight:900;margin:0 auto 24px;box-shadow:0 14px 30px rgba(0,0,0,.25)}.success-copy p{font-size:19px;line-height:1.5;color:#fff7ed}.success-copy span{color:#eecf9e}@media(min-width:761px){body{padding:28px 0}.app-shell{border-radius:28px;overflow:hidden}.welcome-hero{min-height:690px}.survey-screen{padding-bottom:60px}.product-strip img{height:150px}}@media(max-width:430px){.welcome-hero{min-height:82vh}.welcome-copy h1{font-size:44px}.survey-screen form{padding:16px 13px}.rating-card,.form-card,.raffle-card{border-radius:18px;padding:17px}.photo-card{padding:0}.photo-card-content{padding:17px}.star{font-size:34px}.choices{grid-template-columns:1fr}.choice span{display:inline;margin:0 7px 0 0}}
