:root{--bg:#f7f5ef;--ink:#29272a;--muted:#77736f;--line:#ddd9d1;--purple:#ddd4f4;--accent:#78628d;--cream:#eee8dd;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--bg);font-family:Arial,"Leelawadee UI",Tahoma,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8b6fae;outline-offset:4px}[hidden]{display:none!important}.mode-banner{background:#e6dbb6;font-size:12px;text-align:center;padding:8px 20px;letter-spacing:.3px}.site-header{height:104px;max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:0 48px}.brand{font-family:Georgia,serif;font-size:35px;letter-spacing:-2px;font-weight:bold}.brand span{color:#a487b9}.brand sup{font-family:Arial,sans-serif;font-size:9px;letter-spacing:2px;margin-left:13px;vertical-align:middle;font-weight:400}nav{display:flex;align-items:center;gap:36px;font-size:13px}.nav-pill{border:1px solid var(--line);padding:11px 21px;border-radius:30px}.nav-pill span{margin-left:18px}.hero{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:650px;padding:55px 48px 75px;align-items:center;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;display:block}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a489ba;margin-right:9px}h1{font-size:clamp(38px,4vw,60px);font-weight:500;line-height:1.4;letter-spacing:-2px;margin:25px 0 18px}h1 em{font-family:Georgia,"Leelawadee UI",serif;font-weight:400;color:#8d709b;font-style:normal}h2{font-size:32px;letter-spacing:-.8px;font-weight:500;line-height:1.4;margin:12px 0}h3{font-size:18px;margin:12px 0}p{font-size:14px}.hero-description{max-width:420px;color:var(--muted);line-height:1.9}.offer{margin:28px 0 24px}.offer>span{font-size:10px;letter-spacing:2px}.offer strong{font-size:40px;font-weight:500;letter-spacing:-2px}.offer div>span{font-size:13px;color:var(--muted)}.soon{display:inline-block;margin-left:14px;border:1px solid var(--line);padding:2px 12px;border-radius:15px}.button{border:0;border-radius:30px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:13px 24px;font-size:14px}.primary{background:var(--ink);color:#fff}.primary:hover{background:#514359}.secondary{background:var(--purple);color:var(--ink)}.text-link{font-size:12px;margin-left:18px;text-decoration:underline;text-underline-offset:5px}.hero-details{display:flex;gap:15px;margin-top:27px;font-size:10px;color:var(--muted);flex-wrap:wrap}.hero-art{height:530px;position:relative}.orb{position:absolute;width:440px;height:440px;background:#e8dfed;border-radius:50%;left:25px;top:20px}.film-strip{position:absolute;top:-5px;left:40px;background:#faf5eb;padding:12px 12px 0;width:158px;box-shadow:0 20px 40px #33243d26;transform:rotate(-10deg);z-index:2}.film-strip img{display:block;width:134px;height:107px;object-fit:cover;margin-bottom:8px;object-position:50% 30%}.film-strip img:nth-child(2){filter:sepia(.3);transform:scaleX(-1)}.film-strip img:nth-child(3){filter:grayscale(1)}.film-strip img:nth-child(4){filter:sepia(.2) hue-rotate(-12deg)}.strip-brand{font-size:12px;letter-spacing:4px;text-align:center;padding:6px 0 12px}.strip-brand span{display:block;font-size:5px;letter-spacing:2px}.editorial-card{position:absolute;width:260px;right:4px;top:90px;background:#eee8dd;transform:rotate(9deg);padding:12px 12px 18px;box-shadow:0 20px 40px #33243d22}.editorial-card img{width:100%;height:300px;object-fit:cover}.editorial-card>span{font-family:Georgia,serif;font-size:20px;line-height:1.5;display:block;padding-top:10px}.editorial-card small{font:8px Arial;letter-spacing:2px}.floating-tag{position:absolute;top:5px;right:0;border-radius:20px;padding:9px 15px;background:#eee5c9;font-size:11px;z-index:3;transform:rotate(5deg)}.art-caption{position:absolute;bottom:0;right:20px;font-size:9px;letter-spacing:1px;color:var(--muted)}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:65px;align-items:center;padding:19px 20px;font-size:10px;letter-spacing:2px;overflow:hidden;white-space:nowrap}.ticker i{font-size:19px;color:#a489ba;font-style:normal}.section{max-width:1184px;margin:auto;padding:65px 0}.how{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:38px}.step>span{font-family:Georgia,serif;font-size:32px;color:#a89aaf}.step p{color:var(--muted);font-size:13px;max-width:210px}.launch{background:#ede7f2;border-radius:var(--radius);padding:38px 44px;display:grid;grid-template-columns:1fr 1.1fr;gap:40px}.launch h2{font-size:27px}.launch p{font-size:12px}.launch label{font-size:12px}.email-row{display:flex;gap:10px;margin:7px 0 13px}input[type=email],input[type=password],input[type=number],input[type=text],select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;min-width:0;max-width:100%;color:var(--ink)}.email-row input{flex:1;width:100px}.check{display:flex;gap:9px;align-items:flex-start;font-size:12px}.check input{accent-color:#80668c;margin-top:6px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.badge{border:1px solid #c9bdcf;border-radius:20px;padding:5px 12px;font-size:9px;letter-spacing:1.5px;white-space:nowrap}.muted{color:var(--muted)}.notice{font-size:12px;background:#eee9dc;padding:12px 17px;border-radius:10px;margin:24px 0}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.upload-card,.options-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fcfbf8}.card-heading{display:flex;justify-content:space-between;letter-spacing:1.5px;font-size:10px;margin-bottom:22px}.dropzone{display:flex;min-height:230px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #b7a8c2;background:#f2eef5;border-radius:16px;cursor:pointer;padding:25px;position:relative}.dropzone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.dropzone:focus-within{outline:3px solid #9f88b8}.dropzone strong{font-size:15px;font-weight:500}.dropzone>span:last-of-type{font-size:11px;color:var(--muted);margin-top:10px}.upload-icon{font-size:30px;color:#8a739c}.hint{font-size:11px;color:var(--muted);line-height:1.8}.thumbnails{display:flex;gap:8px;margin-top:14px}.thumbnails img{height:65px;width:65px;border-radius:9px;object-fit:cover}.mood-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mood{position:relative;border:1px solid var(--line);padding:14px;border-radius:14px;cursor:pointer}.mood:has(input:checked){border:2px solid #9279a5;padding:13px;background:#f4eff8}.mood input{position:absolute;top:10px;right:10px;accent-color:#80668c}.mood-swatch{display:flex;align-items:center;justify-content:center;height:65px;border-radius:7px;font-size:32px;margin-bottom:10px}.daylight .mood-swatch{background:#eae0ce;color:#ae9371}.rooftop .mood-swatch{background:#353640;color:#d5c9db}.mood strong{font-size:13px;display:block}.mood small{font-size:10px;color:var(--muted)}.outfit{font-size:12px;color:var(--muted);margin:18px 0}#frameOptions{display:flex;align-items:center;gap:20px;font-size:12px}select{padding:8px 12px}.consent{margin:22px 0 15px}.consent a{text-decoration:underline}.wide{width:100%;justify-content:space-between}.status{font-size:12px;min-height:20px}.status.error{color:#a23243}.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.result-card{border:1px solid var(--line);background:white;padding:9px;border-radius:14px}.result-card img{width:100%;border-radius:8px;display:block}.result-card a{display:block;padding:10px;font-size:12px;text-align:center;text-decoration:underline}.result-card.strip{max-width:190px}.feedback{display:flex;flex-wrap:wrap;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:18px}.feedback h3{width:100%}.feedback label{font-size:12px}.delete-button,.link-button{border:0;background:none;text-decoration:underline;font-size:12px;color:var(--muted);padding:10px 0}.delete-button{margin-top:18px;color:#95495b}footer{border-top:1px solid var(--line);max-width:1184px;margin:auto;padding:35px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}footer>span{font-size:9px;letter-spacing:2px}footer div{display:flex;gap:20px;align-items:center;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#302b33;color:white;border-radius:12px;padding:14px 24px;max-width:90vw;font-size:13px;z-index:10}.admin-page{max-width:1100px;margin:auto;padding:40px 25px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metric{background:#ece6f3;border-radius:14px;padding:20px}.metric strong{font-size:30px;display:block}.admin-page table{width:100%;border-collapse:collapse;margin:20px 0;font-size:13px}.admin-page td,.admin-page th{padding:10px;border-bottom:1px solid var(--line);text-align:left}.admin-page form{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.privacy{max-width:800px;margin:40px auto;padding:25px}.privacy p,.privacy li{font-size:14px}.progress-track{height:6px;background:#e4dfeb;border-radius:5px;margin:15px 0;overflow:hidden}.progress-track>span{height:100%;display:block;background:#9b83ae;transition:width .5s}
@media(max-width:1000px){.site-header{padding:0 25px}.hero{padding:30px 25px 55px;gap:20px}.hero-art{transform:scale(.85);transform-origin:center}.section,footer{margin-left:25px;margin-right:25px}.how{gap:20px}.text-link{display:block;margin:20px 0 0}.hero-details{gap:8px}.launch{grid-template-columns:1fr 1fr;padding:30px}.ticker{gap:25px}}
@media(max-width:700px){.site-header{height:80px;padding:0 20px}.brand{font-size:30px}nav{gap:15px}nav>a:first-child{display:none}.hero{grid-template-columns:1fr;padding:25px 22px 40px;gap:0}.hero-copy{z-index:3}h1{font-size:40px;letter-spacing:-1px;margin-top:18px}.hero-description{font-size:13px}.hero-art{height:450px;transform:scale(.82);margin:-10px -20px -45px}.orb{left:0;width:100%;height:360px}.film-strip{left:25px}.editorial-card{right:5px;width:230px;top:80px}.editorial-card img{height:260px}.floating-tag{font-size:10px;right:0}.art-caption{bottom:-20px}.ticker{justify-content:flex-start;font-size:8px;gap:22px;padding:13px 20px}.section{padding:40px 0;margin-left:20px;margin-right:20px}.how{grid-template-columns:1fr 1fr;gap:20px}.how>div:first-child{grid-column:1/-1}.how h2 br{display:none}.step p{max-width:none}.step:last-child{grid-column:1/-1}.launch{grid-template-columns:1fr;padding:25px;gap:10px}.email-row{flex-wrap:wrap}.email-row input{flex-basis:100%;width:100%}.studio-grid{grid-template-columns:1fr}.upload-card,.options-card{padding:22px}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}h2{font-size:28px}.results-grid{grid-template-columns:1fr 1fr}.thumbnails img{width:48px;height:48px}.feedback{align-items:flex-start;flex-direction:column}footer{margin:0 20px;flex-direction:column;align-items:flex-start}footer div{flex-wrap:wrap}.admin-grid{grid-template-columns:1fr}.admin-page{overflow-wrap:anywhere}.admin-page table{font-size:11px}.admin-page td{padding:7px}}

