/* Merch with Pride shop. Fonts: Anton and Barlow Semi Condensed (SIL Open Font License), self hosted. */
@font-face{font-family:Anton;src:url(/assets/fonts/anton.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow SC";src:url(/assets/fonts/bsc-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Barlow SC";src:url(/assets/fonts/bsc-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow SC";src:url(/assets/fonts/bsc-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --ink:#111111;--paper:#FFFFFF;--wash:#F1F1EF;--cream:#FCF0DE;--line:#111111;--muted:#555555;
  --c1:#7266D2;--c2:#488ADE;--c3:#72E466;--c4:#FCC636;--c5:#FC661E;--c6:#F63024;--c7:#FC8A8A;--c8:#F6CCB4;--c9:#C6DED8;--c10:#EADECC;
  --sale:#C8102E;
  --display:Anton,Impact,"Arial Narrow",sans-serif;
  --ui:"Barlow SC","Arial Narrow",system-ui,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --bands:linear-gradient(152deg,var(--c1) 0 10%,var(--c2) 10% 20%,var(--c3) 20% 30%,var(--c4) 30% 40%,var(--c5) 40% 50%,var(--c6) 50% 60%,var(--c7) 60% 70%,var(--c8) 70% 80%,var(--c9) 80% 90%,var(--c10) 90% 100%);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--c2);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:12px;top:12px;z-index:100;background:var(--paper);padding:10px 14px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1320px;margin:0 auto;padding-left:24px;padding-right:24px}

/* Announcement bar */
.bar{background:var(--ink);color:var(--paper);font-family:var(--ui);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.bar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:16px}
.bar a{text-decoration:none}
.bar .mid{flex:1;text-align:center}
@media (max-width:760px){.bar .side{display:none}}

/* Header */
.hd{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:2px solid var(--ink)}
.hd .wrap{display:flex;align-items:stretch;gap:24px;min-height:72px}
.brand{display:flex;align-items:center;text-decoration:none;flex:none}
.brand svg{height:48px;width:auto;color:var(--ink)}
.nav{display:flex;align-items:stretch;gap:2px;flex:1;margin:0;padding:0;list-style:none}
.nav li{display:flex}
.nav a{display:flex;align-items:center;padding:0 16px;font-family:var(--ui);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.nav a:hover{text-decoration:underline;text-underline-offset:4px}
.nav a.hl-new{background:var(--c3)}
.nav a.hl-biz{background:var(--c7)}
.tools{display:flex;align-items:center;gap:8px}
.cur{font-family:var(--ui);font-weight:700;font-size:14px;letter-spacing:.04em;border:2px solid var(--ink);background:var(--paper);height:40px;padding:0 8px}
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none}
.icon-btn svg{width:24px;height:24px}
.count{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--ink);color:var(--paper);font:700 11px/18px var(--ui);text-align:center}
.burger{display:none}
@media (max-width:980px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--paper);border-bottom:2px solid var(--ink);padding:8px 0}
  .nav.open{display:flex}
  .nav a{padding:14px 24px}
  .burger{display:inline-flex}
  .hd .wrap{justify-content:space-between}
  .brand svg{height:42px}
}

