
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/assets/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;
  --bg:#fbfaf7;--surface:#ffffff;--surface-2:#f4f2ed;--surface-3:#ebe8e1;--line:oklch(.25 .02 230 / .12);--line-strong:oklch(.25 .02 230 / .22);
  --ink:#1e2a30;--ink-muted:#56616a;--ink-faint:#8a939a;
  --teal:#23614f;--teal-hover:#184a3c;--teal-wash:#e3eee9;
  --orange:#f2a12e;--orange-hover:#e08a12;--orange-wash:#fdf0dc;--orange-ink:#8a4b00;
  --radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;
  --shadow-sm:0 1px 2px oklch(.25 .02 230 / .06);--shadow-md:0 6px 18px oklch(.25 .02 230 / .08);
  --ease:180ms cubic-bezier(.16,1,.3,1);--wide:1240px;
  --font:"Archivo","Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;scroll-padding-top:var(--space-20)}
body{min-height:100dvh;font-family:var(--font);font-size:var(--text-base);line-height:1.55;color:var(--ink);background:var(--bg);font-stretch:100%}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--teal);text-underline-offset:.15em}a:hover{color:var(--teal-hover)}
h1,h2,h3{line-height:1.15;text-wrap:balance;font-weight:750;letter-spacing:-.01em}
p{text-wrap:pretty;max-width:68ch}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:var(--radius-sm)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--space-4);top:-100px;background:var(--ink);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);z-index:10}
.skip:focus{top:var(--space-2)}
.wrap{width:min(100% - 2*var(--space-4),var(--wide));margin-inline:auto}
@media (min-width:768px){.wrap{width:min(100% - 2*var(--space-8),var(--wide))}}
a,button,input{transition:color var(--ease),background var(--ease),border-color var(--ease),box-shadow var(--ease)}

/* header */
.top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.top-row{display:flex;align-items:center;gap:var(--space-4);padding-block:var(--space-3)}
.brand{flex:none;display:block;line-height:0}.brand img{width:132px;height:auto}
@media (min-width:768px){.brand img{width:156px}}
.search{flex:1;display:flex;min-width:0;max-width:640px;margin-left:auto}
.search input{flex:1;min-width:0;height:44px;padding:0 var(--space-4);border:1px solid var(--line-strong);border-right:0;border-radius:var(--radius-full) 0 0 var(--radius-full);background:var(--bg);font-size:var(--text-sm)}
.search input:focus{outline:none;border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px var(--teal-wash)}
.search button{height:44px;padding:0 var(--space-5);border:0;border-radius:0 var(--radius-full) var(--radius-full) 0;background:var(--orange);color:var(--ink);font-weight:650;font-size:var(--text-sm);cursor:pointer}
.search button:hover{background:var(--orange-hover)}
@media (max-width:640px){.top-row{flex-wrap:wrap}.search{order:3;flex-basis:100%;max-width:none}.top .merchants-link{margin-left:auto}}
.merchants-link{font-size:var(--text-sm);color:var(--ink-muted);text-decoration:none;white-space:nowrap}.merchants-link:hover{color:var(--ink)}
.depts{border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.depts::-webkit-scrollbar{display:none}
.depts ul{display:flex;gap:var(--space-1);list-style:none;padding-block:var(--space-2);white-space:nowrap}
.depts a{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-full);color:var(--ink-muted);text-decoration:none;font-size:var(--text-sm)}
.depts a:hover,.depts a[aria-current]{background:var(--surface-2);color:var(--ink)}

/* layout pieces */
main{display:block}
.section{padding-block:clamp(var(--space-8),5vw,var(--space-16))}
.section.tight{padding-block:var(--space-8)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}
.section-head h2{font-size:var(--text-lg)}
.section-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.section-title p{flex-basis:100%;margin:0;font-size:var(--text-sm)}
.section-head a{font-size:var(--text-sm);white-space:nowrap}
.kicker{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:650}
.muted{color:var(--ink-muted)}
.crumbs{font-size:var(--text-xs);color:var(--ink-muted);padding-top:var(--space-5)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none}
.crumbs li+li::before{content:"/";margin-right:var(--space-2);color:var(--ink-faint)}
.crumbs a{color:var(--ink-muted)}
.page-title{font-size:var(--text-xl);margin-top:var(--space-3)}
.lede{color:var(--ink-muted);margin-top:var(--space-2)}

