:root{--paper:oklch(96% .018 82);--paper-deep:oklch(91% .032 79);--ink:oklch(20% .035 340);--plum:oklch(29% .095 350);--plum-deep:oklch(21% .073 350);--mustard:oklch(75% .14 80);--gold-ink:oklch(29% .07 70);--line:oklch(56% .055 340/.42);--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:"Avenir Next",Avenir,"Segoe UI",sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4.5rem;--space-2xl:7rem}.wordmark img,.wordmark picture{width:220px;height:47px;object-fit:contain;object-position:left center}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;font-feature-settings:"kern";font-kerning:normal;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}button{cursor:pointer}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-height:72px;padding:0 clamp(1rem,3vw,3.5rem);display:flex;align-items:center;gap:1.5rem;background:color-mix(in oklch,var(--paper) 94%,white);border-bottom:1px solid color-mix(in oklch,var(--line) 45%,transparent)}.wordmark{font-family:var(--serif);font-size:clamp(1.45rem,2.1vw,2rem);font-style:italic;color:var(--plum);letter-spacing:-.055em;white-space:nowrap}.desktop-nav{display:flex;gap:clamp(1rem,2vw,2.25rem);margin-left:auto}.desktop-nav a{position:relative;padding:.9rem 0}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:.55rem;width:0;height:1px;background:var(--plum);transition:width .18s cubic-bezier(.25,1,.5,1)}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:.75rem}.mini-icon{border:1px solid var(--line);height:42px;width:42px;display:grid;place-items:center;font-size:1.35rem;color:var(--plum);transition:background-color .16s,color .16s}.mini-icon:hover{background:var(--plum);color:var(--paper)}.menu-button{display:none;border:1px solid var(--line);background:transparent;color:var(--plum);min-width:44px;min-height:44px;font-size:1.2rem}.mobile-nav{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.35rem;border:1px solid transparent;border-radius:5px;font-weight:650;line-height:1;text-align:center;transition:transform .15s cubic-bezier(.25,1,.5,1),background-color .15s,color .15s,border-color .15s}.button:hover{transform:translateY(-2px)}.button:active{transform:scale(.98)}.button.plum{background:var(--plum);color:var(--paper)}.button.plum:hover{background:var(--plum-deep)}.button.ghost{border-color:var(--plum);color:var(--plum)}.button.ghost:hover{background:color-mix(in oklch,var(--plum) 8%,var(--paper))}.button.mustard{background:var(--mustard);color:var(--gold-ink)}.button.mustard:hover{background:color-mix(in oklch,var(--mustard) 85%,var(--paper))}.button.small{min-height:42px;padding:.65rem 1rem}.hero{min-height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.22fr);background:var(--paper-deep)}.hero-copy{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,9rem) clamp(1.5rem,6vw,7rem);background:radial-gradient(circle at 25% 15%,color-mix(in oklch,var(--paper) 70%,white),var(--paper-deep));position:relative}.hero-copy:after{content:"";position:absolute;right:-24px;top:0;bottom:0;width:48px;background:var(--paper-deep);-webkit-clip-path:polygon(0 0,55% 1%,25% 5%,62% 10%,30% 15%,75% 22%,34% 28%,65% 34%,32% 41%,70% 49%,27% 58%,68% 67%,29% 76%,72% 85%,30% 94%,52% 100%,0 100%);clip-path:polygon(0 0,55% 1%,25% 5%,62% 10%,30% 15%,75% 22%,34% 28%,65% 34%,32% 41%,70% 49%,27% 58%,68% 67%,29% 76%,72% 85%,30% 94%,52% 100%,0 100%);z-index:2}.scribble{font-family:var(--serif);font-style:italic;color:var(--plum);margin:0 0 1.25rem;font-size:1.08rem}.about-hero h1,.contact-intro h1,.faq-page h1,.hero h1,.not-found h1,.page h1{font:500 clamp(3rem,5.2vw,6rem)/.95 var(--serif);letter-spacing:-.065em;margin:0;max-width:10ch;text-wrap:balance}.hero-copy>p:not(.scribble){font-size:clamp(1.1rem,1.45vw,1.35rem);max-width:29ch;margin:1.7rem 0 2rem}.scribble-rule{width:130px;height:2px;background:var(--plum);transform:rotate(-1.5deg);margin-top:1.55rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.hero-photo{position:relative;min-height:560px;background:var(--plum-deep);overflow:hidden}.hero-photo img,.hero-photo picture{width:100%;height:100%}.hero-photo img{object-fit:cover}.photo-label{position:absolute;right:1.25rem;bottom:1.25rem;padding:.55rem .85rem;background:var(--paper);font-family:var(--serif);font-style:italic;color:var(--plum)}.trust-strip{background:var(--plum);color:var(--paper);display:grid;grid-template-columns:repeat(3,1fr);padding:1.15rem clamp(1rem,6vw,7rem);border-top:1px dashed color-mix(in oklch,var(--paper) 65%,transparent);border-bottom:1px dashed color-mix(in oklch,var(--paper) 65%,transparent)}.trust-strip p{margin:0;text-align:center;padding:.2rem 1rem;border-right:1px dashed color-mix(in oklch,var(--paper) 55%,transparent)}.trust-strip p:last-child{border:0}.section{padding:var(--space-2xl) clamp(1rem,6vw,7rem)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.5rem}.eyebrow{color:var(--plum);font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.14em;margin:0 0 .75rem}.about-body h2,.faq-cta h2,.legal h2,.section h2,.story-copy h2{font:500 clamp(2.2rem,3.6vw,4.25rem)/1 var(--serif);letter-spacing:-.06em;margin:0;text-wrap:balance}.text-link{color:var(--plum);font-weight:700;white-space:nowrap}.text-link span{display:inline-block;transition:transform .15s}.text-link:hover span{transform:translateX(4px)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:clamp(.8rem,2vw,2.5rem);gap:clamp(.8rem,2vw,2.5rem)}.product-card{min-width:0}.product-image{display:block;background:var(--paper-deep);aspect-ratio:1/1;overflow:hidden}.product-image img,.product-image picture{width:100%;height:100%}.product-image img{object-fit:contain;transition:transform .32s cubic-bezier(.25,1,.5,1)}.product-card:hover img{transform:scale(1.035)}.product-meta{display:flex;justify-content:space-between;gap:.75rem;padding:.8rem .1rem 0;font-family:var(--serif);font-size:1.2rem;line-height:1.15}.product-meta a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--mustard);text-decoration-color:var(--mustard);text-underline-offset:5px}.price,.product-meta strong{color:var(--plum);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.story-section{display:grid;grid-template-columns:.85fr 1.25fr;grid-gap:clamp(2rem,6vw,7rem);gap:clamp(2rem,6vw,7rem);align-items:center;padding:var(--space-2xl) clamp(1rem,6vw,7rem);background:var(--paper-deep)}.story-copy p:not(.eyebrow){max-width:45ch;font-size:1.08rem;margin:1.5rem 0 2rem}.story-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.mosaic-image{background:var(--paper);min-height:190px;overflow:hidden}.mosaic-image:first-child{grid-row:span 2}.mosaic-image img,.mosaic-image picture{height:100%;width:100%}.mosaic-image img{object-fit:contain}.collections-section{padding-bottom:var(--space-xl)}.collection-links{border-top:1px solid var(--line)}.collection-links a{min-height:110px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;border-bottom:1px solid var(--line);transition:background-color .15s,padding .15s}.collection-links a:hover{background:color-mix(in oklch,var(--mustard) 18%,var(--paper));padding-left:1rem}.collection-links span{font:500 clamp(1.8rem,3vw,3.1rem)/1 var(--serif);letter-spacing:-.05em}.collection-links small{font-size:1rem}.faq-cta{margin:var(--space-xl) clamp(1rem,6vw,7rem) var(--space-2xl);padding:clamp(2rem,5vw,5rem);background:var(--plum);color:var(--paper);display:flex;justify-content:space-between;gap:2rem;align-items:center}.faq-cta .eyebrow{color:var(--mustard)}.page{min-height:65vh}.about-hero h1,.contact-intro h1,.faq-page h1,.not-found h1,.page h1{max-width:15ch}.lede{font:400 1.15rem/1.55 var(--sans);max-width:55ch;margin:1.35rem 0 3rem}.page .product-grid{margin-top:2rem}.product-page{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-gap:clamp(2rem,7vw,8rem);gap:clamp(2rem,7vw,8rem);align-items:start}.product-gallery{display:grid;grid-gap:1rem;gap:1rem}.product-gallery picture{display:block;background:var(--paper-deep)}.product-gallery img{width:100%;max-height:72vh;object-fit:contain}.product-detail{position:-webkit-sticky;position:sticky;top:105px}.product-detail h1{font:500 clamp(2.8rem,4.2vw,4.8rem)/.98 var(--serif);letter-spacing:-.065em;margin:.4rem 0 1rem}.price{display:block;font:500 1.6rem var(--serif);margin-bottom:1.35rem}.product-detail>p{max-width:38ch}.detail-note{margin:2rem 0;padding:1.5rem;background:color-mix(in oklch,var(--mustard) 23%,var(--paper));border:1px solid color-mix(in oklch,var(--mustard) 50%,var(--line))}.detail-note h2{font:500 1.8rem/1.05 var(--serif);letter-spacing:-.04em;margin:0}.detail-note p{margin:.75rem 0 1.25rem}.about-hero{background:var(--paper-deep);padding-bottom:var(--space-xl)}.about-body{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(1.5rem,4vw,4.5rem);gap:clamp(1.5rem,4vw,4.5rem)}.about-body h2{font-size:2.4rem}.about-body p{max-width:30ch}.contact-page{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:clamp(2rem,8vw,9rem);gap:clamp(2rem,8vw,9rem);align-items:start}.contact-intro a{display:block;color:var(--plum);font-weight:700;margin:.5rem 0}.contact-form{padding:clamp(1.5rem,4vw,3rem);background:var(--paper-deep);display:grid;grid-gap:.75rem;gap:.75rem}.contact-form label{font-weight:700}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:var(--paper);padding:.85rem 1rem;color:var(--ink)}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid color-mix(in oklch,var(--mustard) 75%,transparent);outline-offset:2px}.form-status{margin:.5rem 0;color:var(--plum);font-weight:700}.form-status.error{color:oklch(42% .16 27)}.contact-form button{justify-self:start}.faq-list{max-width:850px;border-top:1px solid var(--line);margin-top:3rem}.faq-list details{border-bottom:1px solid var(--line);padding:1.25rem 0}.faq-list summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;font:500 1.4rem/1.2 var(--serif);letter-spacing:-.025em;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--plum);font-family:var(--sans)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{max-width:62ch;margin:1rem 0 .2rem}.legal{max-width:850px;min-height:65vh}.legal h1{font:500 clamp(3rem,5vw,5rem)/.95 var(--serif);letter-spacing:-.065em;margin:0 0 1.5rem}.legal h2{font-size:2.25rem;margin-top:2.5rem}.legal p{max-width:68ch}.legal a{color:var(--plum);text-decoration:underline;text-underline-offset:3px}.not-found{min-height:60vh;display:flex;flex-direction:column;justify-content:center}.site-footer{background:var(--plum-deep);color:var(--paper);padding:clamp(3rem,6vw,6rem) clamp(1rem,6vw,7rem);display:grid;grid-template-columns:1.6fr 1fr 1fr auto;grid-gap:2rem;gap:2rem;position:relative}.site-footer .wordmark{color:var(--mustard);display:inline-block;margin-bottom:1rem}.site-footer p{max-width:32ch}.site-footer a:not(.wordmark):not(.theo-badge){display:block;margin:.45rem 0;color:color-mix(in oklch,var(--paper) 88%,var(--mustard))}.site-footer h2{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mustard);margin:0 0 .8rem}.theo-badge{align-self:end}.theo-badge img{width:34px;height:34px;object-fit:contain}.site-footer a:not(.theo-badge):hover{text-decoration:underline;text-underline-offset:4px}.reveal{animation:rise .7s cubic-bezier(.16,1,.3,1) both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--mustard);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:1050px){.desktop-nav{gap:1rem}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy{padding-left:clamp(1.5rem,4vw,3rem);padding-right:clamp(1.5rem,4vw,3rem)}}@media (max-width:820px){.site-header{min-height:64px}.desktop-nav,.header-actions .button,.header-actions .mini-icon{display:none}.header-actions{margin-left:auto}.menu-button{display:block}.mobile-nav{position:absolute;top:100%;left:0;right:0;display:grid;background:var(--paper);border-bottom:1px solid var(--line);padding:.75rem 1rem 1.25rem}.mobile-nav a{padding:.8rem 0;font-weight:650}.hero{grid-template-columns:1fr;min-height:unset}.hero-copy{padding:3.5rem 1.5rem 3rem}.hero-copy:after{display:none}.hero h1{font-size:clamp(3.1rem,13vw,5rem)}.hero-photo{min-height:420px}.trust-strip{grid-template-columns:1fr;padding:0}.trust-strip p{padding:.8rem 1rem;border-right:0;border-bottom:1px dashed color-mix(in oklch,var(--paper) 55%,transparent)}.contact-page,.product-page,.story-section{grid-template-columns:1fr}.product-detail{position:static}.about-body{grid-template-columns:1fr;gap:2rem}.site-footer{grid-template-columns:1fr 1fr}.theo-badge{position:absolute;right:1.25rem;bottom:1.25rem}.faq-cta{flex-direction:column;align-items:flex-start}.section{padding-top:4.5rem;padding-bottom:4.5rem}}@media (max-width:600px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem .8rem}.product-meta{font-size:1.08rem}.section-heading{align-items:start;flex-direction:column;gap:1rem}.story-mosaic{min-height:450px}.collection-links a{grid-template-columns:1fr;gap:.35rem;padding:1.25rem 0}.collection-links a:hover{padding-left:.55rem}.site-footer{grid-template-columns:1fr;gap:1.5rem}.hero-photo{min-height:330px}.product-page{padding-top:2rem}.product-gallery img{max-height:none}.contact-form{padding:1.25rem}.faq-cta{margin-left:1rem;margin-right:1rem}.hero-actions{align-items:stretch}.hero-actions .button{flex:1 1}.mini-icon{min-width:44px;min-height:44px}}