@font-face{font-family:'Be Vietnam Pro';src:url('fonts/BeVietnamPro-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Be Vietnam Pro';src:url('fonts/BeVietnamPro-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Be Vietnam Pro';src:url('fonts/BeVietnamPro-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'Be Vietnam Pro';src:url('fonts/BeVietnamPro-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Be Vietnam Pro';src:url('fonts/BeVietnamPro-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:'Be Vietnam Pro';src:url('fonts/BeVietnamPro-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:'Playfair Display';src:url('fonts/PlayfairDisplay-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'Playfair Display';src:url('fonts/PlayfairDisplay-SemiBoldItalic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap}
:root{--cream:#fbf2e3;--blue:#303487;--yellow:#ffdc38;--line:#aebcd37a;--pink:#efb9c4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--blue);background:var(--cream);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;font-family:'Be Vietnam Pro',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button,a,label,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.upload-button:focus-within{outline:3px solid #e86f55;outline-offset:5px}button{border:0}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}em{font-family:'Playfair Display',Georgia,serif;font-weight:600}fieldset{margin:0;border:0;padding:0;min-width:0}legend{font-weight:800;font-size:13px;margin-bottom:15px}.wrap{width:min(1280px,90%);margin-inline:auto}.skip{position:fixed;z-index:100;top:-70px;left:20px;padding:15px;background:var(--yellow)}.skip:focus{top:15px}.site-header{width:min(1440px,100%);margin:auto;padding:25px 5%;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--blue)}.brand{font-size:31px;font-weight:900;letter-spacing:-1.7px;line-height:.9;transform:rotate(-3deg);display:inline-block;white-space:nowrap}.brand>span{display:block;font-size:9px;letter-spacing:1px;margin-top:8px;font-weight:700}.site-header nav{display:flex;gap:30px;margin-left:auto;align-items:center;font-weight:700;font-size:13px}.site-header nav a{min-height:44px;display:flex;align-items:center}.site-header>img{width:43px;animation:twirl 25s linear infinite}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.7px;display:block;line-height:1.6}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding-block:80px 75px;min-height:650px}.paper-label{display:table;background:var(--yellow);font-size:13px;font-weight:700;padding:9px 13px;transform:rotate(-3deg);margin:32px 0 28px}h1{font-size:clamp(43px,4.8vw,74px);line-height:1.03;letter-spacing:-3px;font-weight:900}h1 em{display:inline-block;white-space:nowrap;position:relative}h1 em:after,h2 em:after{content:'';display:block;height:6px;background:var(--yellow);transform:rotate(-2deg)}.intro-copy>p:not(.small-note){font-size:17px;line-height:1.55;margin-top:28px}.primary-link{display:inline-flex;gap:65px;align-items:center;font-size:16px;font-weight:800;border-bottom:2px solid;padding:14px 0;margin-top:22px}.primary-link>span{font-size:31px}.small-note{font-size:10px;line-height:1.6;margin-top:20px;max-width:380px}.intro-art{position:relative;height:450px;isolation:isolate}.sample-strip{position:absolute;top:15px;width:155px;padding:13px 12px 15px;background:var(--blue);box-shadow:7px 9px 0 #776ba02e;display:grid;gap:8px;transform:rotate(10deg)}.sample-strip>div{height:63px;background:#f2d7e6;display:grid;place-items:center;overflow:hidden}.sample-strip img{height:58px;width:58px;object-fit:contain}.sample-strip>div:nth-child(2n){background:#d4dfb1}.sample-strip>b{font-size:13px;text-align:center;color:var(--cream);letter-spacing:.5px;margin-top:5px}.strip-back{left:30px;background:#e8b9c9;transform:rotate(-13deg);top:45px}.strip-back>b{color:var(--blue)}.strip-front{left:175px;top:45px}.art-star{position:absolute;width:90px;left:20px;top:0;z-index:2;animation:rock 5s ease-in-out infinite}.art-note{font-family:'Playfair Display',Georgia,serif;font-style:italic;position:absolute;font-size:15px;left:90px;top:-15px;transform:rotate(-6deg)}.art-stamp{position:absolute;right:0;top:175px;background:var(--yellow);border:1px dashed var(--blue);border-radius:50%;width:95px;height:95px;display:grid;place-content:center;text-align:center;font-size:28px;font-weight:900;transform:rotate(15deg);z-index:2}.art-stamp small{font-size:9px;line-height:1.3}.art-caption{position:absolute;bottom:10px;left:130px;font-size:9px;letter-spacing:.7px}.ticker{background:var(--blue);color:var(--cream);border-block:5px solid var(--yellow);padding:14px 0;overflow:hidden;transform:rotate(-1deg);font-size:24px;font-weight:900;white-space:nowrap}.ticker-track{display:flex;width:max-content;animation:ticker-scroll 48s linear infinite}.ticker-group{display:flex;align-items:center;justify-content:space-around;gap:40px;flex-shrink:0;min-width:100vw;padding-right:40px}.ticker-group>img{height:40px;width:40px;flex-shrink:0}@keyframes ticker-scroll{to{transform:translateX(-50%)}}.studio{padding-block:95px 70px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-heading>p{font-size:14px;line-height:1.5}.section-heading .eyebrow{margin-bottom:18px}h2{font-size:clamp(38px,4.3vw,64px);line-height:1.08;letter-spacing:-2.3px}h2 em{display:inline-block}.steps{list-style:none;padding:15px 0;margin:0 0 30px;display:flex;gap:35px;border-block:1px solid;font-size:13px}.steps li{display:flex;align-items:center;gap:10px;opacity:.6}.steps li.current{opacity:1;font-weight:800}.steps b{display:grid;place-items:center;width:29px;height:29px;border:1px solid;border-radius:50%;font-size:10px}.steps .current b{background:var(--yellow)}.booth-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:35px;align-items:start}.capture-panel,.result-panel{border:1px solid var(--blue);padding:24px;background:#fbf2e3ed;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.camera-state,#photo-count{font-size:10px;white-space:nowrap}.camera-state{border:1px solid #30348766;border-radius:20px;padding:5px 8px}.camera-stage{position:relative;aspect-ratio:4/3;display:grid;place-items:center;background:#ded6e9;overflow:hidden;background-image:linear-gradient(#30348718 1px,transparent 1px),linear-gradient(90deg,#30348718 1px,transparent 1px);background-size:24px 24px}.camera-stage video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.camera-stage video.mirrored{transform:scaleX(-1)}.camera-empty{text-align:center;padding:20px;position:relative}.camera-empty img{margin:0 auto 22px;width:90px;height:90px;animation:rock 6s ease-in-out infinite}.camera-empty h3{font-size:21px;font-weight:800;letter-spacing:-.4px}.camera-empty p{font-size:13px;line-height:1.5;margin-top:10px}.camera-empty[hidden],video[hidden],.live-label[hidden],.slot-button img[hidden]{display:none}.countdown{position:absolute;font-size:100px;font-weight:900;line-height:1;color:white;text-shadow:2px 3px 0 var(--blue);pointer-events:none}.live-label{position:absolute;left:12px;top:12px;background:#303487dd;color:var(--cream);font-size:8px;letter-spacing:1px;padding:7px}.camera-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block:8px 12px}.mirror-label{display:flex;align-items:center;gap:8px;font-size:12px;min-height:44px;cursor:pointer}.mirror-label input{accent-color:var(--blue);width:16px;height:16px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 18px;font-size:13px;font-weight:800;border:1px solid var(--blue);text-align:center;transition:transform .2s,background .2s}.button:not(:disabled):hover,.upload-button:not(.disabled):hover{transform:translateY(-2px)}.button-blue{background:var(--blue);color:var(--cream)}.button-yellow{background:var(--yellow)}.button-outline{background:transparent}.source-actions,.capture-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.capture-actions{margin-top:12px}.upload-button{position:relative;cursor:pointer}.upload-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-button.disabled{opacity:.42;cursor:not-allowed}.upload-button input:disabled{cursor:not-allowed}.camera-help{font-size:10px;line-height:1.6;margin-top:15px;opacity:.8}.quiet-button{background:transparent;min-height:44px;padding:8px 5px;font-size:11px;text-decoration:underline;text-underline-offset:4px}.photo-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.photo-slot{position:relative;min-width:0}.slot-button{width:100%;aspect-ratio:4/3;border:1px dashed #30348766;background:#eee2d0;position:relative;overflow:hidden;display:grid;place-items:center;padding:0;min-height:44px}.slot-button.selected{outline:3px solid var(--yellow);outline-offset:1px;border-style:solid}.slot-button>span{font-size:18px;opacity:.5}.slot-button>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.remove-photo{position:absolute;top:-8px;right:-7px;border-radius:50%;width:28px;height:28px;background:var(--blue);color:var(--cream);z-index:1;display:grid;place-items:center;font-size:18px;line-height:1}.remove-photo:disabled{visibility:hidden}.status{font-size:12px;line-height:1.5;min-height:37px;margin-top:18px}.status.error{color:#9b342d}.result-panel{padding-bottom:12px}.print-preview{background:#ddd2bf55;padding:20px;display:flex;justify-content:center;position:relative;overflow:hidden}.print-preview:before{content:'';position:absolute;width:70px;height:24px;background:#e3cfab99;top:7px;left:calc(50% - 35px);transform:rotate(-8deg);z-index:1;border:1px solid #fffc}.print-preview canvas{display:block;width:min(100%,200px);height:auto;box-shadow:6px 8px 15px #30348730;transform:rotate(2deg)}.preview-note{display:block;text-align:center;font-size:9px;margin-block:16px}.download-button{width:100%}.reset-button{display:block;margin:auto}.editor{background:#fbf2e3ed;border:1px solid var(--blue);padding:28px;margin-top:30px}.editor>.eyebrow{margin-bottom:10px}.editor h3{font-size:30px;letter-spacing:-1px;margin-top:10px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px}.frame-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.frame-option{padding:10px 5px 8px;font-size:10px;min-height:110px;border:1px solid #30348766;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}.frame-option>i{width:27px;height:60px;border:5px solid #fbf2e3;outline:1px solid #30348744;background:repeating-linear-gradient(#b8b1ce 0 10px,#fbf2e3 10px 13px)}.frame-option[aria-pressed=true]{outline:3px solid var(--yellow);outline-offset:2px;border-color:var(--blue)}.frame-blue>i{border-color:var(--blue);background:repeating-linear-gradient(#b8b1ce 0 10px,var(--blue) 10px 13px)}.frame-pink>i{border-color:var(--pink);background:repeating-linear-gradient(#b8b1ce 0 10px,var(--pink) 10px 13px)}.frame-yellow>i{border-color:var(--yellow);background:repeating-linear-gradient(#b8b1ce 0 10px,var(--yellow) 10px 13px)}.filter-options{display:flex;gap:7px;flex-wrap:wrap}.filter-options button{padding:10px 13px;min-height:44px;font-size:11px;border:1px solid var(--blue);border-radius:30px;background:transparent}.filter-options button[aria-pressed=true]{background:var(--blue);color:var(--cream)}.caption-label{font-size:12px;font-weight:800;display:flex;justify-content:space-between;gap:10px;margin-top:22px}.caption-label>span{font-size:9px;opacity:.7;font-weight:400}#caption{width:100%;min-height:46px;border:1px solid var(--blue);background:transparent;padding:12px;color:var(--blue);font-size:13px;margin-top:10px;border-radius:0}.editor-note{font-size:10px;line-height:1.6;margin-top:10px;opacity:.75}.how-to{padding-block:70px 80px;border-top:1px solid}.how-to .section-heading{align-items:center}.how-to .section-heading>img{transform:rotate(12deg);animation:rock 6s ease-in-out infinite}.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:40px}.how-grid article{border-top:1px solid;padding-top:20px}.how-grid article>span{display:table;background:var(--yellow);padding:6px 9px;font-size:12px;font-weight:800;transform:rotate(-4deg)}.how-grid h3{font-size:20px;letter-spacing:-.5px;margin-top:20px}.how-grid p{font-size:13px;line-height:1.7;margin-top:13px}.privacy{border-top:1px solid;padding-block:70px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.privacy .eyebrow{margin-bottom:20px}.privacy>div>p{font-size:14px;line-height:1.7;margin-top:25px;max-width:440px}.questions details{border-bottom:1px solid;padding:18px 0}.questions summary{font-size:14px;font-weight:800;cursor:pointer;line-height:1.5;min-height:32px}.questions p{font-size:13px;line-height:1.7;margin-top:13px}footer{padding-block:35px;border-top:1px solid;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:11px;line-height:1.5}footer .brand{font-size:28px}@keyframes rock{0%,100%{rotate:-8deg}50%{rotate:8deg}}@keyframes twirl{to{rotate:360deg}}
@media(max-width:1050px){.intro{grid-template-columns:1.25fr 1fr;gap:10px}.intro-art{scale:.85;transform-origin:center}.booth-layout{gap:20px;grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr)}.capture-panel,.result-panel{padding:18px}.camera-empty h3{font-size:18px}.camera-empty img{width:65px;height:65px;margin-bottom:15px}.button{padding-inline:10px;font-size:12px;gap:10px}.editor-grid{gap:25px}.privacy{gap:35px}}
@media(max-width:760px){body{background-size:40px 40px}.wrap{width:88%}.site-header{padding:18px 6%;gap:10px;flex-wrap:wrap}.brand{font-size:29px}.site-header>img{width:38px;margin-left:auto;order:2}.site-header nav{order:3;width:100%;justify-content:space-between;margin:6px 0 0;gap:12px;font-size:12px}.intro{grid-template-columns:minmax(0,1fr);padding-block:45px 30px;gap:30px;min-height:0}.intro-copy .eyebrow{font-size:8px;letter-spacing:1px}.paper-label{font-size:11px;margin-top:28px}h1{font-size:clamp(38px,7.5vw,58px);letter-spacing:-1.8px}.intro-copy>p:not(.small-note){font-size:14px;line-height:1.6;margin-top:22px}.small-note{font-size:9px;margin-top:15px}.primary-link{font-size:14px;gap:45px;margin-top:15px}.intro-art{height:385px;max-width:380px;width:100%;margin:auto;scale:.85}.strip-back{left:25px}.strip-front{left:160px}.art-note{font-size:13px;left:60px;top:0}.art-stamp{right:0;top:185px;width:80px;height:80px;font-size:24px}.art-caption{bottom:-10px;left:100px}.ticker{font-size:18px;padding:10px 0}.ticker-group{gap:24px;padding-right:24px}.ticker-group>img{width:30px;height:30px}.studio{padding-block:60px}.section-heading{display:block;margin-bottom:26px}.section-heading .eyebrow{font-size:8px;margin-bottom:15px}.section-heading>p{font-size:12px;margin-top:20px}h2{font-size:clamp(34px,7.4vw,47px);letter-spacing:-1.5px}.steps{gap:12px;justify-content:space-between;font-size:10px}.steps li{display:block;line-height:1.5;flex:1}.steps b{margin-bottom:6px;width:25px;height:25px}.booth-layout{grid-template-columns:minmax(0,1fr);gap:22px}.capture-panel,.result-panel{padding:16px}.panel-heading .eyebrow{font-size:8px;letter-spacing:1px}.camera-empty h3{font-size:17px}.camera-empty p{font-size:11px}.camera-empty img{width:62px;height:62px;margin-bottom:13px}.camera-state{font-size:9px}.button{font-size:11px;min-height:48px;padding:12px 9px;gap:8px}.camera-help{font-size:10px}.source-actions,.capture-actions{gap:8px}.photo-slots{gap:8px}.remove-photo{width:32px;height:32px;top:-7px;right:-4px}.status{font-size:11px}.print-preview canvas{width:min(70%,180px)}.print-preview{padding-block:24px}.download-button{font-size:13px;max-width:330px;margin:0 auto;display:flex}.result-panel .panel-heading{margin-bottom:14px}.editor{padding:20px 16px;margin-top:22px}.editor .eyebrow{font-size:8px;letter-spacing:1px}.editor h3{font-size:26px;line-height:1.2;letter-spacing:-.7px}.editor-grid{grid-template-columns:minmax(0,1fr);gap:28px}.frame-options{gap:8px}.frame-option{font-size:9px;min-height:105px}.filter-options{gap:6px}.filter-options button{padding-inline:10px}.caption-label{font-size:11px}.caption-label>span{font-size:8px}.how-to{padding-block:55px}.how-to .section-heading{display:flex;gap:10px}.how-to .section-heading img{width:65px;height:65px}.how-to h2{font-size:34px;max-width:270px}.how-grid{grid-template-columns:1fr;gap:25px;margin-top:25px}.how-grid h3{font-size:19px;margin-top:15px}.how-grid p{font-size:13px}.privacy{grid-template-columns:1fr;gap:25px;padding-block:55px}.privacy .eyebrow{font-size:8px;margin-bottom:17px}.privacy>div>p{font-size:13px;margin-top:22px}.questions summary{font-size:13px;min-height:36px}.questions p{font-size:12px}footer{flex-wrap:wrap;padding-block:28px;gap:20px}footer p{order:3;width:100%;font-size:10px}footer>a:last-child{font-size:10px}footer .brand{font-size:26px}}
@media(max-width:360px){.intro-art{scale:.73;height:335px;transform-origin:center top}.intro-art .art-stamp{right:-20px}.intro-art .art-caption{bottom:-50px}h1{font-size:37px}.camera-empty{padding:12px}.camera-empty h3{font-size:15px}.camera-empty p{font-size:10px}.camera-empty img{width:52px;height:52px}.photo-slots{gap:6px}.frame-option{font-size:8px}.frame-options{gap:6px}.how-to .section-heading img{display:none}.how-to h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.remove-photo{width:44px;height:44px;right:-11px;top:-11px;background:transparent;isolation:isolate}.remove-photo:before{content:'';position:absolute;inset:9px;background:var(--blue);border-radius:50%;z-index:-1}

.ticker-shell{overflow:hidden;padding-block:10px}

.filter-options button{min-width:44px}
