:root{--cream:#fffaf0;--paper:#f5eedf;--ink:#301b13;--red:#c91e20;--red-dark:#a51619;--sage:#78856d;--blue:#94aeca;--blush:#f3d8ca;--line:#d9cfbd;--serif:"DM Serif Display", Georgia, serif;--sans:"Nunito Sans", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{min-height:60vh}.welcome{background:var(--red);color:#fff;text-align:center;letter-spacing:.01em;padding:.37rem 1rem;font-weight:700}header{border-bottom:1px solid var(--line);z-index:20;background:#fffdf8;align-items:center;gap:36px;min-height:108px;padding:12px clamp(1.25rem,4vw,4.5rem);display:flex;position:sticky;top:0}.brand{flex-direction:column;min-width:300px;line-height:1;display:flex}.brand span{font:clamp(2rem, 3vw, 3.35rem) / .9 var(--serif);color:var(--red);letter-spacing:-.04em}.brand small{text-transform:uppercase;letter-spacing:.2em;color:#7b5a43;margin:9px 0 0 4px;font-size:.67rem;font-weight:800}.desktop-nav{align-items:center;gap:clamp(1.25rem,2.6vw,3rem);margin-left:auto;font-weight:700;display:flex}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:var(--red)}.header-actions{gap:16px;font-size:2rem;line-height:1;display:flex}.header-actions a{padding:4px;transition:color .2s}.header-actions a:hover{color:var(--red)}.cart-button{position:relative}.cart-button sup{background:var(--red);color:#fff;min-width:1.15rem;height:1.15rem;font:700 .62rem/1.15rem var(--sans);text-align:center;border-radius:50%;position:absolute;top:-.25rem;right:-.55rem}.mobile-nav{margin-left:auto;display:none}.mobile-nav summary{cursor:pointer;font-weight:800}.mobile-nav div{border:1px solid var(--line);background:#fffdf8;width:220px;padding:1rem;position:absolute;top:5rem;right:1rem;box-shadow:0 16px 35px #42220d22}.mobile-nav a{padding:.6rem;display:block}.hero{background:radial-gradient(circle at 20% 20%, #fffdf7 0, var(--paper) 67%, #eee2ce 100%);border-bottom:1px solid var(--line);grid-template-columns:minmax(360px,.82fr) 1.18fr;min-height:590px;padding:0 0 0 clamp(1.25rem,4vw,4.5rem);display:grid}.hero-copy{flex-direction:column;justify-content:center;min-width:0;padding:5vw 6vw 5vw 5vw;display:flex;position:relative}.floral{color:var(--sage);margin:0 0 .5rem;font-size:2rem}.hero h1,.page-intro h1,.article h1,.empty-page h1{font:clamp(3.5rem, 6.3vw, 6.7rem) / .9 var(--serif);letter-spacing:-.05em;margin:0}.hero h1 em{color:var(--red);font-style:normal}.hero-copy>p:not(.floral){max-width:34rem;margin:1.9rem 0;font-size:clamp(1rem,1.4vw,1.3rem)}.button-row{flex-wrap:wrap;gap:1rem;display:flex}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;min-height:48px;padding:.78rem 1.25rem;font-weight:800;transition:background .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:0 7px 16px #43201026}.button:active{transform:scale(.98)}.button-solid{background:var(--red);color:#fff}.button-solid:hover{background:var(--red-dark)}.button-outline{border-color:var(--red);color:var(--red);background:0 0}.button-outline:hover{background:#fff4ef}.hero-photo{background:#dacdb9;width:100%;min-width:0;max-width:100%;min-height:590px;margin:0;position:relative;overflow:hidden}.hero-photo>img:first-child{object-fit:cover;object-position:center;width:100%;min-width:0;height:100%}.hero-mini{display:none}.shop-intent{background:var(--paper);padding:1rem clamp(1.25rem,4vw,4.5rem) 3.5rem}.shop-intent h2{font:clamp(2rem, 3.4vw, 3.2rem) / 1 var(--serif);text-align:center;margin:0 0 1rem}.shop-intent h2 i{color:var(--sage);font-style:normal;font-family:var(--sans)}.intent-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.intent-grid a{background:var(--blue);color:#fff;min-height:175px;font:clamp(1.65rem, 2.5vw, 2.7rem) / .95 var(--serif);border-radius:11px;align-items:end;padding:1.4rem;transition:transform .25s,filter .25s;display:flex;position:relative;overflow:hidden}.intent-grid a:before{content:"✿";font:4rem var(--serif);color:#ffffff63;position:absolute;top:12px;right:15px}.intent-grid a:hover{filter:saturate(1.1);transform:translateY(-5px)}.intent-grid a:nth-child(2){color:var(--ink);background:#dbe5e8}.intent-grid a:nth-child(3){color:var(--ink);background:#e8dfcc}.intent-grid a:nth-child(4){color:var(--ink);background:#ead8bd}.feature{background:#eef0e7;border-radius:12px;grid-template-columns:.78fr 1.22fr;align-items:center;gap:clamp(2rem,5vw,6rem);margin:clamp(2rem,5vw,5rem) clamp(1.25rem,7vw,9rem);padding:clamp(1rem,3vw,3rem);display:grid}.feature-photo{border-radius:10px;height:350px;overflow:hidden}.feature-photo img{object-fit:cover;object-position:center;width:100%;height:100%}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#75533c;margin:0 0 .8rem;font-size:.74rem;font-weight:800}.feature h2,.section-heading h2,.final-note h2{font:clamp(2.25rem, 4vw, 4.2rem) / .98 var(--serif);letter-spacing:-.035em;margin:.25rem 0 1rem}.feature p:not(.eyebrow){max-width:43rem;font-size:1.1rem}.text-link{color:var(--red);border-bottom:1px solid;padding-bottom:2px;font-weight:800}.catalogue-section,.listing,.story,.contact-page,.policy,.article,.empty-page{padding:clamp(3rem,7vw,7rem) clamp(1.25rem,7vw,9rem)}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.section-heading h2{margin:0}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.1rem,2vw,2rem);display:grid}.product-card{display:block}.product-image{aspect-ratio:1;background:#f1e8d9;border-radius:8px;margin-bottom:1rem;overflow:hidden}.product-image img{object-fit:contain;width:100%;height:100%;transition:transform .35s}.product-card:hover .product-image img{transform:scale(1.04)}.product-card h3{margin:.2rem 0 .4rem;font-size:1rem;line-height:1.3}.product-card strong{font-size:.95rem}.product-vendor{letter-spacing:.09em;text-transform:uppercase;color:#75533c;margin:0;font-size:.68rem}.final-note{background:var(--red);color:#fff;text-align:center;padding-block:5rem}.final-note .eyebrow{color:#ffd7bc}.final-note h2{max-width:620px;margin:0 auto 1rem}.final-note p:not(.eyebrow){max-width:500px;margin:0 auto 1.5rem}.final-note .button{color:var(--red);background:#fff}.page-intro{max-width:720px;margin-bottom:3rem}.page-intro h1{font-size:clamp(3rem,6vw,5.75rem)}.page-intro p:not(.eyebrow){font-size:1.15rem}.collection-links,.gift-paths{flex-wrap:wrap;gap:.65rem;margin:0 0 2.25rem;display:flex}.collection-links a,.gift-paths a{border:1px solid var(--line);background:#fffdf8;border-radius:999px;padding:.55rem .85rem;font-size:.85rem;font-weight:700;transition:background .2s,color .2s}.collection-links a:hover,.gift-paths a:hover{color:#fff;background:var(--red);border-color:var(--red)}.product-page{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(2rem,7vw,8rem);padding:clamp(2rem,6vw,6rem) clamp(1.25rem,8vw,11rem);display:grid}.product-main-image{aspect-ratio:1;background:#f3ecdf;border-radius:12px;justify-content:center;align-items:center;display:flex}.product-main-image img{object-fit:contain;border-radius:12px;width:100%;height:100%;transition:opacity .18s}.product-info{align-self:center}.back{color:var(--red);margin-bottom:2rem;font-weight:800;display:inline-block}.product-info h1{font:clamp(2.4rem, 4.4vw, 4.8rem) / .96 var(--serif);letter-spacing:-.04em;margin:.2rem 0 1rem}.product-description{overflow-wrap:anywhere;margin:1.4rem 0}.product-description p{margin:0 0 1rem}.buy-box{gap:1rem;max-width:26rem;margin-top:1.8rem;display:grid}.buy-box label{gap:.4rem;font-weight:800;display:grid}.buy-box select{font:inherit;background:#fffdf8;border:1px solid #b9aa94;border-radius:7px;padding:.75rem}.load-more{margin:2rem auto 0;display:flex}.cart-page{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:3rem;padding:clamp(3rem,7vw,7rem) clamp(1.25rem,7vw,9rem);display:grid}.cart-page .page-intro{grid-column:1/-1;margin-bottom:0}.cart-lines{gap:1rem;display:grid}.cart-line{background:var(--paper);border-radius:10px;grid-template-columns:120px 1fr;gap:1.2rem;padding:1rem;display:grid}.cart-line img{object-fit:contain;background:#fffdf8;border-radius:7px;width:120px;height:120px}.cart-line h2{font:1.55rem/1 var(--serif);margin:0 0 .4rem}.cart-line p{margin:.2rem 0}.quantity{align-items:center;gap:.45rem;margin-top:.85rem;display:flex}.quantity button,.clear{color:var(--red);font:800 .92rem var(--sans);cursor:pointer;background:0 0;border:0}.quantity button:not(.remove){border:1px solid var(--red);border-radius:50%;width:28px;height:28px}.cart-total{background:#f0eadc;border-radius:10px;gap:1rem;padding:1.5rem;display:grid}.cart-total p{margin:0}.cart-total strong{font:2rem var(--serif)}.price{font-size:1.25rem;font-weight:800}.shop-callout{background:var(--paper);border-left:4px solid var(--red);margin:2rem 0;padding:1.1rem 1.2rem}.shop-callout p{margin:.35rem 0 0}.story-grid,.contact-layout{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,7vw,7rem);display:grid}.story-grid>img{aspect-ratio:4/5;object-fit:cover;border-radius:12px;width:100%}.story-grid p{margin-top:0;font-size:1.1rem}.contact-form{gap:1rem;display:grid}.contact-form label{gap:.35rem;font-weight:800;display:grid}.contact-form input,.contact-form textarea{font:inherit;color:var(--ink);background:#fffdf8;border:1px solid #b9aa94;border-radius:7px;padding:.8rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--red);outline:3px solid #f3c5ae}.form-status{color:var(--red);margin:0;font-weight:700}.cookie-consent{z-index:60;border-top:1px solid var(--line);background:#fffdf8;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem clamp(1rem,4vw,3rem);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #42220d18}.cookie-consent p{max-width:46rem;margin:0;font-size:.94rem}.cookie-consent p a{color:var(--red);text-underline-offset:.16em;text-decoration:underline}.cookie-consent>div{flex:none;gap:.65rem;display:flex}.cookie-consent button{border:1px solid var(--red);min-width:6rem;min-height:2.7rem;color:var(--red);font:800 .9rem var(--sans);cursor:pointer;background:#fffdf8;border-radius:7px;padding:.55rem 1rem;transition:background .2s,color .2s,transform .15s}.cookie-consent button:hover{background:var(--red);color:#fff}.cookie-consent button:active{transform:scale(.98)}.cookie-consent button:focus-visible{outline:3px solid var(--blush);outline-offset:2px}.contact-layout aside{background:var(--paper);border-radius:12px;padding:2rem}.contact-layout aside h2{font:2.3rem var(--serif);margin:0 0 1rem}.contact-layout aside a{color:var(--red);margin:.5rem 0;font-weight:800;display:block}.contact-layout address{margin-top:1.3rem;font-style:normal}.policy{max-width:1000px;margin:auto}.policy .page-intro{margin-bottom:2rem}.policy p{margin:0 0 1.3rem}.article{max-width:820px;margin:auto}.article h1{margin:.2rem 0 1.6rem;font-size:clamp(3rem,6vw,5.5rem)}.article>p:not(.eyebrow){font-size:1.22rem;line-height:1.7}.post-list{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.post-list article{background:var(--paper);border-radius:10px;padding:1.4rem}.post-list h2{font:2rem/.98 var(--serif);margin:.4rem 0 .8rem}.empty-page{text-align:center;max-width:850px;margin:auto}.empty-page p{max-width:580px;margin:1.3rem auto 2rem;font-size:1.15rem}footer{color:#f8f0e1;background:#352217;grid-template-columns:2fr repeat(3,1fr) auto;gap:2rem;padding:4rem clamp(1.25rem,5vw,6rem);display:grid}footer .brand span{color:#f7d9aa;font-size:2.4rem}footer .brand small{color:#e9c7a0}footer .footer-brand p{color:#ddcfc0;max-width:270px;margin-top:1.2rem}footer h2{text-transform:uppercase;letter-spacing:.16em;color:#d3ae83;margin:0 0 1rem;font-size:.74rem}footer>div:not(.footer-brand){flex-direction:column;gap:.5rem;font-size:.92rem;display:flex}footer a:hover{color:#f7d9aa}.theo{align-self:end}.theo img{width:32px;height:32px}@media (max-width:960px){header{gap:20px}.brand{min-width:230px}.desktop-nav{gap:1.1rem}.hero-photo{margin-right:-1.25rem}.product-grid{grid-template-columns:repeat(3,1fr)}footer{grid-template-columns:2fr repeat(3,1fr)}.feature{margin-inline:1.25rem}}@media (max-width:800px) and (min-width:761px){.hero{grid-template-columns:1fr;padding:0}.hero-copy{padding:3.8rem 2.5rem 2.7rem}.hero-photo{min-height:380px;max-height:460px}}@media (max-width:760px){header{min-height:78px;padding:10px 1.25rem}.brand{min-width:0}.brand span{font-size:2.2rem}.brand small{margin-top:6px;font-size:.52rem}.desktop-nav,.header-actions{display:none}.mobile-nav{display:block}.hero{grid-template-columns:1fr;padding:0}.hero-copy{padding:3.8rem 1.25rem 2.7rem}.hero h1{font-size:4.15rem}.hero-copy>p:not(.floral){margin:1.2rem 0}.hero-photo{min-height:330px;max-height:390px;margin:0}.shop-intent{padding:2.4rem 1.25rem}.shop-intent h2{font-size:2.35rem}.intent-grid{grid-template-columns:repeat(2,1fr)}.intent-grid a{min-height:140px;font-size:2rem}.feature{grid-template-columns:1fr;gap:1.6rem;margin:2rem 1.25rem;padding:1rem}.feature-photo{height:285px}.section-heading{display:block}.section-heading .text-link{margin-top:1rem;display:inline-block}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.catalogue-section,.listing,.story,.contact-page,.policy,.article,.empty-page{padding:3.5rem 1.25rem}.page-intro{margin-bottom:2rem}.page-intro h1{font-size:3.65rem}.product-page{grid-template-columns:1fr;padding:2rem 1.25rem 4rem}.story-grid,.contact-layout,.post-list{grid-template-columns:1fr}.cart-page{grid-template-columns:1fr;gap:1.4rem}.cart-page .page-intro{grid-column:auto}.article h1,.empty-page h1{font-size:3.55rem}footer{grid-template-columns:repeat(2,1fr);padding:3rem 1.25rem}.footer-brand{grid-column:1/-1}.theo{grid-column:2;justify-self:end}.theo img{height:32px}.welcome{font-size:.88rem}.cookie-consent{flex-direction:column;align-items:stretch;padding:.9rem 1.25rem}.cookie-consent>div{width:100%}.cookie-consent button{flex:1}}@media (max-width:390px){.hero h1{font-size:3.65rem}.page-intro h1,.article h1,.empty-page h1{font-size:3.2rem}.brand span{font-size:1.95rem}.intent-grid a{font-size:1.7rem}}@media (prefers-reduced-motion:no-preference){.hero-copy>*{animation:.65s both rise}.hero-copy>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