.language-switch{display:inline-flex;flex-shrink:0;gap:3px;padding:3px;border:1px solid var(--line);border-radius:24px;align-items:center}
.language-switch button{border:0;border-radius:20px;background:transparent;color:var(--muted);padding:7px 10px;font-size:12px;line-height:1.2;min-height:32px}
.language-switch button[aria-pressed=true]{background:var(--ink);color:white}
.second-dropzone{min-height:110px;margin-top:16px;padding:18px}
.thumbnails{flex-wrap:wrap}
@media(max-width:800px){
 .language-switch button{min-width:44px;min-height:44px}
 .site-header .nav-pill{min-height:44px;display:inline-flex;align-items:center}
 input[type=email],input[type=password],input[type=number],input[type=text],select{font-size:16px;min-height:44px}
 .check{min-height:44px;align-items:center;line-height:1.6}
 .check input{flex:0 0 20px;width:20px;height:20px;margin:0}
 .text-link,.delete-button,.link-button,.result-card a,footer div>a{min-height:44px;display:inline-flex;align-items:center}
 .result-card a{width:100%;justify-content:center;overflow-wrap:anywhere}
 .result-card,.studio-grid>*{min-width:0}
 #frameOptions{flex-wrap:wrap;gap:8px 16px}
 .admin-page table{display:block;overflow-x:auto}
}
.privacy>.language-switch,.admin-page>.language-switch{float:right;margin-top:10px}
html[lang=en] h1{font-size:clamp(34px,3.5vw,52px);letter-spacing:-1.5px}
@media(max-width:700px){.site-header{height:auto;min-height:80px;gap:10px;flex-wrap:wrap;padding:15px 20px}.site-header nav{gap:8px}.site-header .nav-pill{padding:8px 12px}.site-header .nav-pill span{margin-left:5px}.brand sup{margin-left:7px}.language-switch button{padding:7px 8px}html[lang=en] h1{font-size:36px}}

