*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0;padding:0}ul,ol{list-style:none}picture,svg,video{max-width:100%;display:block}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}*{-webkit-tap-highlight-color:transparent}@media (width<=767px){:root{--header-height:72px;--logo-h:52px;--logo-h-hero:52px}}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height);scrollbar-gutter:stable}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-body);line-height:var(--leading-body);color:var(--color-text);background-color:var(--color-bg-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-heading);color:var(--color-primary);text-wrap:balance}h1{font-size:var(--text-h1);line-height:var(--leading-tight)}h2{font-size:var(--text-h2);line-height:var(--leading-snug)}h3{font-size:var(--text-h3);line-height:var(--leading-snug)}h4{font-size:var(--text-lead);line-height:var(--leading-snug)}strong,b{font-weight:var(--weight-emphasis)}a{color:var(--color-primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-hover)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:2px}.js [data-reveal]{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.6,.2,1);transition-delay:var(--reveal-delay,0s);transform:translateY(20px)}.js [data-reveal].is-visible{opacity:1;transform:none}.js [data-reveal].reveal-image{opacity:1;clip-path:inset(0 0 100%);transition:clip-path 1.1s cubic-bezier(.2,.6,.2,1);transition-delay:var(--reveal-delay,0s);transform:none}.js [data-reveal].reveal-image.is-visible{clip-path:inset(0)}.js [data-reveal].reveal-image img{transition:transform 1.5s cubic-bezier(.2,.6,.2,1);transition-delay:var(--reveal-delay,0s);transform:scale(1.08)}.js [data-reveal].reveal-image.is-visible img{transform:none}.btn:not([hidden]){display:inline-flex}.btn{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-heading);letter-spacing:.02em;text-align:center;cursor:pointer;transition:background-color var(--transition), border-color var(--transition), color var(--transition), transform .2s ease;border:1px solid #0000;padding:.7em 1.6em;line-height:1.2}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-invert)}.btn--primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-text-invert)}.btn--light{border-color:var(--color-text-invert);color:var(--color-text-invert);background:0 0}.btn--light:hover{background:var(--color-accent-soft);border-color:var(--color-accent-soft);color:var(--color-primary)}.btn--outline{color:inherit;background:0 0;border-color:currentColor}.btn--outline:hover{color:var(--color-bg-light);background:currentColor}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}body.cart-open{overflow:hidden}.container{width:100%;max-width:var(--width-content);padding-inline:var(--space-sm);margin-inline:auto}.container--wide{max-width:var(--width-wide)}.prose{max-width:var(--measure)}.prose p+p{margin-top:var(--space-sm)}.prose h2,.prose h3{margin-top:var(--space-lg);margin-bottom:var(--space-xs)}.lead{font-size:var(--text-lead);line-height:var(--leading-snug);color:var(--color-text-muted);max-width:var(--measure)}.section{padding-block:var(--space-xl)}.section--tight{padding-block:var(--space-lg)}.eyebrow{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:var(--weight-emphasis);color:var(--color-primary)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}.js [data-reveal].reveal-image{clip-path:none}.js [data-reveal].reveal-image img{transform:none}}
