:root{--ink: #111111;--ink-soft: #3a3a3a;--paper: #ffffff;--paper-2: #fafafa;--rule: rgba(17, 17, 17, .16);--rule-soft: rgba(17, 17, 17, .08);--max: 1180px;--serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;--sans: "Inter", "Helvetica Neue", Arial, sans-serif;--pattern-tile: url(/images/pattern-tile.svg)}.has-pattern{position:relative;isolation:isolate}.has-pattern:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:var(--pattern-color, var(--ink));-webkit-mask-image:var(--pattern-tile);mask-image:var(--pattern-tile);-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-size:var(--pattern-size, 72px) var(--pattern-size, 72px);mask-size:var(--pattern-size, 72px) var(--pattern-size, 72px);-webkit-mask-mode:alpha;mask-mode:alpha;-webkit-mask-position:center;mask-position:center;opacity:var(--pattern-opacity, .06)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%;height:auto}a{color:var(--ink)}h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;margin:0 0 .5em;color:var(--ink);line-height:1.1}h1{font-size:clamp(2.6rem,6vw,4.6rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.4rem,2.4vw,1.8rem)}p{margin:0 0 1em;color:var(--ink-soft)}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 1.5rem}.top-banner{background:var(--ink);color:var(--paper)}.top-banner .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.25rem;padding-top:.7rem;padding-bottom:.7rem;text-align:center}.top-banner-text{margin:0;font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--paper)}.top-banner-cta{display:inline-block;padding:.4rem .9rem;font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);background:var(--paper);text-decoration:none;border:1px solid var(--paper);transition:background .2s ease,color .2s ease}.top-banner-cta:hover,.top-banner-cta:focus-visible{background:transparent;color:var(--paper)}.site-header{padding:0 0 .15rem;border-bottom:1px solid var(--rule);background:var(--paper)}.sticky-header{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule);box-shadow:0 6px 18px #1111111f;transform:translateY(-100%);transition:transform .32s ease;pointer-events:none;visibility:hidden}.sticky-header--visible{transform:translateY(0);pointer-events:auto;visibility:visible}.sticky-header .container{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;max-width:1060px;padding-top:.55rem;padding-bottom:.55rem}.sticky-header__logo{display:inline-flex;align-items:center;line-height:0;flex-shrink:0}.sticky-header__logo img{width:84px;height:84px;display:block}.sticky-header__nav{font-family:var(--sans);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:.6em}.sticky-header__nav a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s ease}.sticky-header__nav a:hover,.sticky-header__nav a:focus-visible{border-bottom-color:var(--ink)}.sticky-header__nav span{opacity:.5}@media(max-width:540px){.sticky-header__logo img{width:60px;height:60px}.sticky-header__nav{font-size:.68rem;letter-spacing:.22em}}@media(prefers-reduced-motion:reduce){.sticky-header{transition:none}}.site-header .container{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}.site-header img.logo{margin:-1.2rem 0 -.6rem}.site-header img.shop-illustration{width:clamp(220px,36vw,360px);height:auto;margin:0 0 .25rem;display:block}.site-header img.logo{width:clamp(180px,28vw,260px);height:auto}@media(max-width:540px){.site-header img.logo{width:min(78vw,320px);margin:-2.2rem 0 -.6rem}.site-header img.shop-illustration{width:clamp(220px,50vw,320px);margin:-.5rem 0 0}}.eyebrow{font-family:var(--sans);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);margin:0}.nav-eyebrow{display:inline-flex;gap:.6em;align-items:center}.nav-eyebrow a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s ease}.nav-eyebrow a:hover,.nav-eyebrow a:focus-visible{border-bottom-color:var(--ink)}.nav-eyebrow span{opacity:.5}.offer{scroll-margin-top:1.5rem}.hero{position:relative;overflow:hidden;padding:clamp(3rem,8vw,6rem) 0 clamp(3rem,6vw,5rem);background:var(--paper);text-align:center;border-bottom:1px solid var(--rule)}.hero:before{content:"";position:absolute;inset:0;background-image:url(/images/illustrations/shop.png);background-repeat:no-repeat;background-position:center 55%;background-size:min(1100px,130%) auto;opacity:.1;pointer-events:none;z-index:0}.hero .container{position:relative;z-index:1}.hero h1{max-width:16ch;margin-left:auto;margin-right:auto}.hero .lead{max-width:56ch;margin:1.25rem auto 1.75rem;font-size:1.1rem;color:var(--ink-soft)}.hero .lead-invite{max-width:none;margin-top:1.25rem;font-family:var(--serif);font-style:italic;font-weight:900;font-size:1.25rem;color:var(--ink);white-space:nowrap}@media(max-width:640px){.hero .lead-invite{white-space:normal;font-size:1.1rem}}section{padding:clamp(3.5rem,8vw,6rem) 0}.section-head{text-align:center;max-width:60ch;margin:0 auto clamp(2rem,5vw,3.5rem)}.section-head .eyebrow{margin-bottom:1rem}.section-head img.section-illustration{width:clamp(70px,9vw,100px);height:auto;margin:0 auto 1rem;display:block}.partners{background:var(--paper);padding:clamp(1.25rem,2.5vw,2rem) 0 clamp(.75rem,1.5vw,1.25rem);overflow:hidden}.partners__heading{text-align:center;margin-bottom:clamp(.75rem,1.5vw,1.25rem);opacity:.7}.partners__viewport{position:relative;width:100%;height:clamp(96px,10vw,132px);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.15) 8%,#000 22%,#000 78%,rgba(0,0,0,.15) 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.15) 8%,#000 22%,#000 78%,rgba(0,0,0,.15) 92%,transparent 100%)}.partners__track{position:absolute;inset:0;display:flex;align-items:center;width:max-content;margin:0;padding:0;list-style:none;animation:partners-scroll 36s linear infinite;will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.partners__track li{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding-right:clamp(2.5rem,6vw,5rem)}.partners__track img{height:clamp(40px,4.6vw,60px);width:auto;display:block;-webkit-user-drag:none;user-select:none}.partners__track img[src*=aery-clean]{height:clamp(82px,9vw,120px)}.partners__track img[src*=aery-clean]{mix-blend-mode:multiply}.partners__track img[src*=tiptree-clean]{height:clamp(72px,8vw,104px)}.partners__track img[src*=maldon-clean]{height:clamp(76px,8.5vw,112px)}.partners__track img[src*=meri-meri-clean]{height:clamp(72px,8vw,104px)}.partners__track--base img{filter:grayscale(1) brightness(1.15) opacity(.4)}.partners__top-mask{position:absolute;inset:0;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 18%,#000 38%,#000 62%,transparent 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,transparent 18%,#000 38%,#000 62%,transparent 82%,transparent 100%)}.partners__track--top img{filter:brightness(0)}@keyframes partners-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media(prefers-reduced-motion:reduce){.partners__track{animation:none}}.about{background:var(--paper);border-bottom:1px solid var(--rule)}.about .container{text-align:center}.about .rule{width:56px;height:1px;background:var(--ink);margin:0 auto 2rem}.about-grid{max-width:760px;margin:0 auto;text-align:left}.about-grid:after{content:"";display:block;clear:both}.about-copy{font-size:1.1rem;text-align:left;margin:0;color:var(--ink-soft)}.about-illustration{display:block;margin:0 auto 1.25rem;width:min(140px,38%)}.about-illustration img{width:100%;height:auto;mix-blend-mode:multiply}@media(min-width:760px){.about-illustration{float:right;width:280px;margin:-.75rem 0 1rem 1.75rem;shape-outside:polygon(50% 0%,8% 22%,0% 38%,35% 60%,28% 78%,8% 92%,0% 100%,100% 100%,100% 0%);shape-margin:.75rem}}.about-cta{display:inline-block;margin:1.75rem 0 0;padding:.75rem 1.4rem;font-family:var(--sans);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--paper);background:var(--ink);text-decoration:none;border:1px solid var(--ink);transition:background .2s ease,color .2s ease}.about-cta:hover,.about-cta:focus-visible{background:var(--paper);color:var(--ink)}@media(max-width:759px){.about-grid,.about-copy{text-align:center}}.offerings{background:var(--paper);border-bottom:1px solid var(--rule)}.offer-grid{display:grid;gap:2.25rem;grid-template-columns:1fr;justify-items:center}.offer-grid>.offer{width:100%;max-width:240px}@media(min-width:760px){.offer-grid{grid-template-columns:repeat(3,1fr)}.offer-grid>.offer{max-width:none}}.offer{background:transparent;border:0;overflow:visible;position:relative;isolation:isolate}.offer .img{aspect-ratio:3 / 4;overflow:hidden;border-radius:50% 50% 0 0/22% 22% 0 0;position:relative;z-index:2;box-shadow:0 14px 22px #1111112e,0 2px 6px #11111114;transition:transform .45s ease,box-shadow .45s ease}.offer .img img{width:100%;height:100%;object-fit:cover}.offer:after{content:"";position:absolute;top:0;left:0;width:100%;aspect-ratio:3 / 4;border:1px solid var(--ink);border-radius:50% 50% 0 0/22% 22% 0 0;transform:translate(12px,12px);opacity:.55;z-index:1;pointer-events:none;transition:transform .45s ease,opacity .45s ease}.offer:hover .img,.offer:focus-within .img{transform:translate(-3px,-3px);box-shadow:0 22px 30px #1111113d,0 4px 10px #1111111a}.offer:hover:after,.offer:focus-within:after{transform:translate(16px,16px);opacity:.85}@media(prefers-reduced-motion:reduce){.offer .img,.offer:after{transition:none}.offer:hover .img,.offer:focus-within .img{transform:none}.offer:hover:after,.offer:focus-within:after{transform:translate(12px,12px);opacity:.55}}.offer#gifts .img img{object-position:80% center}.offer .body{padding:1.4rem 0 0}@media(max-width:759px){.offer .body{padding-top:2.4rem;text-align:center}}.offer h3{margin-bottom:.4rem}.offer p{margin:0;font-size:.98rem}.curated{background:var(--paper-2);border-bottom:1px solid var(--rule);--pattern-color: var(--ink);--pattern-opacity: .045;--pattern-size: 84px}.curated-head{position:relative}.curated-divider{width:1px;height:2.5rem;background:var(--rule);margin:1.75rem auto 0}.curated-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.curated-item{display:grid;grid-template-columns:1fr;gap:1.5rem 2rem;align-items:start;padding:2.5rem 0;border-bottom:1px solid var(--rule)}.curated-num{font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,4vw,3.2rem);line-height:1;color:var(--ink)}.curated-text h3{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-bottom:.6rem}.curated-text p{font-size:1rem;max-width:52ch;margin:0}.curated-img{aspect-ratio:4 / 3;overflow:hidden;border-radius:6px;box-shadow:0 10px 24px #11111129,0 2px 6px #11111114}.offer-photo{position:relative}.chalkboard{position:absolute;width:clamp(120px,33vw,160px);height:auto;z-index:4;filter:drop-shadow(0 6px 10px rgba(17,17,17,.22));pointer-events:none}.chalk-drinks{bottom:-8%;left:-8%;transform:rotate(-9deg)}.chalk-deli{bottom:-5%;right:-10%;transform:rotate(8deg)}.chalk-gifts{bottom:-14%;right:-10%;transform:rotate(8deg)}.curated-item{position:relative}.chalk-hampers{bottom:6%;right:-4%;transform:rotate(9deg);width:clamp(115px,28vw,150px)}@media(min-width:820px){.chalkboard{width:clamp(115px,11vw,160px)}.chalk-gifts{bottom:-5%}.chalk-hampers{width:clamp(120px,12vw,170px);bottom:8%;right:-5%}}.curated-img img{width:100%;height:100%;object-fit:cover}@media(min-width:820px){.curated-item{grid-template-columns:6rem 1fr 22rem;gap:2.5rem;padding:3rem 0}}.about-rupy{background:var(--paper);border-bottom:1px solid var(--rule)}.about-rupy .section-head{text-align:left;margin-bottom:2rem}.rupy-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;text-align:left}.rupy-grid>.rupy-portrait{order:0}.rupy-grid>.rupy-text{order:1}@media(min-width:880px){.rupy-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4rem}.rupy-grid>.rupy-portrait{order:initial}.rupy-grid>.rupy-text{order:initial}}.rupy-text{text-align:left}.rupy-copy{max-width:60ch;margin:0}.rupy-copy p{font-size:1.05rem;color:var(--ink-soft);margin:0 0 1.1rem}.rupy-copy p:last-child{margin-bottom:0}.rupy-link{margin-top:1.6rem!important;text-align:left;font-family:var(--sans);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase}.rupy-portrait{display:flex;justify-content:center;align-items:center}.rupy-portrait img{display:block;width:100%;max-width:760px;height:auto;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 18%,rgba(0,0,0,.92) 38%,rgba(0,0,0,.6) 62%,rgba(0,0,0,.22) 82%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 18%,rgba(0,0,0,.92) 38%,rgba(0,0,0,.6) 62%,rgba(0,0,0,.22) 82%,transparent 100%)}.rupy-link a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}.checker-strip{height:14px;background-image:linear-gradient(45deg,var(--ink) 25%,transparent 25%,transparent 75%,var(--ink) 75%),linear-gradient(45deg,var(--ink) 25%,transparent 25%,transparent 75%,var(--ink) 75%);background-size:14px 14px;background-position:0 0,7px 7px;background-color:var(--paper)}.invite{background:var(--ink);color:var(--paper);text-align:center;--pattern-color: var(--paper);--pattern-opacity: .07;--pattern-size: 96px}.invite .container{max-width:760px}.invite .eyebrow{color:var(--paper)}.invite h2{color:var(--paper);margin-bottom:1.25rem}.invite p{color:#ffffffc7}.invite-cta{display:inline-block;margin:1.75rem auto 0;padding:.75rem 1.4rem;font-family:var(--sans);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);background:var(--paper);text-decoration:none;border:1px solid var(--paper);transition:background .2s ease,color .2s ease}.invite-cta:hover,.invite-cta:focus-visible{background:transparent;color:var(--paper)}.invite img.invite-illustration{width:clamp(140px,18vw,200px);height:auto;margin:0 auto 1.5rem;filter:invert(1);opacity:.95}.invite .details{display:grid;gap:1.25rem;grid-template-columns:1fr;margin:2.5rem 0 .5rem;text-align:center}@media(min-width:640px){.invite .details{grid-template-columns:repeat(3,1fr)}}.invite .detail{padding:1.25rem;border:1px solid rgba(255,255,255,.22)}.invite .detail .label{display:block;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--paper);margin-bottom:.5rem}.invite .detail .value{font-family:var(--serif);font-size:1.25rem;color:var(--paper);line-height:1.3}.invite .detail .value a{color:var(--paper);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;transition:opacity .2s ease}.invite .detail .value a:hover,.invite .detail .value a:focus-visible{opacity:.75}.site-footer{background:var(--paper);padding:3rem 0 2.5rem;text-align:center;border-top:1px solid var(--ink)}@media(max-width:640px){.curated{--pattern-size: 64px}.invite{--pattern-size: 72px}}.site-footer img.footer-illustration{width:clamp(140px,16vw,180px);height:auto;margin:0 auto 1rem}.site-footer .wordmark{display:block;width:clamp(180px,28vw,260px);height:auto;margin:0 auto .9rem}.site-footer address{font-style:normal;color:var(--ink-soft);font-size:.98rem;line-height:1.7}.site-footer .social{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;justify-content:center;gap:.9rem}.site-footer .social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;color:var(--ink);transition:background .2s ease,color .2s ease}.site-footer .social svg{width:18px;height:18px;fill:currentColor;display:block}.site-footer .social li:nth-child(3) svg{transform:translate(1.5px)}.site-footer .social a:hover,.site-footer .social a:focus-visible{background:var(--ink);color:var(--paper);outline:none}.site-footer .copy{margin-top:1.4rem;font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}@media(prefers-reduced-motion:no-preference){.hero:before{-webkit-mask-image:linear-gradient(110deg,#000 35%,transparent 62%);mask-image:linear-gradient(110deg,#000 35%,transparent 62%);-webkit-mask-size:260% 100%;mask-size:260% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:100% 0;mask-position:100% 0;opacity:0;animation:c107-shop-draw 2.8s cubic-bezier(.22,.61,.36,1) .35s both}@keyframes c107-shop-draw{0%{opacity:0;-webkit-mask-position:100% 0;mask-position:100% 0}25%{opacity:.1}to{opacity:.1;-webkit-mask-position:0 0;mask-position:0 0}}@supports (animation-timeline: view()){.about-illustration img,.section-head img.section-illustration,.invite img.invite-illustration{-webkit-mask-image:linear-gradient(110deg,#000 35%,transparent 62%);mask-image:linear-gradient(110deg,#000 35%,transparent 62%);-webkit-mask-size:260% 100%;mask-size:260% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:100% 0;mask-position:100% 0;opacity:0;animation:c107-illustration-draw linear both;animation-timeline:view();animation-range:entry 100% cover 55%}@keyframes c107-illustration-draw{0%{opacity:0;-webkit-mask-position:100% 0;mask-position:100% 0}25%{opacity:1}to{opacity:1;-webkit-mask-position:0 0;mask-position:0 0}}.about .rule{transform-origin:center center;transform:scaleX(0);animation:c107-line-x linear both;animation-timeline:view();animation-range:entry 100% cover 45%}@keyframes c107-line-x{to{transform:scaleX(1)}}.curated-divider{transform-origin:top center;transform:scaleY(0);animation:c107-line-y linear both;animation-timeline:view();animation-range:entry 100% cover 45%}@keyframes c107-line-y{to{transform:scaleY(1)}}}}.site-header__home{display:inline-flex;align-items:center;text-decoration:none}.site-header .container{position:relative}.basket-link{position:absolute;top:50%;right:1rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--ink);text-decoration:none;border:1px solid var(--ink);border-radius:50%;transition:background .2s,color .2s}.basket-link:hover,.basket-link:focus-visible{background:var(--ink);color:var(--paper);outline:none}.basket-link__count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;font-family:var(--sans);font-size:.65rem;font-weight:600;color:var(--paper);background:var(--ink);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0}.basket-link--sticky{right:1rem}.sticky-header .container{position:relative}.site-header--inner{border-bottom:1px solid var(--rule);padding:1.5rem 0}.site-header--inner .logo{width:clamp(100px,14vw,140px)}.page-main{background:var(--paper)}.shop-hero{background:var(--paper);padding:4rem 0 2rem;text-align:center;border-bottom:1px solid var(--rule)}.shop-hero h1{font-family:var(--serif);font-size:clamp(2rem,4.5vw,3.2rem);margin:.5rem 0 1rem}.shop-hero .lead{max-width:600px;margin:0 auto;color:var(--ink-soft);font-size:1.05rem}.shop-grid-section{padding:3.5rem 0 5rem}.shop-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem}@media(min-width:640px){.shop-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:980px){.shop-grid{grid-template-columns:repeat(4,1fr);gap:2.5rem 2rem}}.shop-card{background:var(--paper)}.shop-card__link{display:block;color:inherit;text-decoration:none}.shop-card__img{aspect-ratio:1 / 1;overflow:hidden;background:var(--paper-2);border:1px solid var(--rule);margin-bottom:.9rem;transition:transform .45s ease,box-shadow .45s ease}.shop-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.shop-card__link:hover .shop-card__img img,.shop-card__link:focus-visible .shop-card__img img{transform:scale(1.04)}.shop-card__name{font-family:var(--serif);font-size:1.15rem;margin:0 0 .25rem;line-height:1.25}.shop-card__price{font-family:var(--sans);font-size:.85rem;letter-spacing:.08em;margin:0 0 .4rem;color:var(--ink)}.shop-card__desc{font-size:.85rem;color:var(--ink-soft);margin:0;line-height:1.5}.product-detail{padding:3rem 0 5rem}.crumb-link{text-decoration:none;color:var(--ink);border-bottom:1px solid transparent;transition:border .2s}.crumb-link:hover,.crumb-link:focus-visible{border-bottom-color:var(--ink)}.product-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-top:1.5rem}@media(min-width:820px){.product-grid{grid-template-columns:5fr 7fr;gap:3.5rem;align-items:start}}.product-media{background:var(--paper-2);border:1px solid var(--rule);aspect-ratio:1 / 1;overflow:hidden;max-width:420px}.product-media img{width:100%;height:100%;object-fit:cover;display:block}.product-info h1{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.6rem);margin:0 0 .5rem}.product-price{font-family:var(--sans);font-size:1.2rem;letter-spacing:.05em;margin:0 0 .4rem}.product-fulfil{font-family:var(--sans);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .5rem}.product-fulfil-note{font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);margin:0 0 1.5rem}.product-fulfil-note strong{color:var(--ink);font-weight:500}.product-long{font-size:1rem;color:var(--ink-soft);line-height:1.7;margin:0 0 2rem;max-width:50ch}.product-form{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.qty-field{display:flex;flex-direction:column;gap:.4rem}.qty-label{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.qty-field input{width:4.5rem;padding:.65rem .6rem;border:1px solid var(--ink);background:var(--paper);font-family:var(--sans);font-size:1rem}.btn-primary{display:inline-block;padding:.85rem 1.6rem;font-family:var(--sans);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--paper);background:var(--ink);border:1px solid var(--ink);cursor:pointer;text-decoration:none;transition:background .2s,color .2s}.btn-primary:hover,.btn-primary:focus-visible{background:var(--paper);color:var(--ink);outline:none}.btn-primary[disabled]{opacity:.6;cursor:wait}.btn-secondary{display:inline-block;padding:.7rem 1.3rem;font-family:var(--sans);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--ink);cursor:pointer;text-decoration:none}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--ink);color:var(--paper)}.form-status{font-family:var(--sans);font-size:.9rem;margin:1rem 0 0;color:var(--ink)}.status-link{margin-left:.5rem;color:var(--ink)}.basket-page{padding:3rem 0 5rem}.basket-page h1{font-family:var(--serif);font-size:clamp(2rem,4vw,2.6rem);margin:.5rem 0 2rem}.basket-empty{padding:3rem 0;text-align:center}.basket-empty p{margin:0 0 1.5rem;color:var(--ink-soft)}.basket-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.basket-line{display:grid;grid-template-columns:88px 1fr auto;gap:1rem 1.25rem;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--rule)}.basket-line__img{width:88px;height:88px;overflow:hidden;background:var(--paper-2);border:1px solid var(--rule)}.basket-line__img img{width:100%;height:100%;object-fit:cover}.basket-line__name{font-family:var(--serif);font-size:1.15rem;margin:0 0 .25rem}.basket-line__meta{font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);margin:0 0 .6rem}.basket-line__controls{display:flex;gap:.75rem;align-items:center}.basket-line__controls input{width:3.5rem;padding:.4rem;border:1px solid var(--ink);font-family:var(--sans)}.basket-line__total{font-family:var(--sans);font-size:1rem;margin:0;align-self:center}.basket-remove{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;background:none;border:none;color:var(--ink-soft);cursor:pointer;padding:0;text-decoration:underline}.basket-remove:hover{color:var(--ink)}.basket-summary{max-width:28rem;margin:2rem 0 1.5rem}.basket-row{display:flex;justify-content:space-between;padding:.5rem 0;font-family:var(--sans);font-size:1rem}.basket-row--total{border-top:1px solid var(--ink);margin-top:.5rem;padding-top:.9rem;font-weight:600;font-size:1.15rem}.basket-note{font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);margin:.4rem 0 0}.checkout-form{max-width:32rem;margin-top:2rem;display:grid;gap:1.5rem}.fulfil-fieldset{border:1px solid var(--rule);padding:1rem 1.25rem;margin:0}.fulfil-fieldset legend{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);padding:0 .5rem}.fulfil-fieldset label{display:flex;gap:.6rem;align-items:center;padding:.4rem 0;font-size:.95rem;cursor:pointer}.field{display:grid;gap:.4rem}.field>span{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field textarea{padding:.65rem .75rem;border:1px solid var(--ink);background:var(--paper);font-family:var(--sans);font-size:1rem;width:100%;box-sizing:border-box}.checkout-btn{justify-self:start}.checkout-error{color:#8b0000;font-family:var(--sans);margin:0;min-height:1.2em}.checkout-fineprint{font-family:var(--sans);font-size:.8rem;color:var(--ink-soft);margin:0}.visually-hidden{position:absolute;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;overflow:hidden}.thank-you{padding:4rem 0 5rem;max-width:720px;margin:0 auto}.thank-you h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3rem);margin:.5rem 0 1.2rem}.thank-you .lead{color:var(--ink-soft);font-size:1.05rem;margin:0 0 2.5rem}.order-summary{border:1px solid var(--rule);padding:1.5rem;margin:0 0 2rem}.order-summary h2{font-family:var(--serif);font-size:1.3rem;margin:0 0 1rem}.summary-lines{list-style:none;padding:0;margin:0 0 1rem}.summary-lines li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px dashed var(--rule);font-family:var(--sans)}.summary-fulfil{font-family:var(--sans);font-size:.95rem;color:var(--ink-soft);margin:1rem 0 0}.thank-you-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:0 0 2rem}.thank-you-help{font-family:var(--sans);font-size:.9rem;color:var(--ink-soft)}.admin-page{padding:3rem 0 5rem}.admin-page h1{font-family:var(--serif);margin:.5rem 0 2rem}.admin-login{max-width:24rem;display:grid;gap:1rem}.admin-tools{display:flex;gap:.75rem;margin:0 0 1.5rem}.admin-empty{color:var(--ink-soft)}.orders-list{list-style:none;padding:0;margin:0;display:grid;gap:1.5rem}.order-card{border:1px solid var(--rule);padding:1.5rem}.order-card__head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}.order-card__id{font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);margin:0 0 .2rem}.order-card__customer{font-family:var(--sans);font-size:.95rem;margin:0}.order-card__customer a{color:var(--ink)}.order-card__status{display:flex;gap:.5rem;align-items:center}.status-pill,.fulfil-pill{display:inline-block;padding:.25rem .6rem;font-family:var(--sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ink)}.status-paid{background:var(--paper);color:var(--ink)}.status-fulfilled{background:var(--ink);color:var(--paper)}.fulfil-pill{color:var(--ink-soft);border-color:var(--rule)}.order-card__addr,.order-card__note{font-family:var(--sans);font-size:.95rem;margin:.5rem 0}.order-card__lines{list-style:none;margin:.75rem 0;padding:.75rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--sans);font-size:.95rem}.order-card__lines li{padding:.2rem 0}.order-card__totals{font-family:var(--sans);font-size:.95rem;margin:.75rem 0}.order-card__actions{margin-top:1rem}.footer-nav{font-family:var(--sans);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;margin:.6rem 0;padding:0;list-style:none;display:flex;justify-content:center;gap:.8rem}.footer-nav li{display:inline-flex;align-items:center}.footer-nav li+li:before{content:"·";margin-right:.8rem;color:var(--ink-soft)}.footer-nav a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border .2s}.footer-nav a:hover{border-bottom-color:var(--ink)}.footer-nav span{margin:0 .4rem;color:var(--ink-soft)}.order-number{font-family:var(--sans);font-size:1rem;margin:0 0 2rem;color:var(--ink)}.order-number strong{font-weight:600;letter-spacing:.04em}