/* Hero */
.hero{background:var(--bands);border-bottom:2px solid var(--ink)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center;min-height:560px;padding-top:56px;padding-bottom:56px}
.hero h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(52px,8vw,112px);line-height:1.04;margin:0;color:var(--ink)}
.hero h1 span{display:inline-block;background:var(--ink);color:var(--paper);line-height:.92;padding:.06em .1em 0;margin:.04em 0}
.hero p{font-family:var(--ui);font-weight:600;font-size:20px;line-height:1.35;max-width:34ch;background:var(--paper);padding:14px 16px;border:2px solid var(--ink);margin:28px 0 0}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.hero-card{background:var(--paper);border:2px solid var(--ink);padding:32px;justify-self:end;width:min(100%,440px)}
.hero-card svg{width:100%;height:auto;color:var(--ink)}
@media (max-width:860px){.hero .wrap{grid-template-columns:minmax(0,1fr);min-height:0}.hero-card{display:none}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--ui);font-weight:700;font-size:16px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.btn:hover{background:#333;border-color:#333}
.btn.alt{background:var(--paper);color:var(--ink)}
.btn.alt:hover{background:var(--wash)}
.btn[disabled]{opacity:.45;cursor:not-allowed}

/* Section headings */
.sec{padding:72px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.kicker{font-family:var(--ui);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px}
.sec h2,.page-h{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(34px,4vw,52px);line-height:1;margin:0;letter-spacing:.01em}

/* Product grid and cards */
.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
@media (max-width:1180px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.card{position:relative;border:2px solid var(--ink);background:var(--paper);display:flex;flex-direction:column}
.card .ph{position:relative;aspect-ratio:1/1;background:var(--wash);overflow:hidden;border-bottom:2px solid var(--ink)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.card:hover .ph img{transform:scale(1.03)}
.card .tag{position:absolute;top:10px;left:10px;background:var(--c7);border:2px solid var(--ink);font:700 13px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;padding:6px 8px}
.card .tag.out{background:var(--paper)}
.card .add{position:absolute;right:10px;bottom:10px;min-height:40px;padding:0 14px;border:2px solid var(--ink);background:var(--paper);font:700 14px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase}
.card .add:hover{background:var(--ink);color:var(--paper)}
.card .meta{padding:12px 12px 16px;display:flex;flex-direction:column;gap:4px}
.card h3{font-family:var(--ui);font-weight:700;font-size:17px;line-height:1.2;margin:0}
.card h3 a{text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.card .add{z-index:2}
.price{font-family:var(--ui);font-weight:600;font-size:16px}
.price s{color:var(--muted);font-weight:500;margin-right:6px}
.price .now-sale{color:var(--sale)}
.sw{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.sw i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.35);display:block}
.sw b{font:600 13px/18px var(--ui)}

/* Empty and error states */
.state{border:2px dashed var(--ink);padding:40px 24px;text-align:center;font-family:var(--ui);font-weight:600;font-size:18px;background:var(--cream)}
.skel{background:linear-gradient(90deg,#eee,#f6f6f6,#eee);background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-200% 0}}

/* Values strip */
.values{background:var(--wash);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.values .wrap{padding-top:56px;padding-bottom:56px}
.values h2{text-align:center;margin-bottom:32px}
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0;text-align:center}
.vals li{display:flex;flex-direction:column;align-items:center;gap:8px}
.vals svg{width:32px;height:32px}
.vals strong{font:700 17px/1.2 var(--ui);letter-spacing:.06em;text-transform:uppercase}
.vals span{color:#333;max-width:30ch}
@media (max-width:700px){.vals{grid-template-columns:minmax(0,1fr)}}

/* Collection tiles */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{position:relative;aspect-ratio:4/5;display:flex;align-items:flex-end;padding:12px;text-decoration:none;background:var(--bands);background-size:300% 300%;border:2px solid var(--ink);overflow:hidden}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile span{position:relative;z-index:1;display:block;width:100%;background:var(--paper);border:2px solid var(--ink);padding:14px 16px;font:700 18px/1.1 var(--ui);letter-spacing:.04em;text-transform:uppercase}
.tile:nth-child(4n+2){background-position:30% 30%}.tile:nth-child(4n+3){background-position:60% 60%}.tile:nth-child(4n+4){background-position:100% 100%}

/* Business band */
.biz{background:var(--ink);color:var(--paper)}
.biz .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding-top:64px;padding-bottom:64px}
.biz h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(34px,4vw,52px);line-height:1;margin:0 0 12px}
.biz p{margin:0;max-width:56ch;font-size:18px;color:#E8E8E8}
.biz .btn{background:var(--c7);color:var(--ink);border-color:var(--c7)}
@media (max-width:760px){.biz .wrap{grid-template-columns:minmax(0,1fr)}}

/* Product page */
.pdp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;padding-top:40px;padding-bottom:80px}
@media (max-width:880px){.pdp{grid-template-columns:minmax(0,1fr);gap:28px}}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border:2px solid var(--ink);background:var(--wash)}
.gallery img:first-child{grid-column:1/-1}
.crumbs{font:600 14px/1.3 var(--ui);letter-spacing:.04em;text-transform:uppercase;margin:24px 0 0}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.buy h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(36px,4.4vw,56px);line-height:1;margin:0 0 12px}
.buy .price{font-size:24px;margin-bottom:24px}
.opt{border:0;padding:0;margin:0 0 20px}
.opt legend{font:700 15px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:52px;justify-content:center;padding:0 14px;border:2px solid var(--ink);font:700 15px/1 var(--ui);letter-spacing:.04em;background:var(--paper)}
.chip input:checked+span{background:var(--ink);color:var(--paper)}
.chip input:focus-visible+span{outline:3px solid var(--c2);outline-offset:2px}
.chip input:disabled+span{opacity:.35;text-decoration:line-through}
.chip i{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.35)}
.qty{display:inline-flex;border:2px solid var(--ink);height:48px;margin-right:12px}
.qty button{width:44px;border:0;background:var(--paper);font:700 20px/1 var(--ui)}
.qty input{width:48px;border:0;text-align:center;font:700 17px/1 var(--ui)}
.buy-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:8px 0 24px}
.desc{border-top:2px solid var(--ink);padding-top:20px;max-width:60ch}
.desc :is(p,ul){margin:0 0 12px}
.stock-note{font:600 15px/1.3 var(--ui);margin:-8px 0 16px}

/* Cart drawer */
.drawer{position:fixed;inset:0;z-index:80;display:none}
.drawer.open{display:block}
.drawer .scrim{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--paper);border-left:2px solid var(--ink);display:flex;flex-direction:column}
.drawer header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:2px solid var(--ink)}
.drawer h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:30px;margin:0}
.lines{flex:1;overflow:auto;padding:8px 20px;margin:0;list-style:none}
.line{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:12px;padding:14px 0;border-bottom:1px solid #ddd;align-items:start}
.line img{width:76px;height:76px;object-fit:cover;border:2px solid var(--ink);background:var(--wash)}
.line h3{font:700 16px/1.2 var(--ui);margin:0 0 4px}
.line .v{font-size:14px;color:#333}
.line .q{display:flex;align-items:center;gap:6px;margin-top:8px}
.line .q button{width:32px;height:32px;border:2px solid var(--ink);background:var(--paper);font:700 16px/1 var(--ui)}
.line .q .rm{border:0;width:auto;height:auto;background:none;font:500 14px/1.3 var(--body);text-decoration:underline;font-size:14px;padding:0;margin-left:8px}
.drawer footer{padding:16px 20px 24px;border-top:2px solid var(--ink)}
.sub{display:flex;justify-content:space-between;font:700 18px/1 var(--ui);margin-bottom:6px}
.drawer footer p{margin:0 0 14px;font-size:14px;color:#333}
.drawer footer .btn{width:100%}

/* Toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 18px;font:600 15px/1.3 var(--ui);z-index:90;max-width:calc(100% - 32px)}

/* Footer */
.ft{background:var(--ink);color:#E8E8E8;margin-top:0}
.ft .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:32px;padding-top:56px;padding-bottom:40px}
.ft h2{font:700 15px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--paper);margin:0 0 14px}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ft a{color:var(--paper)}
.ft .brand svg{height:64px;color:var(--paper)}
.ft .small{grid-column:1/-1;border-top:1px solid #333;padding-top:20px;font-size:14px;color:#BDBDBD}
@media (max-width:760px){.ft .wrap{grid-template-columns:minmax(0,1fr)}}
.bands-strip{height:14px;background:var(--bands)}

/* Wishlist heart */
.card .wish{position:absolute;top:8px;right:8px;z-index:2;width:40px;height:40px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);display:inline-flex;align-items:center;justify-content:center}
.wish svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:2}
.wish[aria-pressed="true"] svg{fill:var(--c6);stroke:var(--c6)}
.card a.add{display:inline-flex;align-items:center;text-decoration:none}
.wish-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.wish-btn[aria-pressed="true"] svg{fill:var(--c6);stroke:var(--c6)}

/* Dropdown menu */
.dd{position:relative;display:flex}
.dd>button{display:flex;align-items:center;gap:6px;padding:0 16px;border:0;background:none;font-family:var(--ui);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.dd>button::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px)}
.dd ul{position:absolute;top:100%;left:0;min-width:240px;margin:0;padding:8px 0;list-style:none;background:var(--paper);border:2px solid var(--ink);z-index:50}
.dd ul a{display:block;padding:10px 18px;font:600 16px/1.2 var(--ui);text-decoration:none}
.dd ul a:hover,.dd ul a:focus{background:var(--wash)}
@media (max-width:980px){.dd{flex-direction:column}.dd>button{padding:14px 24px;justify-content:space-between;width:100%}.dd ul{position:static;border:0;padding:0 0 8px 12px;min-width:0}}

