:root{--color-primary:#24382e;--color-primary-hover:#182820;--color-secondary:#4e6f7a;--color-secondary-hover:#3e5a63;--color-accent:#f84400;--color-accent-hover:#db3c00;--color-on-accent:#0e0f10;--color-accent-text:#b83200;--color-accent-on-primary:#ff7a3d;--color-background:#f3f1ea;--color-surface:#fff;--color-foreground:#1e2620;--color-muted:#46535a;--color-line:#8a9499;--color-disabled:#e3e2dc;--color-success:#2e6b3e;--color-warning:#8a5a00;--color-error:#b3261e;--color-error-hover:#8f1e18;--color-info:#1f5f8b;--font-heading:Fraunces, Georgia, serif;--font-body:Karla, Arial, sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-full:999px;--control-sm:36px;--control-md:44px;--control-lg:52px;--focus-ring:0 0 0 3px #24382e59;--shadow-sm:0 1px 2px #1e26201f;--shadow-md:0 4px 12px #1e262024}.btn{height:var(--control-md);border-radius:var(--radius-md);font:700 16px var(--font-body);white-space:nowrap;cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;padding:0 18px;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:0}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{height:var(--control-sm);padding:0 12px;font-size:14px}.btn-lg{height:var(--control-lg);padding:0 24px;font-size:18px}.btn-primary{background:var(--color-primary);color:var(--color-background)}.btn-primary:hover:enabled{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-secondary);color:#fff}.btn-secondary:hover:enabled{background:var(--color-secondary-hover)}.btn-accent{background:var(--color-accent);color:var(--color-on-accent)}.btn-accent:hover:enabled{background:var(--color-accent-hover)}.btn-ghost{color:var(--color-primary);background:0 0}.btn-ghost:hover:enabled{background:#24382e1a}.btn-outline{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.btn-outline:hover:enabled{background:var(--color-primary);color:var(--color-background)}.btn-destructive{background:var(--color-error);color:#fff}.btn-destructive:hover:enabled{background:var(--color-error-hover)}.form-label{font:700 15px var(--font-body);color:var(--color-foreground)}.form-help{font:400 14px var(--font-body);color:var(--color-muted)}.form-error{font:700 14px var(--font-body);color:var(--color-error)}.form-input,.form-select,.form-textarea{width:100%;height:var(--control-md);border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-foreground);font:400 16px var(--font-body);padding:0 12px}.form-textarea{height:96px;padding:10px 12px}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-muted);font-weight:300}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:0}.has-error .form-input,.has-error .form-select,.has-error .form-textarea{border-color:var(--color-error)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--color-disabled);color:#5f686c;cursor:not-allowed}.product-frame{padding:var(--space-md);background:var(--color-primary);color:var(--color-background);gap:var(--space-sm);margin:0;display:grid}.product-frame img{aspect-ratio:1;object-fit:cover;width:100%;display:block}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--color-background)}body{background:var(--color-background);min-height:100vh;color:var(--color-foreground);font:400 17px/1.55 var(--font-body);flex-direction:column;margin:0;display:flex}h1,h2,h3{font-family:var(--font-heading);text-wrap:balance;margin:0;font-weight:700;line-height:1.12}h1{font-size:clamp(34px,7vw,52px)}h2{font-size:clamp(26px,5vw,36px)}p{max-width:65ch;margin:0}a{color:var(--color-accent-text);font-weight:700}img{max-width:100%}:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}main{flex:1;width:100%}.skip{position:absolute;left:-999px}.skip:focus{left:var(--space-sm);top:var(--space-sm);z-index:5;background:var(--color-surface);padding:var(--space-sm)}.preview{background:var(--color-warning);color:#fff;text-align:center;max-width:none;padding:var(--space-xs) var(--space-md);font-size:14px}.site-header{background:var(--color-primary);color:var(--color-background);gap:var(--space-sm) var(--space-lg);padding:12px var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.site-header a{color:var(--color-background);text-decoration:none}.wordmark{font:700 22px var(--font-heading)}.site-header nav{gap:var(--space-xs) var(--space-md);flex-wrap:wrap;display:flex}.site-header nav a{padding:var(--space-xs) 0;font-weight:400}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--color-accent-on-primary);font-weight:700}.site-header :focus-visible{outline-color:var(--color-background)}.site-footer{background:var(--color-primary);color:var(--color-background);padding:var(--space-lg) var(--space-md);gap:var(--space-xs);font-size:15px;display:grid}.site-footer a{color:var(--color-background)}.page{width:100%;max-width:1040px;padding:var(--space-xl) var(--space-md) var(--space-2xl);gap:var(--space-lg);margin:0 auto;display:grid}.page>*{min-width:0}.narrow{max-width:620px}.hero{padding:var(--space-lg) var(--space-md)}.hero-inner{gap:var(--space-md);align-items:center;max-width:1008px;margin:0 auto;display:grid}.hero-text{gap:var(--space-md);justify-items:start;display:grid}.hero-logo{mix-blend-mode:multiply;-webkit-mask-composite:source-in;width:100%;max-width:620px;height:auto;margin:0 auto;display:block;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000),linear-gradient(#000 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000),linear-gradient(#000 90%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}@media (width>=840px){.hero-inner{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.hero-logo{order:2}}.hero .eyebrow{color:var(--color-secondary)}.hero .actions{margin:0}.actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.shop-notice{gap:var(--space-sm);text-align:center;padding:var(--space-xl) var(--space-md);background:var(--color-surface);border-radius:var(--radius-lg);justify-items:center;display:grid}.btn{text-decoration:none}.section{gap:var(--space-md);display:grid}.grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=720px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.product-card{gap:var(--space-xs);color:var(--color-foreground);grid-template-rows:1fr auto;text-decoration:none;display:grid}.product-card:hover figcaption{text-decoration:underline}.product-frame{padding:var(--space-sm);font:700 15px/1.3 var(--font-body)}.product-frame img{aspect-ratio:1;object-fit:cover;background:var(--color-surface);height:auto}.product-thumbs{gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.product-thumb{border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;width:72px;height:72px;padding:0;overflow:hidden}.price{font-weight:700}.product{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;display:grid}.product>*{min-width:0}.product-info{gap:var(--space-md);display:grid}.product-info .price{font-size:24px}.stack{gap:var(--space-md);display:grid}.field{gap:var(--space-xs);display:grid}.form-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-md);border:1px solid #d6d4cc}.form-textarea{height:140px}input[type=file].form-input{padding:9px 12px}.message{color:var(--color-success);min-height:1.5em;font-weight:700}.error{color:var(--color-error);font-weight:700}.cart-line{gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid #cfcdc4;grid-template-columns:76px minmax(0,1fr);display:grid}.cart-line img{object-fit:cover;border:4px solid var(--color-primary);width:76px;height:76px;display:block}.cart-line div{gap:var(--space-xs);justify-items:start;min-width:0;display:grid}.cart-note{color:var(--color-muted);overflow-wrap:anywhere;font-size:15px}.summary{gap:var(--space-xs) var(--space-md);font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;width:min(100%,340px);margin:0;display:grid}.summary dd{margin:0}.summary .total{font-size:20px;font-weight:700}.checkout{gap:var(--space-md);justify-items:end;display:grid}.note{color:var(--color-muted);font-size:15px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-on-primary);font-size:14px;font-weight:700}.color-picker{border:0;min-width:0;margin:0;padding:0}.color-picker legend{margin-bottom:var(--space-xs);padding:0}.color-choices{gap:var(--space-sm);flex-wrap:wrap;display:flex}.color-choice{align-items:center;gap:var(--space-sm);min-height:var(--control-md);border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;padding:0 12px 0 8px;font-size:15px;display:inline-flex;position:relative}.color-choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.swatch{border-radius:var(--radius-full);border:1px solid #1e262059;flex:none;width:26px;height:26px}.color-choice:has(input:checked){border-color:var(--color-primary);box-shadow:inset 0 0 0 1.5px var(--color-primary);font-weight:700}.color-choice:has(input:focus-visible){box-shadow:var(--focus-ring);border-color:var(--color-primary)}