@media(max-width:700px){
 html[lang=en] .how h2 br{display:initial}
 .text-link{display:flex;width:fit-content;margin-left:0}
 .results-grid{align-items:start}
 .result-card.strip{grid-column:1/-1;justify-self:center;order:1;width:190px}
}
/* Booth controls stay in one focused panel, with generous touch targets. */
[hidden]{display:none!important}
#shootForm{display:block;max-width:850px;margin:auto}
.booth-steps{display:flex;list-style:none;padding:0;gap:8px;margin:28px 0;counter-reset:step;overflow-wrap:anywhere}
.booth-steps li{flex:1;padding:14px 10px;border-radius:14px;background:#eeeae5;color:#665e58;font-size:14px;counter-increment:step}
.booth-steps li:before{content:counter(step) ' · '}
.booth-steps li.active{background:#292522;color:#fff}
.booth-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:24px 0}
.selection-card{padding:12px;border:1px solid #d7cfc5;border-radius:16px}
.selection-card h3{margin:0 0 10px}.selection-card select{width:100%;min-height:44px;margin-top:12px}
.selection-card .check{min-height:48px}.selection-card img{object-fit:contain}
#uploadStep>.button{margin:12px 0}#reviewFrame{min-width:180px}
@media(max-width:600px){.booth-steps{gap:4px}.booth-steps li{padding:10px 5px;font-size:11px}.booth-actions>.button{width:100%}.selection-card{padding:8px}.selection-card .check{font-size:13px}.booth-actions{gap:12px}}
#framePreview{width:140px;display:grid;gap:5px;padding:10px;margin-top:12px;background:#f5eadb;border:1px solid #cfc3b5}#framePreview.ink{background:#242124}#framePreview img{width:100%;aspect-ratio:1;object-fit:contain}
.thumbnails figure{margin:0;width:100px}.thumbnails figure img{width:100%;height:90px;object-fit:cover}.thumbnails figcaption{font-size:11px;line-height:1.4;margin-top:4px;overflow-wrap:anywhere}