/* Search bar */
.searchbar{border-bottom:2px solid var(--ink);background:var(--wash)}
.searchbar form{display:flex;gap:8px;padding-top:14px;padding-bottom:14px}
.searchbar input,.search-page input{flex:1;min-height:48px;border:2px solid var(--ink);padding:0 14px;font:500 17px/1 var(--body);background:var(--paper)}
.search-page{display:flex;gap:8px;max-width:640px;margin:0 0 24px}

/* Collection tools */
.tools-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:12px 0;margin-bottom:24px}
.tools-bar .fl{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tools-bar label{display:flex;align-items:center;gap:8px;font:700 14px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase}
.tools-bar select{min-height:42px;border:2px solid var(--ink);background:var(--paper);font:600 15px/1 var(--ui);padding:0 8px}
.tools-bar input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink)}
#col-count{font:600 15px/1 var(--ui);color:#333}

/* Product extras */
.assure{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:6px;font-size:15px}
.assure li{padding-left:22px;position:relative}
.assure li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;background:var(--c3);border:2px solid var(--ink)}
.bundle-item{border:2px solid var(--ink);padding:16px;margin-bottom:16px}
.bundle-item h2{font:700 18px/1.2 var(--ui);margin:0 0 12px}

/* Forms */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font:700 14px/1.2 var(--ui);letter-spacing:.06em;text-transform:uppercase}
.field input,.field select,.field textarea{min-height:48px;border:2px solid var(--ink);padding:10px 12px;font:400 16px/1.4 var(--body);background:var(--paper);width:100%}
.field textarea{min-height:140px;resize:vertical}
.hint{font-size:14px;color:#444}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{background:var(--c9);border:2px solid var(--ink);padding:12px 14px;font:600 16px/1.35 var(--ui);margin-top:12px}
.signup{background:var(--c4);border-top:2px solid var(--ink)}
.signup .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;padding-top:48px;padding-bottom:48px}
.signup h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(30px,3.4vw,44px);line-height:1;margin:0 0 8px}
.signup p{margin:0;font-size:17px;max-width:44ch}
.signup .row{display:flex;gap:8px}
.signup input[type=email]{flex:1;min-height:52px;border:2px solid var(--ink);padding:0 14px;font:500 17px/1 var(--body);background:var(--paper);min-width:0}
@media (max-width:760px){.signup .wrap{grid-template-columns:minmax(0,1fr)}.signup .row{flex-direction:column}}

/* Information pages */
.prose{max-width:760px;padding-top:24px;padding-bottom:88px}
.prose h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(40px,5vw,64px);line-height:1;margin:16px 0 24px}
.prose h2{font:700 22px/1.2 var(--ui);letter-spacing:.02em;text-transform:uppercase;margin:40px 0 12px}
.prose p,.prose li{font-size:17px;line-height:1.6}
.prose .lead{font-size:20px;line-height:1.5}
.prose .box{background:var(--cream);border:2px solid var(--ink);padding:18px 20px;margin:20px 0}
.prose .updated{color:#444;font-size:15px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
@media (max-width:760px){.two{grid-template-columns:minmax(0,1fr)}}

[hidden]{display:none!important}
@media (max-width:480px){
  .hd .wrap{gap:8px;padding-left:16px;padding-right:12px}
  .brand svg{height:38px}
  .tools{gap:0}
  .icon-btn{width:40px}
  .cur{height:36px;padding:0 4px;font-size:13px}
}
