@font-face{font-family:"Chalet London";src:url("vendor/chalet_londonnineteensixty.otf") format("opentype");font-display:swap}
@font-face{font-family:"Chalet New York";src:url("vendor/chalet_newyorknineteeneighty.otf") format("opentype");font-display:swap}
@font-face{font-family:"Chalet Paris";src:url("vendor/chalet_parisnineteeneighty.otf") format("opentype");font-display:swap}
:root{--navy:#050053;--cyan:#00ace0;--orange:#fa6c19;--yellow:#ffcd00;--cream:#f5eddf;--muted:#63647a;--font-body:"Chalet London",Arial,sans-serif;--font-display:"Chalet New York",Impact,sans-serif;--font-accent:"Chalet Paris",Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;min-height:100svh;background:#f7f8fc;color:var(--navy);font-family:var(--font-body)}
[hidden]{display:none!important}
header{height:104px;padding:18px 6%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e5e7f0}
header img{width:220px;height:auto}.header-note{font-size:12px;letter-spacing:2px;font-weight:700}
main{width:min(100%,760px);margin:auto;padding:48px 6% 64px}.builder{min-width:0}
.eyebrow{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:2px}.eyebrow span{width:23px;height:4px;background:var(--orange)}
h1{font-size:clamp(34px,7vw,54px);line-height:1.04;letter-spacing:-1.8px;margin:18px 0 22px;font-weight:900}h1 span{color:#d94e00}
.lead{font-weight:700;font-size:17px;margin-bottom:10px}.intro{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 30px}
button,input,textarea,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;min-height:48px}button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
label{font-size:18px;font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:12px}.number{font-size:11px;letter-spacing:1px;color:#a13b00}
input:not([type=range]),textarea,select{font:inherit;font-size:16px;width:100%;border:1px solid #d7d9e5;border-radius:9px;padding:16px;color:var(--navy);background:#f9faff;outline:none}textarea{resize:vertical;min-height:96px}
input:focus,textarea:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #00ace020}
.step-stage{overflow:hidden;padding:4px;margin:-4px}.step-card{background:#fff;border:1px solid #dde1ed;border-radius:17px;padding:26px;transform-origin:50% 80%}.step-copy{margin:-1px 0 18px;color:var(--muted);font-size:14px;line-height:1.55}
.field-foot{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-top:8px}
.slogan-presets{margin-top:22px}.slogan-presets label{display:block;margin-bottom:9px;font-size:15px;text-transform:none;letter-spacing:0;color:var(--navy)}.slogan-presets select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:linear-gradient(45deg,transparent 50%,var(--orange) 50%),linear-gradient(135deg,var(--orange) 50%,transparent 50%);background-position:calc(100% - 21px) 50%,calc(100% - 15px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.secondary{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #cacedf;border-radius:9px;background:#fff;color:var(--navy);padding:15px 12px;font-size:14px;font-weight:700}.secondary:hover{border-color:var(--navy);background:#f0f3ff}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.primary{border:0;border-radius:9px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;width:100%;font-size:16px;font-weight:700}.primary:hover{background:#201578}.primary span{font-size:23px}
.step-navigation{display:flex;gap:12px;margin-top:18px}.step-navigation #back{min-width:88px;padding:12px 18px}.step-navigation #next{flex:1}
.helper,.privacy{font-size:12px;color:var(--muted);line-height:1.5}.privacy{text-align:center;margin:13px 0}.photo-ready{margin-top:14px;display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:12px;background:#f1f4fc}.photo-ready img{width:58px;height:58px;object-fit:cover;border-radius:9px}.photo-ready strong,.photo-ready span{display:block}.photo-ready span{font-size:12px;line-height:1.35;color:var(--muted);margin-top:3px}.text-button{border:0;background:transparent;color:var(--navy);font-size:13px;text-decoration:underline;padding:8px}
#status{font-size:14px;line-height:1.5;color:#a63f00;min-height:0}#status:empty{margin:16px 0 0}button:disabled{opacity:.65;cursor:wait}
.result{margin-top:34px;padding:42px 28px;text-align:center;border:1px solid transparent;border-radius:17px;background:linear-gradient(140deg,#ffffffcf,#fff7edb8) padding-box,linear-gradient(135deg,#fff,#fa6c19bd,#00ace08f) border-box;-webkit-backdrop-filter:blur(28px) saturate(175%);backdrop-filter:blur(28px) saturate(175%);box-shadow:0 22px 48px #fa6c193d,0 8px 22px #05005317,inset 0 1.5px 0 #fff}.confirmation-mark{width:58px;height:58px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--font-accent);font-size:31px;box-shadow:0 10px 24px #05005338,0 7px 18px #fa6c1938}.confirmation-message{max-width:560px;margin:0 auto;color:var(--navy);font-family:var(--font-display);font-size:clamp(25px,5vw,36px);font-weight:800;line-height:1.18;letter-spacing:-.5px}
footer{border-top:1px solid #e1e4ec;display:flex;justify-content:space-between;padding:24px 6%;font-size:11px;letter-spacing:1px;color:var(--muted)}
dialog{width:min(92vw,500px);max-height:90dvh;overflow:auto;border:0;border-radius:14px;padding:24px;color:var(--navy)}dialog::backdrop{background:#050033b3}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top h2{font-size:23px}.dialog-top button{background:none;border:0;font-size:30px;color:var(--navy);min-width:48px}.camera-view{position:relative}video{width:100%;aspect-ratio:1;max-height:55dvh;object-fit:cover;background:var(--navy);border-radius:8px;transform:scaleX(-1)}#countdown{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-family:"Chalet New York",Impact,sans-serif;font-size:clamp(96px,32vw,180px);line-height:1;text-shadow:0 4px 24px #030426,0 0 35px var(--orange);background:#03042638;border-radius:8px}#countdown[hidden]{display:none}dialog p{font-size:14px;color:var(--muted);line-height:1.5}
.step-card.swoop-in{animation:swoop-in .48s cubic-bezier(.16,1,.3,1) both}.step-card.swoop-back{animation:swoop-back .4s cubic-bezier(.16,1,.3,1) both}@keyframes swoop-in{from{opacity:0;transform:translate3d(75px,25px,0) rotate(4deg)}to{opacity:1;transform:none}}@keyframes swoop-back{from{opacity:0;transform:translate3d(-65px,20px,0) rotate(-3deg)}to{opacity:1;transform:none}}
.has-progress .intro{display:none}
@media(max-width:600px){header{height:84px;padding:14px max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left))}header img{width:176px}.header-note{display:none}main{padding:26px max(20px,env(safe-area-inset-right)) 40px max(20px,env(safe-area-inset-left))}h1{font-size:clamp(31px,9vw,40px);letter-spacing:-1.3px;margin-bottom:18px}.lead{line-height:1.45}.intro{line-height:1.5;margin-bottom:20px}.has-progress h1{font-size:30px}.has-progress .lead{display:none}.step-card{padding:20px 16px;border-radius:14px}.step-progress{margin-top:22px}.photo-actions{grid-template-columns:1fr}.photo-actions button{justify-content:flex-start;padding:16px 18px;font-size:16px}.primary{min-height:54px}.photo-ready{grid-template-columns:52px 1fr auto}.photo-ready img{width:52px;height:52px}.poster-shell{padding:8px}footer{gap:15px;line-height:1.6;font-size:10px;flex-wrap:wrap;padding-bottom:max(24px,env(safe-area-inset-bottom))}#campaign{padding-bottom:max(4px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.step-card.swoop-in,.step-card.swoop-back{animation:none}html{scroll-behavior:auto}}
.header-note,.eyebrow,label,.step-progress,.secondary,.primary,.result-heading,footer{font-family:var(--font-accent)}
h1,.dialog-top h2{font-family:var(--font-display)}
dialog{font-family:var(--font-body)}
body{background:radial-gradient(circle at 12% 8%,#fa6c1912 0,transparent 30%),radial-gradient(circle at 88% 35%,#00ace00d 0,transparent 32%),#f7f8fc}
.step-card,.photo-ready,.poster-shell,dialog{background:linear-gradient(145deg,#ffffffd9,#fffaf4b8);border-color:#fa6c1947;-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);box-shadow:0 14px 34px #fa6c1921,0 4px 12px #08033b0d,inset 0 1px 0 #fff}
.step-card{position:relative;overflow:hidden}.step-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#fff,#fa6c1966,transparent);pointer-events:none}
.secondary{background:#ffffffa8;border-color:#fa6c194d;-webkit-backdrop-filter:blur(12px) saturate(135%);backdrop-filter:blur(12px) saturate(135%);box-shadow:0 7px 18px #fa6c1914,inset 0 1px 0 #fff}.secondary:hover{background:#fff3e8c7;border-color:#fa6c1980}
input:not([type=range]),textarea,select{background-color:#ffffffa6;border-color:#fa6c193d;box-shadow:inset 0 1px 0 #fff}
dialog{background:linear-gradient(145deg,#fffffff0,#fff8f0e8)}
body{position:relative;isolation:isolate;background:radial-gradient(circle at 8% 9%,#fa6c1952 0,transparent 29%),radial-gradient(circle at 94% 29%,#00ace042 0,transparent 31%),radial-gradient(circle at 48% 88%,#ffcd0038 0,transparent 34%),linear-gradient(145deg,#f7f8fc 0%,#fff5eb 48%,#eefaff 100%);background-attachment:fixed}
body::before,body::after{content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:999px;filter:blur(18px)}body::before{width:210px;height:210px;left:-72px;top:31%;background:linear-gradient(145deg,#fa6c19a3,#ffcd005c);transform:rotate(24deg)}body::after{width:250px;height:250px;right:-105px;top:54%;background:linear-gradient(145deg,#00ace080,#05005333);transform:rotate(-18deg)}
.step-card,.photo-ready,.poster-shell,dialog{background:linear-gradient(140deg,#ffffffc7 0%,#fff9f0a1 47%,#eefaff94 100%) padding-box,linear-gradient(135deg,#fffffffa 0%,#fa6c19bd 44%,#00ace08f 100%) border-box;border:1px solid transparent;-webkit-backdrop-filter:blur(28px) saturate(175%);backdrop-filter:blur(28px) saturate(175%);box-shadow:0 22px 48px #fa6c193d,0 8px 22px #05005317,inset 0 1.5px 0 #fff,inset 1px 0 0 #ffffffb8,inset 0 -1px 0 #fa6c1938}
.step-card::before{height:72%;background:linear-gradient(125deg,#ffffffc4 0%,#ffffff38 34%,#fa6c1926 62%,transparent 80%);border-radius:inherit}.step-card::after{content:"";position:absolute;pointer-events:none;width:130px;height:130px;right:-48px;bottom:-60px;border-radius:50%;background:#00ace02d;filter:blur(12px)}.step-card>*{position:relative;z-index:1}
.secondary{background:linear-gradient(145deg,#ffffffbd,#fff4e69c) padding-box,linear-gradient(135deg,#ffffff,#fa6c1999,#00ace066) border-box;border:1px solid transparent;-webkit-backdrop-filter:blur(20px) saturate(165%);backdrop-filter:blur(20px) saturate(165%);box-shadow:0 12px 26px #fa6c192e,0 3px 9px #05005312,inset 0 1px 0 #fff}.secondary:hover{background:linear-gradient(145deg,#ffffffe0,#ffe3c7bd) padding-box,linear-gradient(135deg,#fff,#fa6c19d1,#00ace08a) border-box}
.primary{background:linear-gradient(145deg,#171073f2,#050053df);border:1px solid #ffffff38;-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:0 14px 30px #05005338,0 8px 22px #fa6c192b,inset 0 1px 0 #ffffff73}.primary:hover{background:linear-gradient(145deg,#32258df2,#0c075edf)}
input:not([type=range]),textarea,select{background-color:#fff9f0d4;border-color:#ffffffde;box-shadow:0 8px 20px #fa6c191b,inset 0 1px 0 #fff,inset 0 0 0 1px #fa6c192b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