/* hero */
.hero{background:var(--surface);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;gap:var(--space-8);padding-block:clamp(var(--space-10),7vw,var(--space-20));align-items:center}
@media (min-width:900px){.hero-grid{grid-template-columns:1.25fr 1fr}}
.hero h1{font-size:var(--text-2xl);font-stretch:112%;font-weight:800;letter-spacing:-.02em;max-width:14ch}
.hero p{margin-top:var(--space-4);font-size:var(--text-base);color:var(--ink-muted);max-width:46ch}
.hero .search{margin:var(--space-6) 0 0;max-width:560px}
.hero .search input{height:52px;font-size:var(--text-base);background:#fff}.hero .search button{height:52px;padding:0 var(--space-6);font-size:var(--text-base)}
.hero-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4);list-style:none}
.hero-tags a{display:inline-block;padding:var(--space-1) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--ink-muted);text-decoration:none}
.hero-tags a:hover{border-color:var(--teal);color:var(--teal)}
.hero-mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);max-width:460px;justify-self:end;width:100%}
.hero-mosaic a{display:block;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:#fff;border:1px solid var(--line)}
.hero-mosaic a:hover{box-shadow:var(--shadow-md)}
.hero-mosaic img{width:100%;height:100%;object-fit:contain}
@media (max-width:899px){.hero-mosaic{display:none}}

/* departments grid */
.dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3);list-style:none}
.dept-grid a{display:flex;flex-direction:column;justify-content:space-between;min-height:88px;padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);text-decoration:none;font-weight:600;font-size:var(--text-sm)}
.dept-grid a:hover{border-color:var(--teal);box-shadow:var(--shadow-sm)}
.dept-grid small{font-weight:400;color:var(--ink-muted);font-size:var(--text-xs)}

/* product cards */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-3);list-style:none}
@media (min-width:640px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6) var(--space-5)}}
.card{position:relative;display:flex;flex-direction:column;height:100%}
.card-img{display:block;aspect-ratio:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:contain}
.card-img .noimg{display:grid;place-items:center;height:100%;color:var(--ink-faint);font-size:var(--text-xs)}
.card:hover .card-img{box-shadow:var(--shadow-md)}
.card-body{padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}
.card-title{font-size:var(--text-sm);font-weight:600;line-height:1.3;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-title::after{content:"";position:absolute;inset:0}
.card-store{font-size:var(--text-xs);color:var(--ink-muted)}
.price{font-weight:700;font-size:var(--text-sm)}
.price s{font-weight:400;color:var(--ink-muted);margin-left:var(--space-2)}
.soldout{font-size:var(--text-xs);color:var(--ink-muted)}
.badge{display:inline-flex;align-items:center;gap:var(--space-1);width:fit-content;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;line-height:1.5}
.badge.sponsored{background:var(--orange-wash);color:var(--orange-ink)}
.badge.house{background:var(--teal-wash);color:var(--teal)}
.badge.seed{background:var(--surface-2);color:var(--ink-muted)}
.badge.connected{background:var(--teal-wash);color:var(--teal)}
.card .badge{position:relative;z-index:1}
.card.is-sponsored .card-img{border-color:oklch(.75 .12 70 / .5)}

/* store cards */
.stores{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4);list-style:none}
.store-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.store-card:hover{box-shadow:var(--shadow-md)}
.store-cover{aspect-ratio:3/1;background:var(--surface-2) center/cover no-repeat}
.store-cover img{width:100%;height:100%;object-fit:cover}
.store-meta{display:flex;gap:var(--space-3);padding:var(--space-4);align-items:flex-start}
.store-logo{flex:none;width:48px;height:48px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;font-weight:750;color:var(--teal)}
.store-logo img{width:100%;height:100%;object-fit:contain}
.store-name{font-weight:650;color:var(--ink);text-decoration:none}.store-name::after{content:"";position:absolute;inset:0}
.store-desc{font-size:var(--text-xs);color:var(--ink-muted);margin-top:var(--space-1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-6);border-radius:var(--radius-full);font-weight:650;font-size:var(--text-sm);text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--orange);color:var(--ink)}.btn-primary:hover{background:var(--orange-hover);color:var(--ink)}
.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:var(--surface)}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.more{display:flex;justify-content:center;margin-top:var(--space-8)}

