:root{--ink:#1c1b18;--cream:#f8f5ef;--wood:#b97943;--gold:#d99854;--line:#dfd7ca}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.shell{max-width:860px;margin:auto;padding:20px}.nav{display:flex;justify-content:space-between;align-items:center;padding:16px 0}.logo{font-family:Georgia,serif;font-size:21px;font-weight:700}.logo span{color:#a35b2e}.hero{min-height:88vh;display:grid;align-content:center;grid-gap:24px;gap:24px}.eyebrow{letter-spacing:2px;font-size:12px;text-transform:uppercase;color:#795735}.hero h1{font:clamp(42px,10vw,75px)/.98 Georgia,serif;margin:0;max-width:700px}.lead{font-size:19px;line-height:1.5;max-width:570px;color:#5f5b52}.button{border:0;border-radius:10px;background:var(--ink);color:#fff;padding:16px 20px;font-weight:700;font-size:16px;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}.button.alt{background:#e9e2d7;color:var(--ink)}.button:disabled{opacity:.5;cursor:not-allowed}.step{color:#7b644c;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.title{font:38px Georgia,serif;margin:8px 0}.sub{color:#625e56;line-height:1.5}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 4px 18px #38210a08}.stack{display:grid;grid-gap:16px;gap:16px}.upload{border:2px dashed #c6ad92;text-align:center;padding:42px 20px;border-radius:16px;background:#fffdf9;cursor:pointer}.upload input{display:none}.preview-image{width:100%;max-height:350px;object-fit:contain;background:#eee;border-radius:12px}.styles{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.style{padding:0;text-align:left;overflow:hidden;cursor:pointer}.style.selected{outline:3px solid var(--wood)}.style-art{height:100px;background:repeating-linear-gradient(135deg,#222 0 1px,#faf8f4 1px 8px);display:grid;place-items:center;font:28px Georgia,serif}.style-copy{padding:12px}.style-copy b{display:block}.toolbar{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:10px 12px;border:1px solid var(--line);background:#fff;border-radius:20px;cursor:pointer}.models{display:grid;grid-gap:10px;gap:10px}.model{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;padding:15px;border-radius:12px;cursor:pointer}.model.selected{border:2px solid var(--wood);background:#fff8ed}.case{width:255px;height:500px;border-radius:36px;background:linear-gradient(120deg,#d7a56e,#925f36);margin:18px auto;position:relative;padding:85px 20px 30px;box-shadow:inset 0 0 0 7px #e2bc87,0 15px 30px #58300c44}.camera{position:absolute;left:18px;top:18px;background:#31261f;width:72px;height:72px;border-radius:21px}.camera:after{content:"●  ●\A   ●";white-space:pre;color:#afa296;font-size:24px;line-height:22px;padding:8px;display:block}.artwork{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.4);mix-blend-mode:multiply}.controls{display:flex;gap:10px;align-items:center;justify-content:center}.form{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form label{display:grid;grid-gap:6px;gap:6px;font-weight:700;font-size:14px}.form .full{grid-column:1/-1}input,select{padding:13px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}.summary{display:grid;grid-gap:10px;gap:10px}.row{display:flex;justify-content:space-between;gap:15px}.total{font-size:21px;font-weight:700;padding-top:12px;border-top:1px solid var(--line)}.notice{padding:14px;border-radius:10px;background:#f1e7d8;color:#654629}.center{text-align:center}.loading{width:58px;height:58px;border:5px solid #eadfd1;border-top-color:#8b542e;border-radius:50%;animation:spin 1s linear infinite;margin:50px auto}@keyframes spin{to{transform:rotate(1turn)}}table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}td,th{padding:12px;text-align:left;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}.status{font-size:12px;padding:5px 8px;border-radius:15px;background:#f0e6d8;white-space:nowrap}@media(min-width:700px){.styles{grid-template-columns:repeat(3,1fr)}.shell{padding:28px}.hero:after{content:"";position:absolute;width:300px;height:300px;border:1px solid #d9be9e;border-radius:50%;right:9%;bottom:5%;z-index:-1}}@media(max-width:480px){.form{grid-template-columns:1fr}.form .full{grid-column:auto}}.v3-shell{width:min(1180px,100%);max-width:none;padding-bottom:max(32px,env(safe-area-inset-bottom));overflow-x:clip}.progress-track{height:4px;margin-bottom:16px;border-radius:99px;background:#e7ddcf;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--wood);transition:width .25s ease}.flow-heading{align-items:center}.checkout,.photo-prep,.rights-card,.upload-step{max-width:760px;margin:5vh auto 0}.capture-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.capture-actions label{min-height:64px}.mandatory-check{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;line-height:1.45;cursor:pointer}.mandatory-check input{width:22px;height:22px;flex:0 0 22px;margin:0}.upload-status{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:12px;background:#eff8f0;color:#185e29}.upload-status>div{display:flex;justify-content:space-between;gap:12px}.upload-status progress{width:100%;height:10px}.prep-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);grid-gap:18px;gap:18px}.prep-preview{min-height:520px;display:grid;place-items:center;overflow:hidden;border-radius:18px;background:#eee}.prep-preview img{display:block;width:100%;height:100%;max-height:620px;object-fit:contain;transition:.2s}.decoration-preview>.stack>.button,.decoration-preview>.stack>.help-strip,.decoration-preview>.stack>.layout,.decoration-preview>.stack>header{display:none}.checkout{padding-bottom:30px}@media(max-width:700px){.v3-shell{padding:12px 16px max(28px,env(safe-area-inset-bottom))}.v3-shell .title{font-size:clamp(30px,9vw,38px)}.capture-actions,.prep-grid{grid-template-columns:1fr}.capture-actions .button{width:100%}.prep-preview{min-height:360px}.form{grid-template-columns:1fr}.form .full{grid-column:auto}.flow-heading{position:-webkit-sticky;position:sticky;top:0;z-index:20;padding:8px 0;background:var(--cream)}.button,.chip,button,input,select{min-height:44px}}.prep-preview{position:relative;touch-action:none;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.crop-guide{inset:7%;border:1px dashed #fff;box-shadow:0 0 0 999px #00000012}.crop-guide,.crop-hint{position:absolute;pointer-events:none}.crop-hint{left:50%;bottom:14px;transform:translateX(-50%);width:max-content;max-width:90%;padding:7px 11px;border-radius:99px;background:#1c1815cc;color:#fff;font-size:11px;text-align:center}.range-label{display:grid;grid-gap:8px;gap:8px;font-weight:700}.text-button{justify-self:start;border:0;background:transparent;color:#70441f;text-decoration:underline;cursor:pointer;font:inherit;padding:6px 0}.required-star{color:#c62828;font-weight:900}.form label:has(>input[required]){position:relative}.form label:has(>input[required]):before{content:"*";position:absolute;right:4px;top:0;color:#c62828;font-size:18px;font-weight:900}.v3-shell{position:relative;isolation:isolate;min-height:100vh}.v3-shell>:not(.step-video-background):not(.step-video-fallback){position:relative;z-index:1}.step-video-background,.step-video-fallback{position:fixed;inset:0;z-index:-1;background:#f4eee5;pointer-events:none}.step-video-background video{width:100%;height:100%;object-fit:cover;opacity:.58}.step-video-background span{position:absolute;inset:0;background:linear-gradient(120deg,#f8f5ef70,#f8f5ef38);-webkit-backdrop-filter:blur(.35px);backdrop-filter:blur(.35px)}.v3-shell>.stack,.v3-shell>section{padding:clamp(8px,1.4vw,18px);border:0;border-radius:18px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.style-flow>.nav{height:20px;min-height:0;padding:0}.style-flow>.nav .logo{display:none}.style-flow>.progress-track{margin:2px 0 4px}.style-flow>.flow-heading{min-height:30px}.style-flow>.flow-heading>.step{font-size:10px}.style-flow>section{padding:0}@media(prefers-reduced-motion:reduce){.step-video-background{display:none}}