*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1.1875rem;font-weight:500;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:var(--line)}a:hover{text-decoration-thickness:calc(var(--line) * 2)}p{margin:0 0 1em}h1,h2,h3{font-weight:500;line-height:1.15;margin:0 0 .5em}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:10;background:var(--surface);border:var(--line) solid var(--text);padding:.5rem 1rem}.skip-link:focus{top:1rem}.wrap{width:min(72rem,100% - 2.5rem);margin-inline:auto}.narrow{width:min(46rem,100% - 2.5rem);margin-inline:auto}.muted{color:var(--muted)}.small{font-size:.95rem}.display{font-family:var(--font-display);font-weight:400;letter-spacing:.01em}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:1rem}.announcement{background:var(--lavender);text-align:center;font-size:.95rem;padding:.5rem 1.25rem;border-bottom:var(--line) solid var(--border)}.site-header{border-bottom:var(--line) solid var(--border);background:var(--bg);position:sticky;top:0;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.9rem;flex-wrap:wrap}.logo{font-family:var(--font-display);font-size:2.1rem;line-height:1;text-decoration:none}.nav-list{list-style:none;display:flex;gap:clamp(.9rem,3vw,2rem);margin:0;padding:0;align-items:center}.nav-list a{text-decoration:none;padding-block:.3rem;border-bottom:var(--line) solid transparent}.nav-list a:hover,.nav-list a[aria-current=page]{border-bottom-color:currentColor}.cart-link{display:inline-flex;align-items:center;gap:.4rem}.cart-count{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;background:var(--blush);border:var(--line) solid var(--text);font-size:.85rem;border-radius:var(--radius)}.cart-count[hidden]{display:none}.site-footer{margin-top:6rem;border-top:var(--line) solid var(--border);padding-block:3rem}.footer-inner{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.footer-logo{font-size:2.4rem;margin-bottom:.4rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.6rem 1.6rem;background:var(--button);color:var(--button-text);border:var(--line) solid var(--button-text);border-radius:var(--radius);font-size:1.05rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .4s ease,transform .4s ease}.btn:hover{background:var(--surface)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-ghost{background:transparent}.btn-block{width:100%}.link-btn{background:none;border:0;padding:0;text-decoration:underline;cursor:pointer;color:var(--muted)}.field{display:grid;gap:.35rem;margin-bottom:1.25rem}.field label,.field legend{font-weight:600}.field .hint{font-size:.95rem;color:var(--muted)}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{width:100%;min-height:3rem;padding:.55rem .8rem;background:var(--surface);border:var(--line) solid var(--border);border-radius:var(--radius);transition:border-color .3s ease}input:hover,select:hover,textarea:hover{border-color:var(--muted)}textarea{min-height:6rem;resize:vertical}fieldset{border:0;padding:0;margin:0;min-width:0}.choices{display:flex;flex-wrap:wrap;gap:.5rem}.choice{position:relative}.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.choice span{display:block;padding:.55rem 1rem;border:var(--line) solid var(--border);background:var(--surface);border-radius:var(--radius);transition:background-color .3s ease,border-color .3s ease}.choice input:checked+span{background:var(--lavender);border-color:var(--text)}.choice input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.choice small{color:var(--muted)}.qty{display:inline-flex;border:var(--line) solid var(--border);background:var(--surface);border-radius:var(--radius)}.qty button{width:2.75rem;height:2.75rem;background:none;border:0;cursor:pointer;font-size:1.25rem}.qty button:hover{background:var(--lavender)}.qty input{width:3.25rem;min-height:2.75rem;text-align:center;border:0;border-inline:var(--line) solid var(--border);border-radius:0;-moz-appearance:textfield;appearance:textfield}.qty input::-webkit-inner-spin-button,.qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.notice{padding:.9rem 1.1rem;border:var(--line) solid var(--border);background:var(--surface);margin-bottom:1.25rem;border-radius:var(--radius)}.notice-error{border-color:var(--error);color:var(--error)}.notice-success{border-color:var(--success);color:var(--success)}.notice-soft{background:var(--butter)}.error-text{color:var(--error);font-size:.95rem}.section{padding-block:clamp(4rem,10vw,7.5rem)}.section-head{text-align:center;margin-bottom:clamp(2.5rem,6vw,4rem)}.section-head h2{font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,8vw,4.75rem);margin-bottom:.25rem}.section-head p{color:var(--muted)}.page-head{padding-block:clamp(3rem,8vw,5rem) 2rem;text-align:center}.page-head h1{font-family:var(--font-display);font-weight:400;font-size:clamp(3.25rem,10vw,5.5rem);margin-bottom:.25rem}.hero{display:grid;gap:clamp(2rem,6vw,5rem);align-items:center;grid-template-columns:1fr;padding-block:clamp(2.5rem,7vw,6rem)}@media(min-width:860px){.hero{grid-template-columns:1fr 1.05fr}}.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(3.75rem,11vw,7rem);line-height:.95;margin-bottom:1.5rem}.hero-text{font-size:1.3rem;max-width:30rem;margin-bottom:2.25rem}.hero-art{border:var(--line) solid var(--border);background:var(--surface)}.hero-art img{width:100%;aspect-ratio:1 / 1;object-fit:cover}.grid{display:grid;gap:clamp(1.5rem,4vw,3rem) clamp(1.25rem,3vw,2.5rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}.card{display:flex;flex-direction:column;text-decoration:none}.card-media{position:relative;border:var(--line) solid var(--border);overflow:hidden;border-radius:var(--radius)}.card-media img{width:100%;aspect-ratio:4 / 5;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.card:hover .card-media img{transform:scale(1.035)}.card-body{padding-top:1.1rem;display:grid;gap:.2rem}.card-title{font-size:1.45rem;font-weight:600;margin:0}.card-summary{color:var(--muted);margin:0}.card-price{margin:.35rem 0 0;font-weight:600;letter-spacing:.02em}.badge{position:absolute;top:1rem;left:1rem;background:var(--surface);border:var(--line) solid var(--text);padding:.15rem .7rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600;border-radius:var(--radius)}.badge-sold{left:auto;right:1rem;background:var(--blush)}.cat-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.cat{display:grid;gap:.5rem;padding:2rem;text-decoration:none;align-content:start;border:var(--line) solid var(--border);border-radius:var(--radius);position:relative;overflow:hidden;transition:border-color .5s ease}.cat:hover{border-color:var(--text)}.cat h3{font-family:var(--font-display);font-weight:400;font-size:3rem;margin:0}.cat p{margin:0}.cat .arrow{font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-top:.75rem}.cat-icon{width:7rem;height:7rem;margin:0 0 .75rem -.5rem;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.cat:hover .cat-icon{transform:translateY(-4px)}.about{display:grid;gap:clamp(2rem,6vw,5rem);align-items:center}@media(min-width:860px){.about{grid-template-columns:1fr 1fr}}.about h2{font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,8vw,4.75rem)}.about-art{border:var(--line) solid var(--border)}.about-art img{width:100%;aspect-ratio:5 / 4;object-fit:cover}.filters{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:clamp(2.5rem,6vw,4rem);list-style:none;padding:0}.filters a{display:inline-block;padding:.45rem 1.2rem;border:var(--line) solid var(--border);text-decoration:none;border-radius:var(--radius);background:var(--surface);transition:border-color .3s ease}.filters a:hover{border-color:var(--text)}.filters a[aria-current=page]{background:var(--lavender);border-color:var(--text)}.product{display:grid;gap:clamp(2rem,5vw,4.5rem);padding-block:clamp(2rem,5vw,4rem)}@media(min-width:900px){.product{grid-template-columns:1.1fr 1fr;align-items:start}.product-media{position:sticky;top:6rem}}.product-media{border:var(--line) solid var(--border);position:relative;border-radius:var(--radius);overflow:hidden}.product-media img{width:100%;aspect-ratio:4 / 5;object-fit:cover}.product h1{font-size:clamp(2.2rem,5vw,3.2rem);font-weight:600}.price-line{font-size:1.6rem;font-weight:600;margin-bottom:1.5rem}.breadcrumb{font-size:.95rem;color:var(--muted);margin-bottom:1.25rem}.breadcrumb a{color:inherit}.buy-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:.5rem}.buy-row .btn{flex:1 1 14rem}.info{margin-top:2.5rem;border-top:var(--line) solid var(--border)}.info details{border-bottom:var(--line) solid var(--border)}.info summary{cursor:pointer;padding:1rem 0;font-weight:600;list-style:none;display:flex;justify-content:space-between}.info summary::-webkit-details-marker{display:none}.info summary:after{content:"+";font-weight:400}.info details[open] summary:after{content:"–"}.info .content{padding-bottom:1.25rem}.tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0}.tags li{border:var(--line) solid var(--border);padding:.1rem .7rem;background:var(--surface);font-size:1rem;border-radius:var(--radius)}.tags.allergen li{background:var(--butter)}dl.details{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.25rem;margin:0}dl.details dt{font-weight:600}dl.details dd{margin:0}@media(max-width:480px){dl.details{grid-template-columns:1fr}dl.details dd{margin-bottom:.6rem}}.layout-2{display:grid;gap:clamp(2rem,5vw,4rem);align-items:start;grid-template-columns:minmax(0,1fr)}.layout-2>*{min-width:0}@media(min-width:900px){.layout-2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.summary{position:sticky;top:6rem}}.lines{list-style:none;padding:0;margin:0;border-top:var(--line) solid var(--border)}.line{display:grid;grid-template-columns:6rem 1fr;gap:1.25rem;padding-block:1.5rem;border-bottom:var(--line) solid var(--border)}.line img{width:6rem;aspect-ratio:4 / 5;object-fit:cover;border:var(--line) solid var(--border)}.line h3{font-size:1.3rem;font-weight:600;margin-bottom:.2rem}.line ul{list-style:none;padding:0;margin:0 0 .75rem;color:var(--muted);font-size:1rem;overflow-wrap:anywhere}.line-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between}.line-error{grid-column:1 / -1}.summary{border:var(--line) solid var(--border);background:var(--surface);padding:clamp(1.25rem,4vw,2rem);border-radius:var(--radius)}.summary h2{font-size:1.5rem;font-weight:600}.totals{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;margin:0 0 1.5rem}.totals dt{color:var(--muted)}.totals dd{margin:0;text-align:right;font-weight:600}.totals .grand{border-top:var(--line) solid var(--border);padding-top:.75rem;font-size:1.3rem;color:var(--text)}.empty{text-align:center;padding-block:3rem}.form-grid{display:grid;gap:0 1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}.form-section{margin-bottom:2.5rem}.form-section h2{font-size:1.5rem;font-weight:600;padding-bottom:.6rem;border-bottom:var(--line) solid var(--border);margin-bottom:1.5rem}.mini-lines{list-style:none;padding:0;margin:0 0 1.25rem}.mini-lines li{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;border-bottom:var(--line) solid var(--border)}.mini-lines small{display:block;color:var(--muted)}.mini-lines span,.receipt{overflow-wrap:anywhere}.center-page{text-align:center;padding-block:clamp(3rem,10vw,7rem)}.center-page h1{font-family:var(--font-display);font-weight:400;font-size:clamp(4rem,14vw,7rem)}.center-page img{width:min(16rem,70%);margin:0 auto 2rem}.receipt{text-align:left;margin-top:2.5rem}@keyframes breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.breathe{animation:breathe 7s ease-in-out infinite}.fade-up{animation:fade-up 1.2s cubic-bezier(.2,.7,.2,1) both}.fade-up.d2{animation-delay:.15s}.fade-up.d3{animation-delay:.3s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