/* product page */
.pdp{display:grid;gap:var(--space-8);padding-block:var(--space-6) var(--space-10)}
@media (min-width:860px){.pdp{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-12);align-items:start}}
.pdp-img{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.pdp-img img{width:100%;height:100%;object-fit:contain}
.pdp h1{font-size:var(--text-xl)}
.pdp .from{margin-top:var(--space-3);font-size:var(--text-sm)}
.pdp .price{font-size:var(--text-lg);margin-top:var(--space-4);display:block}
.pdp .summary{margin-top:var(--space-4);color:var(--ink-muted)}
.pdp .actions{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}
.pdp .note{font-size:var(--text-xs);color:var(--ink-muted)}
.facts{margin-top:var(--space-6);border-top:1px solid var(--line);font-size:var(--text-sm)}
.facts div{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--line)}
.facts dt{color:var(--ink-muted)}

/* store page */
.store-hero{background:var(--surface);border-bottom:1px solid var(--line)}
.store-hero .cover{aspect-ratio:5/1;max-height:260px;width:100%;background:var(--surface-2);overflow:hidden}
.store-hero .cover img{width:100%;height:100%;object-fit:cover}
.store-head{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:flex-end;padding-block:var(--space-6)}
.store-head .store-logo{width:88px;height:88px;border-radius:var(--radius-lg);font-size:var(--text-xl)}
.store-head .cover+.wrap .store-logo{margin-top:calc(-1 * var(--space-12))}
.store-head h1{font-size:var(--text-xl)}
.store-head .badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.store-head .grow{flex:1;min-width:220px}
.store-about{padding-block:var(--space-6) 0;display:grid;gap:var(--space-4)}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none}
.chips a{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--surface-2);font-size:var(--text-xs);color:var(--ink);text-decoration:none}
.chips a:hover{background:var(--surface-3)}
.disclosure{font-size:var(--text-xs);color:var(--ink-muted);background:var(--surface-2);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}

/* banner */
.banner{position:relative;display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:center;margin-top:var(--space-6);padding:var(--space-4);background:var(--surface);border:1px solid oklch(.75 .12 70 / .5);border-radius:var(--radius-lg);overflow:hidden}
@media (min-width:700px){.banner{grid-template-columns:200px 1fr auto}}
.banner .bimg{width:96px;aspect-ratio:3/2;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-2)}
@media (min-width:700px){.banner .bimg{width:200px}}
.banner .bimg img{width:100%;height:100%;object-fit:cover}
.banner strong{display:block;font-size:var(--text-base)}
.banner a.blink{color:var(--ink);text-decoration:none}.banner a.blink::after{content:"";position:absolute;inset:0}
.banner .go{display:none}@media (min-width:700px){.banner .go{display:inline-flex;position:relative;z-index:0}}

/* search */
.tabs{display:flex;gap:var(--space-2);margin-top:var(--space-5);border-bottom:1px solid var(--line)}
.tabs a{padding:var(--space-2) var(--space-3);color:var(--ink-muted);text-decoration:none;font-size:var(--text-sm);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a[aria-current]{color:var(--ink);border-color:var(--orange);font-weight:650}
.empty{padding:var(--space-10) var(--space-6);text-align:center;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius-lg)}
.empty h2{font-size:var(--text-lg)}.empty p{margin:var(--space-2) auto 0;color:var(--ink-muted)}
.empty .chips{justify-content:center;margin-top:var(--space-5)}

