html{scroll-behavior:smooth}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink);padding:12px 16px;border-radius:8px}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9b5a2a;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;left:10px;top:-100px}.skip:focus{top:10px;z-index:5;background:white;padding:15px}.magnet-hero{padding:65px 7vw;display:grid;grid-template-columns:1.3fr 1fr;gap:50px;background:#e9dfcd;align-items:center}.magnet-hero h1{font-size:clamp(35px,4.5vw,65px);letter-spacing:-.045em;line-height:1.06;margin:18px 0}.magnet-hero em{color:#77723d;font-family:Georgia,serif;font-weight:400}.magnet-hero p{max-width:500px;line-height:1.8;color:#55534d}.hero-tags{display:flex;gap:20px;font-size:12px;margin-top:24px}.hero-art{position:relative;height:270px;max-width:430px}.sample{position:absolute;display:flex;flex-direction:column;justify-content:center;text-align:center;width:190px;height:190px;background:#77723d;color:#fff3df;box-shadow:6px 12px 0 #c8bda9;font-family:Georgia,serif;font-size:21px;transform:rotate(-12deg);top:0;left:5px}.sample strong{font-size:34px}.sample small{font:9px sans-serif;letter-spacing:.15em;margin-top:15px}.sample.square{background:#b6784d;left:175px;top:55px;transform:rotate(9deg)}.round{border-radius:50%}.art-caption{position:absolute;bottom:0;left:20px;font:italic 18px Georgia,serif}.workspace{max-width:1240px;margin:55px auto;padding:0 30px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:55px;align-items:start}.step{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--line);scroll-margin-top:25px}h2{font-size:28px;letter-spacing:-.035em;margin:12px 0 20px}p{line-height:1.6;color:#55534d}.choices{display:flex;gap:12px;flex-wrap:wrap}.choices button{flex:1;min-width:110px;padding:20px 12px;text-align:left;background:#fffaf2}.choices button[aria-pressed=true]{outline:2px solid #77723d;background:#eae9d8}.choices strong,.choices small{display:block}.choices strong{font-size:22px;margin-bottom:8px}.choices small{color:#55534d}.shape-icon{display:block;width:24px;height:24px;background:#77723d;margin-bottom:12px}.bundles button{min-width:90px}.upload{display:block!important;background:#eee8dc;border:1px dashed #918867;border-radius:12px;padding:24px;text-align:center;font-weight:bold}.upload input{margin:15px auto;max-width:100%}.upload small{display:block;font-weight:normal;color:#55534d}.help{font-size:13px;color:#666359;line-height:1.6}.allocation{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px}.text-button{border:0;text-decoration:underline;font-size:13px}progress{width:100%;height:7px;accent-color:#77723d}.empty{text-align:center;padding:35px;color:#777268;border:1px solid var(--line);border-radius:12px;line-height:1.8}.photo-card{display:grid;grid-template-columns:185px minmax(0,1fr);gap:22px;border:1px solid var(--line);padding:18px;margin:18px 0;border-radius:12px;background:#fffcf6}.preview-wrap{position:relative;align-self:start;overflow:hidden}.preview-wrap canvas{display:block;width:100%;aspect-ratio:1}.guide{position:absolute;border:2px dashed white;box-shadow:0 0 0 1px #3338;pointer-events:none}.photo-card h3{margin:0 0 12px;font-size:14px;overflow-wrap:anywhere}.photo-card label{font-size:12px}.photo-card input[type=range]{width:100%;padding:0;accent-color:#77723d}.copy-row{display:flex;gap:8px;align-items:center;margin:12px 0}.copy-row input{width:65px}.photo-card .small-actions{display:flex;flex-wrap:wrap;gap:4px}.photo-card .small-actions button{font-size:12px;padding:7px}.packaging{display:flex!important;gap:12px;align-items:flex-start;line-height:1.5;margin:20px 0}.packaging input{width:19px;height:19px;flex:none;accent-color:#77723d}.packaging small{display:block;color:#666359;margin-top:4px}label{display:block;margin:12px 0}input:not([type=checkbox]):not([type=range]):not([type=file]),select,textarea{display:block;width:100%;padding:12px;margin-top:7px;background:#fffcf6;border:1px solid var(--line);border-radius:7px}textarea{min-height:85px;resize:vertical}.summary{position:sticky;top:24px;background:#e9dfcd;padding:28px;border-radius:14px}.summary h2{font-size:25px}.summary dl{display:grid;grid-template-columns:1fr auto;gap:16px}.summary dd{margin:0;text-align:right}.total{border-top:1px solid #c8bda9;padding-top:18px;font-weight:bold;font-size:22px}.primary{background:#77723d;color:white;border:0;font-weight:bold;padding:16px 22px}.summary .primary{width:100%}.bottom-section{max-width:1180px;margin:50px auto;padding:35px;border:1px solid var(--line);border-radius:15px;scroll-margin-top:25px}.quote{background:#e9dfcd}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.bag-item{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.bag-item strong,.bag-item small{display:block;margin:5px 0}.bag-item button{margin:4px}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#191914;color:white;border-radius:10px;padding:18px 24px;max-width:90vw;width:max-content;z-index:10;box-shadow:0 4px 25px #0003}#message button{color:white;margin-left:15px;border-color:#aaa}.photo-card .copy-row input{width:65px}@media(max-width:850px){.magnet-hero{grid-template-columns:1fr}.hero-art{display:none}.workspace{grid-template-columns:1fr;gap:10px;padding:0 20px;margin-top:35px}.summary{position:static}.bottom-section{margin:30px 20px;padding:24px}.photo-card{grid-template-columns:135px minmax(0,1fr);gap:15px;padding:12px}.field-grid{grid-template-columns:1fr}.bag-item{align-items:flex-start;flex-direction:column}.choices strong{font-size:19px}.hero-tags{flex-wrap:wrap}.photo-card .small-actions{flex-direction:column}.allocation{font-size:14px}}@media(max-width:370px){.photo-card{grid-template-columns:1fr}.preview-wrap{max-width:220px;width:100%;margin:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:850px){.bundles{display:grid;grid-template-columns:1fr 1fr}}
