*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--background);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overflow-x:hidden}a{color:inherit}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{touch-action:manipulation}h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}p{overflow-wrap:break-word}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--primary-dark: #2b2620;--primary-medium: #746a5e;--accent: #a6835f;--accent-dark: #7c5f42;--brand-burgundy: #8a2a1e;--surface: #f2ece2;--background: #faf8f4;--text: #362f27;--border: #e4dccf;--danger: #b3554a;--radius: .4rem;--shadow-soft: 0 10px 28px rgba(43, 38, 32, .06);--heading-font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;--heading-font-weight: 600;--heading-font-style: normal;--heading-color: #2f241d;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--header-h: calc(6.6rem + var(--safe-top));--gutter: 2rem;--page-top: calc(var(--header-h) + 3rem);--tap: 44px}@media (max-width: 1024px){:root{--gutter: 1.5rem}}@media (max-width: 900px){:root{--header-h: calc(4.3rem + var(--safe-top));--page-top: calc(var(--header-h) + 2.25rem)}}@media (max-width: 640px){:root{--header-h: calc(3.85rem + var(--safe-top));--gutter: 1.25rem;--page-top: calc(var(--header-h) + 1.75rem)}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body,button,input,select,textarea,a,span,li{font-family:inherit}h1,h2,h3,h4,h5,h6,.section-title{font-family:var(--heading-font-family)}::selection{background:#a6835f40}:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}.app-shell{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fcfaf7,#f8efe4)}main{flex:1;padding-top:0}.container{width:min(1120px,100% - 2 * var(--gutter));margin-inline:auto}.page-top{padding-top:var(--page-top);padding-bottom:clamp(3rem,8vw,5rem)}.eyebrow{margin:0 0 .85rem;color:var(--accent);text-transform:uppercase;letter-spacing:.22em;font-weight:700;font-size:.78rem}.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;text-decoration:none;border-radius:2px;padding:.9rem 1.6rem;font-weight:600;font-size:.82rem;line-height:1.2;text-align:center;text-transform:uppercase;letter-spacing:.14em;border:1px solid transparent;cursor:pointer;margin-top:1rem;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .1s ease}.button-primary{background:var(--primary-dark);color:#fffdf9}.button-secondary{background:transparent;color:var(--primary-dark);border-color:var(--primary-dark)}.button-primary:active:not(:disabled),.button-secondary:active:not(:disabled){transform:scale(.985)}@media (hover: hover){.button-primary:hover:not(:disabled){background:var(--accent-dark)}.button-secondary:hover:not(:disabled){background:var(--primary-dark);color:#fffdf9}}.button-primary:disabled,.button-secondary:disabled{opacity:.6;cursor:not-allowed}.button-block{width:100%}.card{background:#fffdf9;border:1px solid var(--border);border-radius:2px;padding:clamp(1.25rem,4vw,2rem);box-shadow:var(--shadow-soft)}.input,.select,.textarea{display:block;width:100%;min-height:48px;padding:.8rem 1rem;border:1px solid var(--border);border-radius:2px;background:#fffdf9;color:var(--text);margin-bottom:.9rem;font:inherit;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.textarea{resize:vertical;min-height:7rem}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #8f6a441f}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.form-field{margin-bottom:.2rem}.form-label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-dark)}.form-error{display:block;margin:-.5rem 0 .9rem;font-size:.82rem;color:var(--danger)}.form-actions{display:flex;gap:.8rem;flex-wrap:wrap}.inline-checkbox{display:flex;gap:.65rem;align-items:flex-start;margin:.8rem 0;font-size:.92rem;color:var(--primary-medium);line-height:1.5;cursor:pointer}.inline-checkbox input{flex-shrink:0;width:1.15rem;height:1.15rem;accent-color:var(--accent-dark);margin:.1rem 0 0}.inline-checkbox a{color:var(--accent-dark)}.small-muted{color:var(--primary-medium);font-size:.95rem}.section-title{font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.1;margin:0 0 .8rem;color:var(--primary-dark)}.section-subtitle{color:var(--primary-medium);max-width:700px;margin-bottom:1.5rem;line-height:1.8}.skeleton{background:linear-gradient(90deg,#efe8dd,#f7f2ea,#efe8dd);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:2px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.state-message{padding:clamp(1.5rem,5vw,2.5rem) 1.25rem;border:1px solid var(--border);border-radius:2px;background:#fffdf9;text-align:center}.state-message p{margin:0 auto;max-width:460px;color:var(--primary-medium);line-height:1.7}.state-message .button-primary,.state-message .button-secondary{margin-top:1.25rem}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.skip-link{position:absolute;top:-100px;left:1rem;z-index:300;padding:.7rem 1rem;background:var(--primary-dark);color:#fffdf9;text-decoration:none;font-size:.85rem}.skip-link:focus{top:calc(.5rem + var(--safe-top))}main:focus{outline:none}.page-fallback{min-height:100vh;min-height:100svh}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 640px){.hide-mobile{display:none!important}}.nowrap{white-space:nowrap}.site-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:100;padding-top:var(--safe-top);border-bottom:1px solid rgba(255,255,255,.72);background:transparent;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease;--header-padding: .6rem}.site-header.is-active{background:#fff;border-bottom-color:#6a4d2d33}.site-header.menu-open{background:#fffdf9;border-bottom-color:#6a4d2d24}.header-inner{width:min(1200px,100%);margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.32rem;padding:.45rem 1rem .58rem;position:relative}.nav-toggle{display:none;position:absolute;right:max(.5rem,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:2px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:.32rem;z-index:2}.nav-toggle span{display:block;width:1.5rem;height:2px;background:#fff;transition:transform .25s ease,opacity .2s ease,background .2s ease}.site-header.is-active .nav-toggle span,.nav-toggle.is-open span{background:var(--primary-dark)}.nav-toggle.is-open span:nth-child(1){transform:translateY(.46rem) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-.46rem) rotate(-45deg)}.mobile-nav,.mobile-nav-backdrop{display:none}.brand-link{display:inline-flex;align-items:center;justify-content:center;color:var(--primary-dark);text-decoration:none}.brand-logo{display:block;height:3.8rem;width:auto;object-fit:contain;margin:0 auto}.site-nav{display:flex;justify-content:center;align-items:center;gap:.18rem .72rem;width:100%;max-width:760px;flex-wrap:wrap}.site-nav a{color:#fff;text-decoration:none;font-family:var(--heading-font-family);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;padding:.12rem 0;transition:color .2s ease-in-out;position:relative}.site-header.is-active .site-nav a{color:var(--accent-dark)}.site-nav a:after{content:"";position:absolute;left:0;bottom:calc(-1 * var(--header-padding, .9rem));width:0;height:2px;background:var(--heading-color);transition:width .2s ease-in-out}.site-header.is-active .site-nav a:after{background:var(--accent-dark)}.site-nav a.active:after,.site-nav a:focus-visible:after{width:100%}.site-nav a.active{color:var(--accent-dark)}@media (hover: hover){.site-header:hover{background:#fff;border-bottom-color:#6a4d2d33}.site-header:hover .nav-toggle span{background:var(--primary-dark)}.site-header:hover .site-nav a,.site-nav a:hover{color:var(--accent-dark)}.site-nav a:hover:after{width:100%}}@media (max-width: 900px){.header-inner{flex-direction:row;justify-content:center;height:calc(var(--header-h) - var(--safe-top));padding:0 3.5rem}.brand-logo{height:3rem}.site-nav{display:none}.nav-toggle{display:flex}.mobile-nav{display:block;position:absolute;top:100%;left:0;right:0;background:#fffdf9;border-bottom:1px solid rgba(106,77,45,.14);box-shadow:0 20px 40px #3d2c1e24;overflow:hidden;max-height:0;visibility:hidden;transition:max-height .3s ease,visibility 0s linear .3s;z-index:3}.mobile-nav.is-open{max-height:calc(100svh - var(--header-h));overflow-y:auto;overscroll-behavior:contain;visibility:visible;transition:max-height .3s ease,visibility 0s}.mobile-nav nav{display:flex;flex-direction:column;padding:.25rem var(--gutter) calc(1.25rem + var(--safe-bottom))}.mobile-nav a{display:flex;align-items:center;justify-content:space-between;min-height:3.4rem;border-bottom:1px solid rgba(106,77,45,.1);color:var(--primary-dark);text-decoration:none;font-family:Nunito Sans,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;opacity:0;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease,color .2s ease}.mobile-nav.is-open a{opacity:1;transform:none}.mobile-nav.is-open a:nth-child(2){transition-delay:.03s}.mobile-nav.is-open a:nth-child(3){transition-delay:.06s}.mobile-nav.is-open a:nth-child(4){transition-delay:.09s}.mobile-nav.is-open a:nth-child(5){transition-delay:.12s}.mobile-nav a:after{content:"";width:.45rem;height:.45rem;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);opacity:.45}.mobile-nav a:last-child{border-bottom:0}.mobile-nav a.active{color:var(--accent-dark)}.mobile-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;top:var(--header-h);background:#120f0c59;border:0;padding:0;z-index:2;cursor:default;animation:backdrop-in .25s ease both}}@media (max-width: 640px){.brand-logo{height:2.7rem}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}body.nav-open{overflow:hidden}.site-footer{border-top:1px solid rgba(106,77,45,.12);background:#fcfaf7;color:var(--primary-medium);padding:2.4rem var(--gutter) calc(1.6rem + var(--safe-bottom))}.footer-inner{max-width:620px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.95rem}.footer-brand{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding-bottom:1rem}.footer-logo{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--primary-dark)}.footer-tagline{margin:0;font-size:.9rem;line-height:1.7;color:var(--primary-medium)}.footer-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:1.1rem 1.4rem;padding-bottom:.5rem}.footer-divider{width:100%;height:1px;background:#6a4d2d24}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1.1rem;padding-top:.1rem}.footer-link{color:var(--primary-medium);text-decoration:none;font-size:.95rem;transition:color .2s ease}@media (hover: hover){.footer-link:hover{color:var(--accent-dark)}}.footer-copy{margin:1rem 0 0;font-size:.8rem;color:#6a4d2db8;letter-spacing:.08em;text-transform:uppercase}@media (max-width: 640px){.site-footer{padding-top:2.6rem}.footer-inner{gap:.6rem}.footer-meta,.footer-nav{flex-direction:column;gap:0}.footer-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.6rem}}.product-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:100%;background:transparent;animation:fadeUp .6s ease both}.product-card__stretched-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.product-card__stretched-link:focus-visible{outline:2px solid var(--brand-burgundy);outline-offset:4px}.product-card__image-wrap{position:relative;overflow:hidden;width:100%;aspect-ratio:1 / 1.1;background:var(--surface)}.product-card__sold-out{position:absolute;top:.7rem;right:.7rem;z-index:2;padding:.32rem .7rem;background:#2b2620d9;color:#fffdf9;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;border-radius:999px}.product-card__image{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s ease,transform .45s ease}.product-card__image--hover{opacity:0}.product-card__image--hover.is-visible{opacity:1}.product-card__image--main.is-faded{opacity:0}@media (hover: hover){.product-card:hover .product-card__image{transform:scale(1.03)}.product-card:hover .product-card__cta{color:var(--brand-burgundy)}.product-card:hover .product-card__cta:after{width:100%}}.product-card__body{display:grid;gap:.4rem;padding:1.1rem 0 0;text-align:center;flex:1;align-content:start}.product-card h3{margin:0;font-family:var(--heading-font-family);font-size:1.125rem;line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-burgundy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.product-card__price{margin:0;color:var(--brand-burgundy);font-weight:500;font-size:.92rem}.product-card__cta{position:relative;z-index:0;justify-self:center;display:inline-block;margin-top:.85rem;padding-bottom:.4rem;color:var(--accent-dark);text-decoration:none;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;transition:color .25s ease}.product-card__cta:after{content:"";position:absolute;left:50%;bottom:0;width:1.6rem;height:1px;background:currentColor;transform:translate(-50%);transition:width .3s ease}.product-card:active .product-card__cta{color:var(--brand-burgundy)}.product-card--skeleton{animation:none}.product-card__skeleton-line{display:block;height:.95rem;width:70%;margin:.2rem auto 0}.product-card__skeleton-line--short{width:30%}.product-card--skeleton .product-card__cta{width:5rem;height:.7rem;padding:0}.product-card--skeleton .product-card__cta:after{display:none}@media (max-width: 640px){.product-card__body{gap:.25rem;padding-top:.75rem}.product-card h3{font-size:.86rem;letter-spacing:.08em}.product-card__price{font-size:.85rem}.product-card__cta{margin-top:.55rem;font-size:.66rem;letter-spacing:.16em}.product-card__sold-out{top:.45rem;right:.45rem;padding:.25rem .55rem;font-size:.6rem}}.home-page{background:var(--background);margin-top:0}.hero-section{position:relative;min-height:100svh;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:0;padding-top:0;background:var(--surface);transition:background-color .25s ease}.hero-image{position:absolute;right:0;bottom:0;left:0;top:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,rgba(25,20,18,.32),rgba(25,20,18,.12),transparent 65%)}.hero-content{position:absolute;left:8%;right:8%;top:50%;animation:hero-in 1s ease-out both;max-width:460px;padding:0;background:none;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-align:left;z-index:2}.hero-kicker{color:#fffffff2;text-transform:uppercase;letter-spacing:.28rem;font-weight:700;margin-bottom:.9rem;font-size:.78rem;text-shadow:0 2px 12px rgba(0,0,0,.22)}.hero-content h1{font-size:clamp(3rem,5vw,4.8rem);line-height:.96;font-weight:300;margin:.5rem 0 1.5rem}.hero-description{color:#ffffffeb;font-size:.98rem;line-height:1.7;margin:0 auto 1.4rem;max-width:520px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.hero-link{display:inline-flex;gap:.6rem;align-items:center;color:#fff;text-decoration:none;font-size:.95rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;position:relative;padding-bottom:.3rem}.hero-link:after{content:"";width:0;height:1px;position:absolute;left:0;bottom:0;background:currentColor;transition:width .3s ease}.hero-link:hover:after{width:100%}.hero-link svg{transition:transform .25s ease}.hero-link:hover svg{transform:translate(4px)}.featured-section{width:min(1120px,100% - 2 * var(--gutter));margin:0 auto;padding:clamp(3rem,7vw,5rem) 0 clamp(3rem,7vw,5rem)}.section-headline{margin-bottom:2rem}.section-headline .eyebrow{margin-bottom:.4rem}.section-headline h2{font-family:var(--heading-font-family);font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:0;color:var(--primary-dark)}.featured-grid{display:grid;gap:3rem 1.6rem;grid-template-columns:repeat(3,minmax(0,1fr))}.featured-more{display:flex;justify-content:center;margin-top:clamp(2rem,5vw,3rem)}.featured-more .button-secondary{margin-top:0}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.22rem;font-weight:700;margin-bottom:.85rem;font-size:.78rem}@media (max-width: 900px){.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem 1rem}}@media (max-width: 640px){.hero-section{min-height:72svh}.hero-content{left:var(--gutter);right:var(--gutter);top:44%;max-width:none;padding:0}.hero-content h1{font-size:clamp(2.3rem,10vw,2.9rem);line-height:1;margin:.45rem 0 1.1rem}.hero-kicker{font-size:.64rem;letter-spacing:.18rem;line-height:1.6}.hero-link{min-height:var(--tap);font-size:.74rem;letter-spacing:.12em}.hero-link:after{width:42px}.section-headline{margin-bottom:1.4rem}.featured-more .button-secondary{width:100%}}@media (max-width: 360px){.featured-grid{grid-template-columns:1fr}}@keyframes hero-in{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
