@font-face{font-family:LocalSerif;src:local('Georgia')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f5ee;color:#332c27;font-family:Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;background:#87482f;color:#fff;border:1px solid #87482f;padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;text-decoration:none;font-size:14px;letter-spacing:.03em}button:hover,.button:hover{background:#663520;text-decoration:none}.button.secondary,button.secondary{background:transparent;color:#633a2b;border-color:#b9a492}.button:disabled,button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,.serif{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(2.7rem,5.3vw,5.5rem);margin:18px 0 25px;letter-spacing:-.045em}h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.035em}h3{font-size:1.6rem;margin:10px 0}p{margin:0 0 20px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.2em;font-weight:600}.announcement{padding:8px 20px;background:#754532;color:#fff;text-align:center;font-size:12px;letter-spacing:.08em}header{height:94px;border-bottom:1px solid #d9d0c3;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:20px}.logo{font-family:Georgia,serif;font-size:40px;letter-spacing:.04em;line-height:1}.logo small{display:block;font:9px Arial,sans-serif;letter-spacing:.35em;text-align:center;margin-top:7px}nav{display:flex;gap:30px;align-items:center;font-size:14px}.nav-tools{gap:20px}main{min-height:60vh}.hero{display:grid;grid-template-columns:40% 60%;min-height:590px}.hero-copy{padding:70px 3vw 60px 6vw;align-self:center}.hero-copy h1 em{color:#94513a;font-weight:400}.hero-copy p{max-width:350px;color:#74665b}.hero-image{position:relative;overflow:hidden;background:#d4b899}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:29% center}.image-caption{position:absolute;bottom:22px;left:25px;font-size:12px;background:#f8f5eedd;padding:8px 14px}.hero-note{margin-top:25px;font-size:12px;letter-spacing:.07em}.benefits{padding:24px 5vw;border-block:1px solid #ddd2c5;display:flex;justify-content:space-around;gap:20px;font-size:13px}.section{padding:65px 5vw}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.section-heading h2{margin:8px 0 0}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.product-image{height:310px;background:#e4d6c5;overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;object-position:10% center;transform:scale(1.04)}.product-image.crop-2 img{object-position:40% center}.product-image.crop-3 img{object-position:67% center}.product-image.crop-4 img{object-position:96% center}.badge{position:absolute;top:16px;left:16px;background:#f8f5ee;padding:4px 10px;font-size:12px}.product-meta{display:flex;justify-content:space-between;align-items:center;padding-top:12px}.product-meta p{font-size:14px;margin:0}.muted{color:#75685d}.small{font-size:13px}.story{background:#e9dfd1;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.story p{max-width:530px}.story .number{font:italic 90px Georgia;color:#9e735b}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps span{font:italic 36px Georgia;color:#9a6148}.steps h3{font-size:25px}footer{background:#302c25;color:#eee7dc;padding:55px 5vw 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}footer a{display:block;font-size:14px;margin:8px 0}footer .logo{font-size:38px;margin-bottom:16px}.footer-bottom{border-top:1px solid #5a5147;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:#cfc1af}.container{max-width:1240px;margin:auto;padding:45px 30px 70px}.narrow{max-width:800px}.page-title{font-size:clamp(2.5rem,4vw,4rem)}.breadcrumbs{font-size:13px;color:#7f6c5a;margin-bottom:30px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:55px}.panel{background:#fffdf8;border:1px solid #ddd3c6;padding:26px;margin-bottom:22px}.panel h2{font-size:28px;margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:14px;margin-bottom:14px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{display:block;width:100%;border:1px solid #bfb19f;background:#fffdf8;color:#332c27;padding:11px;margin-top:6px;min-height:46px}input[type=checkbox],input[type=radio]{accent-color:#87482f;width:18px;height:18px;vertical-align:middle;margin-right:8px}textarea{min-height:95px}.full{grid-column:1/-1}.notice{background:#eee4d6;border-left:3px solid #9b6348;padding:16px 20px;margin:20px 0;font-size:14px}.error{background:#f8e6df;border-color:#b14329;color:#782c1c}.success{background:#e5eada;border-color:#646f45}.option-group{border:0;padding:0;margin:0 0 30px}.option-group legend{font:24px Georgia;margin-bottom:15px}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-card{border:1px solid #ddd1c1;padding:13px;cursor:pointer;display:grid;grid-template-columns:25px 1fr;gap:10px;margin:0}.option-card:has(input:checked){border:2px solid #87482f;padding:12px;background:#f2e7d9}.option-card:has(input:disabled){opacity:.45;cursor:not-allowed}.option-card input{margin-top:3px}.option-card img{height:48px;width:70px;object-fit:cover;margin-top:6px}.swatch{display:inline-block;width:17px;height:17px;border:1px solid #0002;border-radius:50%;vertical-align:middle;margin-right:5px}.option-description{display:block;font-size:12px;color:#766759}.sticky{position:sticky;top:20px;align-self:start}.config-photo{width:100%;height:330px;object-fit:cover}.summary-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e2d8ca;padding:9px 0;font-size:14px}.total{font-family:Georgia,serif;font-size:30px;display:flex;justify-content:space-between;padding:15px 0}.cart-item{display:grid;grid-template-columns:145px 1fr auto;gap:25px;margin-bottom:25px;border-bottom:1px solid #dacebd;padding-bottom:25px}.cart-item>img{width:145px;height:180px;object-fit:cover}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{background:#eee7dc;font-size:12px;padding:4px 8px}.timeline{border-left:1px solid #b6a28a;margin-left:8px;padding-left:24px}.timeline>div{position:relative;margin:20px 0}.timeline>div:before{content:'';width:9px;height:9px;background:#94573d;position:absolute;left:-29px;top:8px;border-radius:50%}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.admin-nav a{padding:8px 15px;border:1px solid #c7b59f;font-size:14px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px;text-align:left;border-bottom:1px solid #e1d5c6}.table-wrap{overflow:auto}details{border-bottom:1px solid #d9cbbb;padding:20px 0}summary{cursor:pointer;font:22px Georgia}details p{padding-top:16px}.gallery{display:flex;gap:10px;overflow:auto;margin:15px 0}.gallery img{width:120px;height:110px;object-fit:cover}:focus-visible{outline:3px solid #3f5c6b;outline-offset:4px}.mobile-nav{display:none}.order-code{overflow-wrap:anywhere}.inline{display:inline}.inline button{min-height:34px;padding:5px 12px}.status{padding:4px 10px;background:#e9dfcb;display:inline-block;font-size:12px}.legal{white-space:pre-line}.empty{text-align:center;padding:70px 15px}.empty h1{font-size:50px}
@media(max-width:850px){header{height:auto;min-height:85px;flex-wrap:wrap;padding:18px 5vw;gap:18px}header nav{gap:18px}header .main-nav{order:3;width:100%;justify-content:center;border-top:1px solid #e1d6c7;padding-top:12px}.hero{grid-template-columns:1fr 1fr;min-height:500px}.hero-copy{padding:40px 5vw}.hero h1{font-size:48px}.grid{grid-template-columns:repeat(2,1fr)}.columns{gap:25px}.product-image{height:340px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.benefits{font-size:12px}.sticky{position:static}}
@media(max-width:600px){.announcement{font-size:11px}header .main-nav{font-size:13px;gap:20px}.nav-tools{font-size:12px;gap:14px}.logo{font-size:34px}.hero{display:flex;flex-direction:column}.hero-copy{padding:42px 6vw}.hero-copy h1{font-size:54px}.hero-image{height:300px}.hero-image img{object-position:center}.hero-copy p{max-width:100%}.hero-note{margin-top:18px}.benefits{flex-wrap:wrap;gap:8px 25px;padding:18px}.section{padding:45px 6vw}.section-heading{align-items:start}.section-heading .text-link{max-width:100px}.grid{gap:22px 14px}.product-image{height:240px}.product-meta{display:block}.product-meta h3{font-size:26px}.story,.steps,.columns,.footer-grid{grid-template-columns:1fr}.story{gap:20px}.story .number{font-size:65px}.steps{gap:25px}.container{padding:30px 6vw 50px}.columns{gap:20px}.form-grid{grid-template-columns:1fr}.cart-item{grid-template-columns:85px 1fr;gap:14px}.cart-item>img{width:85px;height:110px}.cart-item>div:last-child{grid-column:2}.panel{padding:20px}.option-grid{gap:8px}.option-card{padding:10px;font-size:13px}.option-card:has(input:checked){padding:9px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}h1.page-title{font-size:43px}.config-photo{height:240px}.total{font-size:27px}}
/* Demo collection is one source photograph; crop in the viewport only. */
.product-image:has(img:is([src="/assets/bags.png"],[src="/assets/crochet-collection.png"])) img{width:400%;max-width:none;height:100%;object-fit:cover;transform:none;object-position:center}
.product-image.crop-2:has(img:is([src="/assets/bags.png"],[src="/assets/crochet-collection.png"])) img{transform:translateX(-25%)}
.product-image.crop-3:has(img:is([src="/assets/bags.png"],[src="/assets/crochet-collection.png"])) img{transform:translateX(-50%)}
.product-image.crop-4:has(img:is([src="/assets/bags.png"],[src="/assets/crochet-collection.png"])) img{transform:translateX(-75%)}
@media(min-width:851px){.sticky{max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:thin}.sticky .config-photo{height:230px}#configuration-summary{max-height:250px;overflow-y:auto}.sticky .panel{margin-bottom:0}}
.admin-photo{display:block;width:100%;max-height:220px;object-fit:contain;background:#ede1d1;margin-bottom:16px}.admin-catalog .section-heading{align-items:center;flex-wrap:wrap}.admin-options{padding:12px 0}.admin-options summary{font-size:20px}.admin-options label{margin-top:12px}.admin-catalog .button{padding:10px 16px}

.bag-preview{margin:0 0 18px}.bag-preview .product-image{height:300px}.bag-preview .product-image img{object-fit:contain;transform:none}.bag-preview figcaption{padding-top:10px}.option-card img{width:100px;height:85px;object-fit:contain;background:#fff;border-radius:4px}.bag-preview .product-image:has(img[src^="/media/"]) img{width:100%;height:100%;transform:none}

.color-choice{position:relative;grid-template-columns:1fr;min-height:105px}.color-choice>input{position:absolute;opacity:0;width:1px;height:1px}.color-choice .swatch{width:38px;height:38px;margin-right:12px;border:1px solid #0004;box-shadow:inset 0 0 0 2px #fff8;vertical-align:middle}.color-choice:has(input:checked) .swatch{outline:2px solid #87482f;outline-offset:3px}.color-choice:has(input:focus-visible){outline:3px solid #87482f;outline-offset:3px}
