:root{--ink:#20231f;--paper:#f6f2eb;--cream:#ebe2d2;--coral:#df7158;--sage:#9ca58d;--line:#d5cdbf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3,p{margin:0}h1,h2{font-family:'Playfair Display',serif;font-weight:700;letter-spacing:0}h1{font-size:clamp(3.5rem,8vw,7.5rem);line-height:.88}h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.95}em{color:var(--coral);font-style:normal}.site-header{align-items:center;background:var(--paper);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:24px 5vw;position:sticky;top:0;width:100%;z-index:2}.brand{align-items:center;color:var(--ink);display:flex;gap:10px;text-decoration:none}.brand-logo{display:block;height:64px;width:64px;object-fit:contain}.brand-name{font-family:Georgia,serif;font-size:13px;letter-spacing:1px;text-transform:uppercase}.bag-link{border-bottom:1px solid var(--ink);color:var(--ink);font-size:13px;padding-bottom:5px;text-decoration:none}.bag-link span{background:var(--coral);border-radius:20px;color:#fff;display:inline-block;font-size:11px;margin-left:5px;padding:2px 7px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;margin-bottom:20px;text-transform:uppercase}.button{border:0;cursor:pointer;display:inline-flex;font:700 12px 'DM Sans',sans-serif;gap:30px;justify-content:space-between;letter-spacing:.4px;padding:17px 21px;text-decoration:none;text-transform:uppercase}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--coral)}.collection{padding:70px 8vw 115px}.section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:55px}.section-heading>p{line-height:1.6;max-width:280px}.product-grid{display:grid;gap:22px;grid-template-columns:repeat(4,1fr)}.product-card{background:var(--cream);position:relative}.product-card figure{margin:0;overflow:hidden}.product-card img{aspect-ratio:1/1;display:block;object-fit:cover;transition:transform .5s;width:100%}.product-card:hover img{transform:scale(1.04)}.product-info{padding:22px}.product-info h3{font-family:Georgia,serif;font-size:24px}.product-info p{font-size:13px;line-height:1.55;margin:10px 0 18px;min-height:41px}.price-row{align-items:center;display:flex;justify-content:space-between}.price{font-weight:700}.choose-button{background:transparent;border:1px solid var(--ink);cursor:pointer;font:700 10px 'DM Sans',sans-serif;letter-spacing:1px;padding:10px 12px;text-transform:uppercase}.choose-button:hover{background:var(--ink);color:#fff}.order-section{background:var(--coral);display:grid;gap:9vw;grid-template-columns:.8fr 1.2fr;padding:100px 12vw}.order-intro h2{margin-bottom:25px}.order-intro>p:last-child{line-height:1.7;max-width:260px}.order-form{background:var(--paper);padding:38px}.field-row{display:grid;gap:18px;grid-template-columns:1fr 1fr}.order-form label{display:block;font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:22px;text-transform:uppercase}.optional,.required-tag{color:var(--coral);font-size:10px;font-weight:500;letter-spacing:0;text-transform:none}input,select,textarea{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);display:block;font:15px 'DM Sans',sans-serif;margin-top:9px;outline:0;padding:10px 0;width:100%}textarea{border:1px solid var(--line);padding:12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--coral)}.field-heading{display:block;font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:14px;text-transform:uppercase}.fulfillment-choice{margin-bottom:22px}.fulfillment-option{align-items:center;display:flex;font-size:14px;font-weight:400;gap:8px;letter-spacing:0;margin-bottom:10px;text-transform:none}.fulfillment-option input{margin:0;width:auto}.template-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));margin-bottom:22px}.template-option{background:var(--cream);border:2px solid transparent;cursor:pointer;padding:4px;text-align:center}.template-option img{aspect-ratio:1/1;display:block;object-fit:cover;width:100%}.template-option span{display:block;font-size:9px;letter-spacing:.3px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.template-option.is-selected{border-color:var(--coral)}.upload-field input{border:1px dashed var(--line);padding:13px}.upload-field small{color:#777;display:block;font-size:10px;font-weight:400;letter-spacing:0;margin-top:7px;text-transform:none}.upload-preview{align-items:center;background:var(--cream);gap:12px;margin:-6px 0 22px;padding:8px}.upload-preview:not([hidden]){display:flex}.upload-preview img{height:50px;object-fit:cover;width:50px}.upload-preview span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-preview button{background:none;border:0;cursor:pointer;font-size:22px;margin-left:auto}.order-total{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin:25px 0;padding:18px 0}.order-total strong{font-family:Georgia,serif;font-size:25px}.full-width{width:100%}.form-note{color:#777;font-size:10px;line-height:1.5;margin-top:14px;text-align:center}.checkout-message{background:var(--cream);font-size:12px;line-height:1.5;margin-top:18px;padding:14px}.checkout-message a{color:var(--coral);font-weight:700}.checkout-message--error{background:#f6dcd5;color:#8a2c1c}.loading-note{font-size:14px;grid-column:1/-1;opacity:.7}.success-page{margin:0 auto;max-width:560px;padding:100px 8vw 120px;text-align:center}.success-page .button{margin-top:30px}.venmo-qr{background:#fff;border:1px solid var(--line);display:block;height:180px;margin:28px auto;padding:14px;width:180px}footer{display:flex;font-size:11px;justify-content:space-between;padding:25px 8vw;text-transform:uppercase}footer span:last-child{color:#777}@media(max-width:750px){.site-header{padding:20px}.collection{padding:50px 6vw 75px}.section-heading{align-items:start;display:block}.section-heading>p{margin-top:24px}.product-grid{grid-template-columns:1fr}.order-section{display:block;padding:75px 6vw}.order-intro{margin-bottom:40px}.order-form{padding:24px 18px}.field-row{display:block}footer{display:block;line-height:2;padding:25px 6vw}}
