:root{--brown:#84300a;--brown-dark:#5e2006;--gold:#f5a800;--teal:#0f8a7e;--rust:#b5371b;--cream:#fbf6ee;--ink:#2b1a10}body{font-family:Poppins,sans-serif;background:var(--cream);color:var(--ink)}html{scroll-behavior:smooth}.pattern-strip{height:14px;background:repeating-linear-gradient(45deg,transparent 0 8px,rgba(0,0,0,.25) 8px 10px),repeating-linear-gradient(90deg,var(--gold) 0 40px,var(--ink) 40px 52px,var(--rust) 52px 92px,var(--cream) 92px 100px,var(--teal) 100px 140px,var(--ink) 140px 152px)}.hero{background:radial-gradient(ellipse at top,#9a3a0e 0,var(--brown) 55%,var(--brown-dark) 100%);color:#fff}.hero-inner{padding:1.75rem 1rem 2rem}.hero-logo{width:min(340px,80%);height:auto;border-radius:18px}.hero-tagline{font-size:clamp(1rem, 2vw, 1.25rem);font-weight:300;font-style:italic;margin:.25rem 0 .75rem;color:#fde9c4}.hero-vibez{display:inline-block;background:var(--teal);color:#fff;font-weight:600;font-style:italic;padding:.5rem 1.1rem;transform:rotate(-1.5deg);margin-bottom:1.25rem}.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.btn-gold:focus,.btn-gold:hover{background:#ffbc24;border-color:#ffbc24;color:var(--ink)}.btn-gold:disabled{background:#d9b768;border-color:#d9b768;color:var(--ink)}.btn-white{background:#fff;border-color:#fff;color:var(--brown);font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:0}.btn-white:focus,.btn-white:hover{background:var(--cream);border-color:var(--cream);color:var(--brown)}.btn-teal{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.btn-teal:focus,.btn-teal:hover{background:#0c7268;border-color:#0c7268;color:#fff}.section-kicker{color:var(--rust);font-weight:600;text-transform:uppercase;letter-spacing:.15em;font-size:.85rem;margin-bottom:.25rem}.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem, 5vw, 3.2rem);letter-spacing:.03em;color:var(--brown)}.detail-card{background:rgba(0,0,0,.2);border:1px solid rgba(253,233,196,.15);border-left:4px solid var(--teal);padding:1.1rem 1.25rem;height:100%;color:#fff}.detail-card h3{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:.02em;margin:.2rem 0}.detail-card p{margin:0;color:#fde9c4;font-size:.92rem}.detail-card-highlight{background:var(--gold);border-color:var(--gold);color:var(--ink)}.detail-card-highlight h3{font-size:2.4rem;line-height:1}.detail-card-highlight p{color:var(--brown-dark)}.detail-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;font-weight:600;color:var(--gold)}.detail-card-highlight .detail-label{color:var(--brown-dark)}.generator{background:#fff;padding:4.5rem 0;border-top:1px solid #f0e4d2}.generator-intro{font-size:1.05rem;color:#5b4a3f;margin-bottom:1.5rem}.upload-box{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;max-width:280px;margin:0 auto;border:2px dashed var(--gold);border-radius:50%;background:var(--cream);cursor:pointer;overflow:hidden;position:relative;transition:border-color .2s,background .2s}.upload-box:hover{border-color:var(--teal);background:#f6efe3}.upload-box.has-photo{cursor:default;border-style:solid;touch-action:none}.upload-box.can-drag{cursor:grab}.zoom-control{display:flex;align-items:center;gap:.75rem;max-width:280px;margin:.9rem auto 0;color:var(--brown);font-weight:600}.zoom-control .form-range::-webkit-slider-thumb{background:var(--gold)}.zoom-control .form-range::-moz-range-thumb{background:var(--gold)}.upload-box.can-drag:active{cursor:grabbing}.upload-actions{display:flex;justify-content:center;gap:1rem;margin-top:.75rem;font-size:.85rem;color:#8a776a}.change-photo{color:var(--teal);font-weight:600;text-decoration:underline;cursor:pointer}.upload-text{text-align:center;font-weight:600;color:var(--brown);padding:1rem}.upload-text small{display:block;font-weight:400;color:#8a776a;margin-top:.3rem}.selfie-text{display:none}@media (max-width:767.98px){.selfie-text{display:block;margin-top:.6rem}}.upload-preview{position:absolute;max-width:none;user-select:none;pointer-events:none}.poster-frame{background:var(--cream);padding:12px;border-radius:14px;box-shadow:0 20px 45px rgba(94,32,6,.18)}.poster-frame img{border-radius:8px}.poster-stage{position:relative}.poster-frame .poster-photo{position:absolute;left:60.2%;top:8.81%;width:32.85%;aspect-ratio:1/1;border-radius:50%;overflow:hidden}.poster-frame .poster-photo img{position:absolute;max-width:none;border-radius:0}.poster-caption{text-align:center;font-size:.85rem;color:#8a776a;margin:.6rem 0 0}.share-note{text-align:center;color:#5b4a3f;margin:.75rem 0 0}.footer{background:var(--brown-dark);color:#fde9c4;font-size:.9rem}.footer p{margin:0;padding:1.5rem 0}@keyframes fade-up{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}@keyframes pop-in{from{opacity:0;transform:scale(.92) rotate(-1deg)}to{opacity:1;transform:none}}.anim-in{animation:fade-up .8s cubic-bezier(.2,.7,.2,1) both}.delay-1{animation-delay:.12s;transition-delay:0.12s}.delay-2{animation-delay:.24s;transition-delay:0.24s}.delay-3{animation-delay:.36s;transition-delay:0.36s}.delay-4{animation-delay:.48s;transition-delay:0.48s}.hero-logo-link{display:inline-block}.poster-result{animation:pop-in .7s cubic-bezier(.2,.7,.2,1) both}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2, .7, .2, 1)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,::after,::before{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}