@charset "UTF-8";
:root{--ink:#292525;--muted:#8b817b;--paper:#f7f5ef;--accent:#7e3f49;--line:#e7e1d8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 "Segoe UI","Malgun Gothic",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ba8b91;outline-offset:4px}.nav{max-width:1440px;margin:auto;padding:27px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:700 29px/1 Georgia,serif;letter-spacing:-1.5px}.brand span{font-size:8px;color:var(--accent);vertical-align:top;margin:4px 0 0 4px;display:inline-block}.navNote{font-size:10px;letter-spacing:2px;color:var(--muted)}.navCta{font-size:12px;font-weight:600}.navCta span{padding-left:24px}.hero{max-width:1440px;margin:auto;padding:75px 7% 65px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.3px;color:var(--accent);margin:0 0 14px}h1{font-size:clamp(34px,4.5vw,62px);line-height:1.3;letter-spacing:-3px;margin:0 0 22px;font-weight:600}h1 em{font-style:normal;color:var(--accent)}.heroCopy{font-size:14px;color:#7a6d68;line-height:1.9}.heroCta{background:var(--ink);color:white;border-radius:30px;padding:15px 24px;display:inline-flex;align-items:center;gap:38px;margin:17px 0 25px;font-size:12px}.heroMeta{display:flex;gap:18px;color:var(--muted);font-size:10px}.heroMeta span+span{border-left:1px solid #d9ccc2;padding-left:18px}.heroVisual{height:360px;position:relative;border-radius:50% 50% 12px 12px;background:#e9dfd7}.heroCard{position:absolute;background:#fffdf9;border-radius:120px 120px 8px 8px;overflow:hidden;box-shadow:0 14px 30px #573b3220;width:44%;top:18px}.heroCard img{display:block;width:100%;height:225px;object-fit:contain}.heroCard span{display:block;text-align:center;font-size:9px;letter-spacing:1.4px;padding:15px}.heroCard.one{left:8%;transform:rotate(-9deg)}.heroCard.two{right:3%;top:58px;transform:rotate(9deg)}.heroTag{position:absolute;bottom:0;left:3%;font:25px/1.2 Georgia,serif;transform:rotate(-7deg);color:var(--accent)}.heroCircle{position:absolute;right:-10px;top:-15px;border:1px solid #b1a295;border-radius:50%;width:61px;height:61px;display:grid;place-items:center;font:32px Georgia;color:#9d7c72}main{max-width:1440px;margin:auto;padding:46px 5% 80px;border-top:1px solid var(--line)}.sectionIntro{text-align:center;margin-bottom:35px}.sectionIntro h2{font-size:28px;letter-spacing:-1px;margin:8px 0}.sectionIntro>p:last-child{color:var(--muted);font-size:13px}.studio{display:grid;grid-template-columns:360px minmax(0,1fr);gap:30px;align-items:start}.studioPanel{padding:26px;background:#fffdfa;border:1px solid var(--line);border-radius:18px}.studioPanel section{margin-bottom:28px}.stepTitle{display:flex;gap:12px;align-items:center;margin-bottom:14px}.stepTitle>span{font:italic 17px Georgia;color:#a48678}.stepTitle h3{font-size:14px;margin:0;letter-spacing:-.3px}.upload{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;padding:24px 14px;border:1px dashed #cfb6a4;border-radius:12px;background:#f8f4ef;cursor:pointer}.uploadIcon{font-size:24px;color:var(--accent)}.upload strong{font-size:12px;font-weight:600;margin:4px 0}.upload>span:last-of-type{font-size:10px;color:var(--muted)}.upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.note{font-size:10px;color:var(--muted);line-height:1.8}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.catalogOption{position:relative;border:1px solid var(--line);border-radius:10px;padding:9px;text-align:center;cursor:pointer;background:white;transition:background .2s,border-color .2s}.catalogOption:has(input:checked){border-color:var(--accent);background:#f8eeee;box-shadow:0 0 0 1px var(--accent)}.catalogOption input{position:absolute;top:9px;left:8px;accent-color:var(--accent);width:12px;height:12px}.catalogOption img{display:block;height:65px;width:100%;object-fit:contain;margin-bottom:6px}.catalogOption strong{font-size:10px;font-weight:600;display:block}.catalogOption small{font-size:9px;color:var(--muted)}#facePreview{width:100%;height:150px;object-fit:contain;margin-top:12px;border-radius:10px}#swatches{display:flex;flex-wrap:wrap;gap:10px}#swatches button{width:30px;height:30px;border:3px solid #fffdfa;outline:1px solid #ddd2c9;border-radius:50%;padding:0}#swatches button.active{outline:2px solid var(--accent)}.colorRow{display:flex;gap:10px;align-items:center;margin-top:18px;font-size:10px}.colorRow label{flex:1}.colorRow input{width:35px;height:28px;background:transparent;border:0;padding:0}#colorHex{color:#98837c;font-size:10px}#colorName{font-size:11px;color:var(--accent);margin:6px 0 0}.consent{font-size:10px;display:flex;gap:8px;color:var(--muted);margin-bottom:16px}.consent input{accent-color:var(--accent);flex-shrink:0;margin:3px 0;width:13px;height:13px}.primary{width:100%;padding:16px 12px;border:0;border-radius:9px;background:var(--accent);color:white;font-size:12px;font-weight:600}.primary span{margin-left:12px}#status{font-size:11px;color:var(--accent);margin:14px 0;overflow-wrap:anywhere}.disclaimer{border-top:1px solid var(--line);padding-top:14px;margin-bottom:0}.studioStage{min-width:0}.resultHead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:5px 0 20px}.resultHead h3{font-size:17px;margin:0}.resultHead .eyebrow{font-size:9px;margin-bottom:6px}.resultTools{display:flex;gap:8px;flex-wrap:wrap}.button,.resultTools button,#styleDetail button{display:inline-block;border:1px solid #d3c5bc;background:transparent;border-radius:7px;padding:9px 12px;font-size:10px}.emptyState{height:155px;border:1px solid var(--line);background:#efe8df;border-radius:14px;text-align:center;padding:18px;margin-bottom:20px}.emptyMark{font:italic 38px Georgia;color:#b59a8a}.emptyState p{font-size:12px;margin:5px}.emptyState small{font-size:10px;color:var(--muted)}#references figure{margin:0;overflow:hidden;border-radius:13px;border:1px solid var(--line);background:white}#references figure img{display:block;width:100%;height:auto}#references figcaption{font-size:11px;padding:12px 16px;background:#fffdf9}#resultArea{margin:20px 0;border:1px solid var(--line);padding:14px;border-radius:10px}summary{cursor:pointer;font-size:11px;color:#886d63}#result{display:block;width:100%;height:auto;margin-top:14px}#result.zoomed{width:auto;max-width:none}#resultArea{overflow:auto}#styleCardsArea h3{font-size:17px}#styleCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:13px}.styleCard{background:#fffdfa;border:1px solid var(--line);border-radius:12px;padding:9px;min-width:0}.styleImage{width:100%;padding:0;border:0;border-radius:8px;overflow:hidden;background:#eee;cursor:zoom-in}.styleImage img{display:block;width:100%;height:auto}.styleCard h3{font-size:10px!important;line-height:1.5;margin:10px 0 7px}.styleCard a{font-size:9px;color:var(--accent)}.previousResult{margin-top:25px;border-top:1px solid var(--line);padding-top:16px}.previousResult label{display:block;font-size:10px;margin:12px 0}.previousResult input{width:100%;font-size:10px}.closing{padding:60px 5%;text-align:center;background:#eee7df}.closing>p{font-size:26px;line-height:1.5;margin-bottom:0}.closing em{color:var(--accent);font-style:normal}footer{display:flex;justify-content:space-between;padding:22px 5%;font-size:9px;color:var(--muted);letter-spacing:1px}#styleDetail{border:0;background:#fffdfa;border-radius:16px;max-width:90vw;max-height:90vh;overflow:auto;padding:20px}#styleDetail::backdrop{background:#23191bbb}#styleDetail form{text-align:right}#styleDetail h2{font-size:16px}#styleDetailImage{width:min(550px,75vw);height:auto;display:block;border-radius:10px;margin-bottom:16px}[hidden]{display:none!important}.isBusy .primary{animation:pulse 1.8s infinite}@keyframes pulse{50%{opacity:.65}}@media(max-width:1050px){.studio{grid-template-columns:320px minmax(0,1fr);gap:20px}.studioPanel{padding:20px}.hero{padding:50px 5%}.heroVisual{height:310px}.heroCard img{height:180px}.heroMeta{gap:9px}.heroMeta span+span{padding-left:9px}}@media(max-width:760px){.nav{padding:22px 6%}.navNote{display:none}.hero{grid-template-columns:1fr;gap:25px;padding:35px 6% 40px}.heroVisual{height:260px;max-width:420px;width:90%;margin:0 auto}.heroCard{width:42%;top:0}.heroCard.two{top:35px}.heroCard img{height:155px}.heroCard span{padding:10px}.heroTag{bottom:8px}.hero h1{letter-spacing:-2px}.heroCopy{font-size:13px}.heroCta{margin-bottom:18px}.studio{grid-template-columns:1fr}.studioPanel{padding:22px}.choices{grid-template-columns:repeat(3,1fr)}.catalogOption img{height:75px}main{padding:35px 5%}.sectionIntro h2{font-size:24px}.resultHead{flex-wrap:wrap;margin-top:14px}#styleCards{grid-template-columns:repeat(2,minmax(0,1fr))}footer{letter-spacing:0}.navCta{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.isBusy .primary{animation:none}}
/* Face photo picker */
.photoUpload{border-radius:16px;background:linear-gradient(145deg,#f8f1ed,#f1e8e0);border:1px solid #e3d3c9;overflow:hidden}.photoUpload .upload{border:0;background:transparent;padding:24px 14px 22px;gap:0;transition:background .2s}.photoUpload .upload:hover{background:#ffffff55}.photoUpload .upload:focus-within{outline:2px solid var(--accent);outline-offset:-3px}.portraitGuide{position:relative;width:88px;height:100px;color:#b18b81;display:block;margin-bottom:9px}.portraitGuide svg{width:100%;height:100%}.portraitPlus{position:absolute;bottom:3px;right:0;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--accent);color:white;font-size:19px;border:3px solid #f6efea}.uploadKicker{font-size:8px;letter-spacing:2px;color:#a18278}.photoUpload .upload strong{font-size:15px;letter-spacing:-.5px;margin:7px 0}.uploadHint{font-size:10px;color:#8b7770;text-align:center}.uploadAction{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:18px;padding:10px 18px;border-radius:8px;background:#fffdfa;border:1px solid #dac4b9;color:var(--accent);font-size:11px;font-weight:600;box-shadow:0 3px 8px #51342706}.photoTips{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:12px}.photoTips span{font-size:9px;padding:3px 8px;background:#f4ede6;border-radius:20px;color:#88756a}.photoTips span::before{content:'✓';margin-right:4px;color:var(--accent)}.photoFormat{text-align:center;font-size:9px;color:#aa9990;margin:8px 0 0}.photoUpload.hasPhoto .upload{display:none}.photoPreviewFrame{position:relative;background:#eee7e0;padding:14px}.photoPreviewFrame #facePreview{display:block;width:100%;height:230px;object-fit:contain;margin:0;border-radius:10px}.photoReady{position:absolute;bottom:22px;left:22px;background:#fffdf5ed;border:1px solid #ffffff88;border-radius:20px;padding:4px 9px;font-size:9px;color:#597363;box-shadow:0 2px 6px #0000000a}.photoSelectedInfo{padding:14px;background:#fffaf6;display:flex;align-items:center;gap:10px;justify-content:space-between}.photoSelectedInfo>div{min-width:0;flex:1}.photoSelectedInfo strong{display:block;font-size:10px;font-weight:600}.photoSelectedInfo span{display:block;font-size:9px;color:#9c8880;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;margin-top:3px}.photoSelectedInfo button{flex-shrink:0;border:1px solid #decbc1;border-radius:6px;padding:7px 9px;background:white;color:var(--accent);font-size:9px}@media(max-width:760px){.photoPreviewFrame #facePreview{height:260px}.photoUpload .upload{padding:22px 16px}.photoSelectedInfo strong{font-size:11px}.photoSelectedInfo button{font-size:10px;padding:9px 12px}}