/* recruit + footer */
.recruit{background:var(--ink);color:#f3f1ec;border-radius:var(--radius-lg);padding:clamp(var(--space-6),5vw,var(--space-12));display:grid;gap:var(--space-5)}
@media (min-width:860px){.recruit{grid-template-columns:1.4fr 1fr;align-items:center}}
.recruit h2{font-size:var(--text-xl);color:#fff}
.recruit p{color:#c9cdd0;margin-top:var(--space-3)}
.recruit .btn-primary{justify-self:start}
@media (min-width:860px){.recruit .btn-primary{justify-self:end}}
.foot{margin-top:var(--space-16);background:var(--surface);border-top:1px solid var(--line);padding-block:var(--space-10) var(--space-8);font-size:var(--text-sm)}
.foot-grid{display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.foot h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);margin-bottom:var(--space-3)}
.foot ul{list-style:none;display:grid;gap:var(--space-2)}
.foot a{color:var(--ink);text-decoration:none}.foot a:hover{color:var(--teal);text-decoration:underline}
.foot .legal{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--line);color:var(--ink-muted);font-size:var(--text-xs);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between}
.prose{max-width:68ch;padding-block:var(--space-6) var(--space-10)}
/* Outpost Journal */
.blog-head{padding-top:var(--space-2);max-width:68ch}.blog-head p{margin-top:var(--space-2)}
.blog-cats ul{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin-top:var(--space-5)}
.blog-cats a{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-full);color:var(--ink-muted);text-decoration:none;font-size:var(--text-sm)}
.blog-cats a:hover,.blog-cats a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--space-6);list-style:none}
.post-card{display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.post-card-img{display:block;aspect-ratio:16/9;background:var(--surface-2)}.post-card-img img{width:100%;height:100%;object-fit:cover}
.post-card-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);flex:1}
.post-card-body .kicker{text-decoration:none}
.post-card-title{font-size:var(--text-base);line-height:1.3;font-weight:700}.post-card-title a{color:var(--ink);text-decoration:none}.post-card-title a:hover{color:var(--teal)}
.post-card-dek{color:var(--ink-muted);font-size:var(--text-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-meta{font-size:var(--text-xs);color:var(--ink-faint);margin-top:auto}.post-meta a{color:var(--ink-muted)}
.pager{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8)}
.article{max-width:72ch;padding-bottom:var(--space-12)}
.article-head{margin-top:var(--space-5)}.article-head .kicker{text-decoration:none}
.article-head h1{font-size:var(--text-2xl);line-height:1.08;letter-spacing:-.02em;margin-top:var(--space-2);text-wrap:balance}
.article-dek{font-size:var(--text-lg);color:var(--ink-muted);margin-top:var(--space-4);line-height:1.4}
.article-head .post-meta{margin-top:var(--space-4);font-size:var(--text-sm)}
.article-hero{margin-top:var(--space-6);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-2);aspect-ratio:16/9}.article-hero img{width:100%;height:100%;object-fit:cover}
.article-body{margin-top:var(--space-8);font-size:var(--text-base);line-height:1.7}
.article-body>*+*{margin-top:var(--space-4)}
.article-body h2{font-size:var(--text-lg);margin-top:var(--space-10);line-height:1.25}.article-body h3{font-size:var(--text-base);margin-top:var(--space-8)}.article-body h4{font-size:var(--text-sm);margin-top:var(--space-6);text-transform:uppercase;letter-spacing:.08em}
.article-body ul,.article-body ol{padding-left:var(--space-6)}.article-body li+li{margin-top:var(--space-2)}
.article-body blockquote{border-left:3px solid var(--orange);padding:var(--space-2) var(--space-5);color:var(--ink-muted);font-size:var(--text-lg);line-height:1.5}
.article-body img{border-radius:var(--radius-md);width:100%;height:auto}
.article-body code{font-size:.9em;background:var(--surface-2);padding:.1em .35em;border-radius:var(--radius-sm)}
.article-body pre{background:var(--ink);color:#f3f1ec;padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto}.article-body pre code{background:none;padding:0;color:inherit}
.article-body hr{border:0;border-top:1px solid var(--line-strong);margin-block:var(--space-8)}
.embed{margin-block:var(--space-6)}.embed-product{max-width:280px}.embed-store{max-width:520px}
.article-foot{margin-top:var(--space-10);padding-top:var(--space-5);border-top:1px solid var(--line);font-size:var(--text-sm)}
.preview-bar{background:var(--orange-wash);color:var(--orange-ink);text-align:center;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600}
.prose h2{font-size:var(--text-lg);margin-top:var(--space-8)}
.prose p,.prose ul{margin-top:var(--space-3)}.prose ul{padding-left:var(--space-5)}
.prose li+li{margin-top:var(--space-2)}
.store-badge{margin-top:var(--space-2)}
.section.alt{background:var(--surface);border-block:1px solid var(--line)}
