@font-face{font-family:'DM Sans';src:url('assets/fonts/DMSans.ttf') format('truetype');font-style:normal;font-weight:100 1000;font-display:swap}@font-face{font-family:'DM Serif Display';src:url('assets/fonts/DMSerifDisplay.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#f7f4ee;--ink:#24342f;--muted:#68716a;--line:#dddcd3;--accent:#cc583b;--green:#264d3b;--white:#fffdf9;--sans:'DM Sans',sans-serif;--serif:'DM Serif Display',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #cc583b;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}fieldset{border:0;padding:0;margin:0}legend{padding:0;width:100%}input,textarea{border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);padding:11px 12px;width:100%;min-width:0}textarea{resize:vertical;overflow-wrap:anywhere}.topbar{height:98px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{display:flex;align-items:center;gap:11px;font-size:25px;font-weight:750;line-height:1}.brand-mark{height:45px;width:45px;background:var(--accent);color:#fffdf9;border-radius:13px;font-family:var(--serif);font-size:34px;text-align:center;line-height:41px}.brand-small{display:block;font-size:9px;letter-spacing:2.2px;margin-top:7px;font-weight:600}.top-note{font-size:12px;color:var(--muted)}.top-link{font-size:12px;font-weight:700}.top-link span{margin-left:22px}main{max-width:1600px;padding:0 5vw;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;padding:48px 0 43px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;line-height:1.5}.intro .eyebrow{display:flex;align-items:center;gap:9px}.eyebrow>span{background:var(--accent);height:6px;width:6px;border-radius:50%}h1{font-family:var(--serif);font-size:82px;line-height:1.08;letter-spacing:-3px;margin:12px 0 17px;font-weight:400}h1 em{font-style:normal;color:var(--accent)}.intro-copy{font-size:16px;line-height:1.6;color:var(--muted)}.intro-aside{display:flex;align-items:center;gap:27px;padding:15px 32px 0 0;color:var(--muted);font-size:13px;line-height:1.8}.intro-aside strong{font-weight:600;color:var(--ink)}.sketch-star{font-size:98px;line-height:1;color:var(--accent);transform:rotate(-12deg)}.studio{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(330px,1.6fr) minmax(270px,1fr);gap:28px;align-items:start;border-top:1px solid var(--line);padding-top:26px}.section-label{display:flex;align-items:center;gap:8px;margin-bottom:20px;min-height:25px}.section-label h2{font-size:14px;font-weight:750}.step{font-size:10px;color:var(--accent);border:1px solid #d7b5a7;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-weight:700}.count{font-size:10px;color:var(--muted);margin-left:auto}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.template-card{border:1px solid var(--line);border-radius:8px;background:#efede4;padding:5px 5px 8px;text-align:left;position:relative;transition:border-color .15s,box-shadow .15s}.template-card canvas{width:100%;display:block;aspect-ratio:1}.template-card .template-name{display:block;font-size:10px;line-height:1.3;font-weight:700;padding:0 3px;min-height:26px}.template-card[aria-pressed=true]{border:2px solid var(--green);padding:4px 4px 7px;background:#e9eddf;box-shadow:0 0 0 2px #264d3b10}.template-card[aria-pressed=true]::after{content:'✓';position:absolute;right:5px;top:5px;background:var(--green);color:white;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:10px}.preview-top{display:flex;align-items:center;justify-content:space-between;min-height:25px;margin-bottom:20px;font-size:12px;font-weight:700;gap:8px}.live-pill{font-size:8px;letter-spacing:1px;display:flex;align-items:center;gap:5px;color:#51745a}.live-pill i{background:#648769;width:5px;height:5px;border-radius:50%}.preview-stage{background:#fffdf9;position:relative;box-shadow:0 12px 34px #313d2c0b;border:1px solid #ece9df;border-radius:3px;padding:16px 14px 33px;overflow:hidden}.preview-stage canvas{width:100%;display:block;aspect-ratio:1}.paper-corner{position:absolute;top:0;right:0;width:26px;height:26px;background:linear-gradient(45deg,#ece9e0 50%,var(--paper) 52%)}.preview-signature{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-family:var(--serif);font-size:13px;font-style:italic;color:#8b8c80}.preview-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;font-size:10px;font-weight:600}.text-button{border:0;background:none;padding:4px 0;color:var(--accent);font-size:11px;font-weight:700;white-space:nowrap}.text-button span{padding-left:7px}.preview-note{font-size:10px;line-height:1.6;color:var(--muted);max-width:380px}.controls-panel{padding-left:1px}.product-field legend,.palette-field legend{font-size:11px;font-weight:700;margin-bottom:8px}.segmented{display:flex;border:1px solid var(--line);padding:4px;border-radius:8px;gap:4px;background:#efeee6;margin-bottom:19px}.segmented button{flex:1;border:0;background:transparent;border-radius:5px;padding:8px 4px;font-size:11px;font-weight:600}.segmented button[aria-pressed=true]{background:#fffdf9;box-shadow:0 2px 5px #0000000c}.field{margin-bottom:16px}.field label{display:flex;justify-content:space-between;align-items:baseline;gap:5px;font-size:11px;font-weight:700;margin-bottom:7px}.field label span{font-size:9px;font-weight:400;color:var(--muted)}.field p{font-size:9px;margin-top:5px;color:var(--muted)}.palette-field legend{display:flex;justify-content:space-between;gap:5px}.palette-field legend span{font-size:9px;color:var(--muted);font-weight:400}.swatches{display:flex;gap:12px;margin:5px 0 20px}.swatch{height:28px;width:28px;border-radius:50%;border:3px solid var(--paper);outline:1px solid transparent;background:var(--swatch)}.swatch[aria-pressed=true]{outline:1px solid var(--ink)}.swatch:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.order-card{background:#e9eddf;border:1px solid #dbe2d0;border-radius:9px;padding:19px 17px 12px}.order-card .eyebrow{font-size:8px;letter-spacing:1.3px;color:#58704e}.order-card h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.17;margin:9px 0}.order-card>p:not(.eyebrow):not(.small-note){font-size:10px;line-height:1.6;margin-bottom:14px;color:#5c6955}.button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border:0;border-radius:6px;padding:12px 9px;font-size:11px;font-weight:750;line-height:1.35;min-height:40px;text-align:center}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:#163d2c}.button-primary:disabled{opacity:.55}.button-etsy{margin-top:8px;background:var(--accent);color:white}.button-disabled{border:1px dashed #b9c4ad;background:transparent;color:#78826f;margin-top:8px;font-weight:500;font-size:10px}.small-note{text-align:center;font-size:8px;color:#68715f;padding-top:9px}.button-outline{border:1px solid var(--line);background:var(--white);margin-top:10px;max-width:220px}.error{padding:11px;background:#fbece6;border-radius:6px;color:#85351f;margin-bottom:14px;font-size:11px}.details-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid var(--line);margin-top:32px;padding:0 0 30px;border-bottom:1px solid var(--line)}details{padding-top:20px}summary{font-size:12px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{color:var(--accent);font-size:17px;line-height:1}details[open] summary{margin-bottom:15px}details p,details label{font-size:11px;color:var(--muted);line-height:1.7;margin:10px 0;display:block}details textarea{font-size:10px;min-height:82px}.how{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;padding:53px 0 65px}.how .eyebrow{font-size:8px;color:var(--accent);letter-spacing:1.3px}.how h2{font-family:var(--serif);font-weight:400;font-size:39px;line-height:1.13;margin-top:13px;letter-spacing:-.7px}.how ol{list-style:none;margin:0;padding:2px 0;display:grid;gap:20px}.how li{display:flex;gap:18px;align-items:flex-start}.how li>span{color:var(--accent);font-family:var(--serif);font-size:22px}.how h3{font-size:13px;margin-bottom:4px}.how li p{font-size:12px;color:var(--muted);max-width:410px}footer{border-top:1px solid var(--line);padding:26px 5vw;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;gap:15px}.footer-brand{color:var(--ink);font-weight:750;font-size:13px}footer>span:last-child{font-size:9px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:var(--green);color:#fff;padding:13px 23px;border-radius:9px;box-shadow:0 8px 30px #0002;font-size:12px;opacity:0;transition:.2s;pointer-events:none;max-width:90vw;text-align:center;z-index:5}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{clip:auto;width:auto;height:auto;top:8px;left:8px;background:white;padding:12px;z-index:10}.noscript{padding:20px;background:#fbece6;text-align:center}.muted{color:var(--muted)}
@media(min-width:1500px){main{padding:0 60px}.studio{gap:38px}.template-name{font-size:11px!important}.template-grid{gap:12px}}
@media(max-width:1120px){main{padding:0 3vw}.topbar{padding:0 3vw}.studio{gap:18px;grid-template-columns:190px minmax(280px,1.3fr) minmax(245px,1fr)}.intro-aside{padding-right:0;gap:15px}.sketch-star{font-size:70px}.intro-aside p{font-size:11px}.preview-stage{padding:6px 4px 28px}.count{display:none}}
@media(max-width:900px){.top-note{display:none}.studio{grid-template-columns:minmax(280px,1.2fr) minmax(255px,1fr);gap:26px}.template-panel{grid-column:1/-1}.template-grid{display:grid;grid-template-columns:repeat(10,112px);overflow:auto;padding:4px 3px 12px;margin:0 -3px;scroll-snap-type:x proximity}.template-card{scroll-snap-align:start}.section-label{margin-bottom:13px}.count{display:inline}.preview-top{margin-top:0}.intro{padding-top:34px}.intro-aside{display:none}h1{font-size:73px}.details-row{gap:22px}.how{gap:35px}footer>span:last-child{display:none}}
@media(max-width:600px){.topbar{height:77px;padding:0 20px}.brand{font-size:22px}.brand-mark{width:39px;height:39px;font-size:30px;line-height:36px}.brand-small{font-size:8px}.top-link{font-size:10px}.top-link span{margin-left:6px}main{padding:0 20px}.intro{padding:31px 0 30px}.intro .eyebrow{font-size:8px;letter-spacing:1.25px}h1{font-size:64px;letter-spacing:-2px;margin:11px 0 12px}.intro-copy{font-size:13px}.studio{display:flex;flex-direction:column;gap:25px;padding-top:20px}.template-panel,.preview-panel,.controls-panel{width:100%}.template-grid{grid-template-columns:repeat(10,100px)}.template-card .template-name{font-size:10px}.preview-top{margin-bottom:12px}.preview-stage{padding:6px 4px 30px;max-width:450px;margin:auto}.preview-caption{font-size:10px}.preview-note{font-size:10px}.controls-panel{border-top:1px solid var(--line);padding-top:21px}.section-label h2{font-size:16px}.field label,.product-field legend,.palette-field legend{font-size:12px}.field label span{font-size:10px}.field input{font-size:16px;padding:12px}.segmented button{font-size:12px;padding:10px}.palette-field legend span{font-size:10px}.swatches{gap:15px}.swatch{width:34px;height:34px}.order-card{padding:20px}.order-card h3{font-size:28px}.order-card>p:not(.eyebrow):not(.small-note){font-size:12px}.order-card .eyebrow{font-size:9px}.button{font-size:12px;min-height:46px}.button-disabled{font-size:11px}.small-note{font-size:9px}.details-row{display:block;margin-top:26px;padding-bottom:20px}details{padding-top:19px;padding-bottom:4px}summary{font-size:13px}details p{font-size:12px}.how{display:block;padding:37px 0 45px}.how h2{font-size:36px;margin-bottom:28px}.how .eyebrow{font-size:7px}.how li p{font-size:12px}.how ol{gap:22px}.how h3{font-size:14px}footer{padding:23px 20px;align-items:flex-start;flex-direction:column;gap:6px}.desktop-only{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
