body{margin:0}@font-face{font-family:Montserrat Campaign;src:url(/campaign/fonts/Montserrat-VariableFont_wght.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Montserrat Campaign;src:url(/campaign/fonts/Montserrat-Italic-VariableFont_wght.ttf)format("truetype");font-weight:100 900;font-style:italic;font-display:swap}:root{color:#fff;--rose-100:#f6b8c4;--rose-200:#e79aa9;--rose-300:#c76778;--rose-400:#a74353;--rose-500:#81323e;--ink:#2c1f22;--white-soft:#ffffffdb;--white-muted:#ffffffb8;--shadow:0 24px 80px #521c273d;background:#d98998}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#fff;-webkit-font-smoothing:antialiased;background:#d98998;min-width:320px;min-height:100vh;margin:0;font-family:Montserrat Campaign,Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{border:0}a{color:inherit}#root{min-height:100vh}.campaign-page{background:linear-gradient(#9732432e,#97324314),url(/campaign/background_02.png) top/cover repeat-y,#d98998;min-height:100vh;position:relative;overflow:hidden}.campaign-page:before{content:"";pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(circle at 50% 5%,#ffffff40,#0000 32%),linear-gradient(#ffffff1f,#fff0);position:fixed;inset:0}.landing-page{background:linear-gradient(#ffffff0d,#751e301a),url(/campaign/background_02.png) top/cover repeat-y,url(/campaign/background_03.png) top/cover repeat-y,#d98d9b}.brand-strip{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#802f3cb3;justify-content:center;align-items:center;width:100%;min-height:62px;padding:1rem clamp(1rem,4vw,2.5rem);display:flex;position:relative}.landing-page .brand-strip{background:#802f3cdb}.brand-strip img{width:min(920px,86vw);height:auto;display:block}.hero-section{z-index:1;text-align:center;place-items:start center;min-height:calc(100vh - 62px);padding:clamp(1.2rem,3.5vw,2.6rem) 1.25rem clamp(2rem,6vw,3.6rem);display:grid;position:relative}.hero-content{justify-items:center;width:min(620px,100%);display:grid}.campaign-logo{filter:drop-shadow(0 2px #61212e6b)drop-shadow(0 16px 30px #61212e2e);width:min(320px,78vw);height:auto;display:block}.campaign-logo.compact{width:min(245px,62vw)}.hero-postcard{filter:drop-shadow(0 22px 32px #591b293d);width:min(310px,68vw);height:auto;margin:clamp(.5rem,1.8vw,1rem) 0 .35rem}.hero-copy{max-width:34rem;color:var(--white-soft);text-wrap:balance;margin:.45rem 0 1.45rem;font-size:clamp(1.05rem,2.5vw,1.28rem);font-weight:500;line-height:1.45}.waveform{filter:drop-shadow(0 10px 18px #701f3033);width:min(245px,56vw);height:auto;margin-bottom:1.7rem}.code-form{justify-items:center;gap:.68rem;width:min(520px,100%);display:grid}.code-label,.overline{color:#ffffffeb;letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:clamp(.78rem,2.4vw,1rem);font-weight:500}.code-input-row{grid-template-columns:1fr auto;align-items:center;gap:.8rem;width:100%;display:grid}.code-input{width:100%;height:64px;color:var(--ink);letter-spacing:.55em;text-align:center;background:#fffffff5;border:0;border-radius:14px;padding:.5rem 1.2rem;font-size:clamp(1.35rem,5vw,2rem);font-weight:600;box-shadow:0 18px 50px #661f2e29}.code-input::placeholder{color:#2a1b1f57;letter-spacing:.35em}.code-input:focus,input:focus,textarea:focus{outline-offset:4px;outline:2px solid #ffffffdb}.info-button{color:#fff;cursor:help;background:0 0;border:1.5px solid #ffffffe6;border-radius:999px;place-items:center;width:27px;height:27px;font-size:.95rem;font-style:italic;display:inline-grid}.no-code-button{color:#fff;cursor:pointer;letter-spacing:.02em;text-transform:uppercase;background:0 0;padding:.15rem;font-size:clamp(1rem,3vw,1.15rem);font-weight:800}.terms-row{width:min(520px,100%);color:var(--white-soft);text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;font-size:.82rem;line-height:1.35;display:grid}.terms-row input{z-index:2;opacity:0;cursor:pointer;grid-area:1/1;width:48px;height:25px;margin:0;position:relative}.terms-row a{color:#fff;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.toggle-visual{z-index:1;background:#ffffffd1;border-radius:999px;grid-area:1/1;width:48px;height:25px;position:relative;box-shadow:inset 0 0 0 1px #722e3b1f}.toggle-visual:after{content:"";background:#b8b8b8;border-radius:50%;width:17px;height:17px;transition:transform .18s,background .18s;position:absolute;top:4px;left:4px}.terms-row input:checked+.toggle-visual:after{background:var(--rose-400);transform:translate(23px)}.campaign-button,.ghost-button,.text-link{text-transform:uppercase;letter-spacing:.08em;border-radius:15px;justify-content:center;align-items:center;min-height:45px;padding:.78rem 2.5rem;text-decoration:none;transition:transform .18s,opacity .18s,box-shadow .18s,background .18s;display:inline-flex}.campaign-button{color:#fff;cursor:pointer;background:linear-gradient(#b54c61,#96394a);gap:.45rem;min-width:min(280px,100%);font-weight:500;box-shadow:0 16px 34px #671f2d47}.campaign-button img{width:1.6rem;height:auto;margin-right:-.6rem;transform:rotate(-8deg)}.campaign-button:hover:not(:disabled),.ghost-button:hover,.text-link:hover{transform:translateY(-2px)}.campaign-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.ghost-button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff80}.text-link{color:#fff;min-height:auto;padding:.5rem 0;font-weight:700}.form-error{color:#fff;background:#6f202f47;border-radius:12px;width:min(520px,100%);margin:.15rem 0 0;padding:.75rem 1rem;font-size:.9rem;line-height:1.35}.story-section{z-index:2;text-align:center;background:linear-gradient(#c4637433,#983a4b5c),url(/campaign/background_02.png) top/cover repeat-y;justify-items:center;gap:clamp(2rem,6vw,4rem);min-height:100vh;padding:clamp(4rem,8vw,7rem) 1.25rem 6rem;display:grid;position:relative}.story-copy{justify-items:center;gap:1.3rem;display:grid}.story-copy p{max-width:48rem;color:var(--white-soft);text-wrap:balance;margin:0;font-size:clamp(1rem,2.6vw,1.25rem);line-height:1.45}.steps-art{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(1rem,4vw,2.5rem);width:min(900px,100%);display:grid}.step-feature{justify-items:center;gap:.9rem;display:grid;position:relative}.step-feature span,.step-item span{color:#fff;background:#82303ddb;border-radius:999px;place-items:center;width:38px;height:38px;font-weight:800;display:inline-grid}.step-feature p{color:#fff;max-width:13rem;margin:0;font-weight:600;line-height:1.2}.step-feature img{filter:drop-shadow(0 18px 30px #5d1c2b38);width:min(230px,100%);height:auto}.legal-bar{z-index:4;color:#ffffffc7;text-align:center;background:#ec8fa0e6;width:100%;padding:1rem clamp(1rem,5vw,3rem);font-size:clamp(.58rem,1.5vw,.72rem);font-style:italic;line-height:1.35;position:relative}.status-page,.create-page,.playback-page{flex-direction:column;display:flex}.status-page{background:linear-gradient(#7f25362e,#7f253642),url(/campaign/background_02.png) top/cover repeat-y,#d98d9b}.status-card,.create-shell,.playback-card{z-index:1;text-align:center;justify-items:center;width:min(760px,100vw - 2rem);margin:clamp(2.5rem,6vw,5rem) auto;display:grid;position:relative}.status-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#a5495a42;border-radius:34px;padding:clamp(2rem,5vw,3.5rem)}.status-postcard{filter:drop-shadow(0 18px 30px #5d1c2b3d);width:min(310px,72vw);margin:1.25rem 0 .5rem}.status-card h1,.create-shell h1,.playback-card h1{color:#fff;text-shadow:0 2px #71273633;margin:.4rem 0 .75rem;font-size:clamp(2.2rem,8vw,4.6rem);font-weight:500;line-height:.95}.create-shell h1{max-width:760px;font-size:clamp(2.35rem,6.2vw,3.7rem);line-height:1.05}.status-card p{max-width:36rem;color:var(--white-soft);margin:0;font-size:clamp(1rem,2.6vw,1.16rem);line-height:1.45}.status-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.create-shell{width:min(880px,100vw - 2rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#b050624d,#8f364747);border-radius:34px;padding:clamp(1.25rem,4vw,2.5rem)}.create-intro{max-width:42rem;color:var(--white-soft);margin:0 0 1.4rem;line-height:1.5}.stepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;width:100%;margin:.5rem 0 1.2rem;display:grid}.step-item{color:#fffc;cursor:pointer;background:#ffffff26;border-radius:18px;justify-content:center;align-items:center;gap:.7rem;min-height:66px;display:flex}.step-item.active,.step-item.done{color:#fff;background:#ffffff47}.step-item.active span,.step-item.done span{color:var(--rose-400);background:#fff}.guided-form,.form-step{width:100%}.form-step{background:#ffffff24;border-radius:28px;justify-items:stretch;gap:1rem;padding:clamp(1rem,3vw,1.8rem);display:grid}.form-step h2{color:#fff;margin:0;font-size:clamp(1.35rem,4vw,2rem);font-weight:650}.form-step label{color:#ffffffe6;text-align:left;gap:.45rem;font-size:.95rem;font-weight:500;display:grid}.form-step input,.form-step textarea{width:100%;color:var(--ink);background:#fffffff2;border:0;border-radius:16px;padding:.9rem 1rem;box-shadow:0 12px 32px #671f2d1a}.form-step textarea{resize:vertical}.actions{flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:.4rem;display:flex}.actions.split{justify-content:space-between}.recorder-step,.preview-step{text-align:center;justify-items:center}.recorder-visual{place-items:center;width:min(250px,70vw);display:grid;position:relative}.phone-art{filter:drop-shadow(0 18px 32px #581c2947);width:min(170px,52vw);height:auto}.recorder-waveform{width:96px;height:auto;position:absolute}.muted{color:var(--white-soft);margin:0}.record-button{width:min(280px,100%);min-height:58px;color:var(--rose-500);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:#fff;border-radius:999px;font-weight:800;box-shadow:0 18px 36px #50162438}.recorder-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;width:min(640px,100%);display:flex}.upload-audio-button{color:#fff;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:#ffffff24;border:1.5px solid #ffffff8c;border-radius:999px;justify-content:center;align-items:center;width:min(280px,100%);min-height:58px;font-weight:800;display:inline-flex}.upload-audio-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.recorder-help{max-width:34rem;color:var(--white-muted);margin:-.2rem 0 0;font-size:.9rem;line-height:1.45}.record-button.recording{background:var(--rose-500);color:#fff;animation:1.3s ease-in-out infinite pulse}.audio-preview,.audio-panel{color:#fff;background:#ffffff29;border-radius:18px;gap:.75rem;width:100%;padding:1rem;display:grid}.audio-preview p{margin:0;font-weight:700}.audio-preview audio,.audio-panel audio{width:100%}.preview-postcard{filter:drop-shadow(0 18px 28px #5419263d);width:min(300px,80vw)}.message-card{width:100%;color:var(--ink);text-align:left;background:#ffffffeb;border-radius:18px;padding:1.1rem}.message-card h2,.message-card p{margin:0}.message-card p+p{margin-top:.45rem}.playback-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#9d405247;border-radius:34px;padding:clamp(1.5rem,4vw,2.5rem)}.playback-postcard{filter:drop-shadow(0 20px 32px #54192640);width:min(340px,80vw);margin:1rem 0}.playback-copy{max-width:38rem;color:var(--white-soft);margin:0 0 1.3rem;line-height:1.5}.audio-panel{margin-top:1rem}.audio-panel img{justify-self:center;width:min(220px,70vw);height:auto}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 18px 36px #50162438}50%{transform:scale(1.03);box-shadow:0 20px 44px #50162457}}@media (width<=760px){.brand-strip{min-height:50px;padding:.85rem .75rem}.brand-strip img{width:min(560px,94vw)}.hero-section{min-height:calc(100vh - 50px);padding-top:2.1rem;padding-bottom:6rem}.campaign-logo{width:min(300px,84vw)}.code-input-row{grid-template-columns:1fr;justify-items:center}.info-button{margin-top:86px;position:absolute;right:calc(50% - min(45vw,250px))}.steps-art,.stepper{grid-template-columns:1fr}.step-item{justify-content:flex-start;padding:0 1rem}.actions.split{justify-content:center}.actions.split .campaign-button,.actions.split .ghost-button{width:100%}.status-card,.create-shell,.playback-card{border-radius:24px;width:min(100vw - 1rem,100%)}}
