@font-face{font-family:"Barlow Condensed";src:url(/fonts/barlowcond700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/fonts/publicsans.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--asphalt:#1c1c21;--ink:#141414;--chalk:#f5f2ea;--dim:#c9c5bb;--paper:#fffaf0;--pink:#ff2e88;--yellow:#ffd60a;--cyan:#22d3ee;--lime:#a3e635;--orange:#ff6b1a;--mute:#4a4740;--flag:#b0101c;--sans:"Public Sans",system-ui,sans-serif;--cond:"Barlow Condensed","Arial Narrow",sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--asphalt)}
body{margin:0;overflow-x:clip;font:400 1.0625rem/1.6 var(--sans);color:var(--chalk);background-color:var(--asphalt);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");overflow-wrap:break-word}
::selection{background:var(--yellow);color:var(--ink)}
a{color:var(--yellow);text-underline-offset:.18em;text-decoration-thickness:2px}
a:hover{color:var(--chalk)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--yellow);color:var(--ink);padding:.75rem 1rem;font-weight:700}
.skip:focus{left:0;z-index:5}
.w{max-width:70rem;margin:0 auto;padding:0 1rem}
.site{background:var(--ink);border-bottom:4px solid var(--pink)}
.site .w{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 1.5rem;padding-top:.5rem}
.logo{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;color:var(--chalk);text-decoration:none;font:700 1.375rem/1 var(--cond);letter-spacing:.01em}
.logo svg{flex:none}
.site nav{display:flex;flex-wrap:wrap;margin:0 -.45rem .25rem;gap:0}
.site nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .45rem;white-space:nowrap;color:var(--chalk);text-decoration:none;font-size:.875rem;font-weight:700}
.site nav a:hover{color:var(--yellow)}
.site nav a[aria-current]{background:var(--yellow);color:var(--ink)}
main.w{padding:2.5rem 1rem 4rem}
h1,h2,h3{line-height:1.1;text-wrap:balance}
h1{font:700 clamp(2.75rem,11vw,6rem)/.98 var(--cond);margin:0;color:var(--chalk);text-shadow:3px 3px 0 var(--pink),6px 6px 0 var(--ink);letter-spacing:.005em;max-width:16ch}
h2{font:700 clamp(2rem,6vw,3rem)/1.05 var(--cond);text-shadow:3px 3px 0 var(--ink);letter-spacing:.005em;margin:3rem 0 1.25rem;color:var(--yellow)}
h3{font:700 1.75rem/1.1 var(--cond);letter-spacing:.005em;margin:0;color:var(--ink)}
p,li{max-width:68ch}
.drip{display:block;width:min(100%,34rem);height:auto;margin:-.2rem 0 1.5rem}
.drip path{fill:var(--pink)}
.lede{font-size:1.2rem;line-height:1.55;max-width:46ch;margin:0 0 1rem}
.stamp{display:inline-block;margin:0 0 2rem;padding:.4rem .8rem;background:var(--lime);color:var(--ink);font-weight:700;font-size:1rem;transform:rotate(-1.2deg)}
.courts{margin:0 0 2.5rem}
.courts figcaption{margin-top:.75rem;font-size:1rem;font-weight:600;color:var(--dim)}
.tour{display:flex;flex-wrap:wrap;gap:.6rem .7rem;margin:0;padding:0;list-style:none}
.tour li{font:700 1.125rem/1 var(--cond);padding:.55rem .8rem;border-radius:999px;color:var(--ink);border:2px solid var(--ink);box-shadow:0 3px 8px rgb(0 0 0/.45)}
.tour li:nth-child(5n+1){background:var(--yellow);transform:rotate(-3deg)}
.tour li:nth-child(5n+2){background:var(--cyan);transform:rotate(2deg)}
.tour li:nth-child(5n+3){background:var(--pink);transform:rotate(-1deg)}
.tour li:nth-child(5n+4){background:var(--lime);transform:rotate(3deg)}
.tour li:nth-child(5n){background:var(--orange);transform:rotate(-2deg)}
.tour small{font:600 .875rem/1 var(--sans);margin-left:.35rem}
.meth a{color:var(--yellow)}
.index{list-style:none;margin:0;padding:0;display:grid;gap:1.75rem}
.index+.news{margin-top:2.5rem}
.index li{max-width:none;position:relative}
.index a{display:block;position:relative;padding:1.4rem 1.25rem 1.2rem;color:var(--ink);text-decoration:none;background:var(--paper);border-radius:3px;box-shadow:0 10px 22px rgb(0 0 0/.5);transition:transform .2s ease-out}
.index li:nth-child(odd) a{transform:rotate(-1deg)}
.index li:nth-child(even) a{transform:rotate(1deg)}
.index a:hover{transform:rotate(0) scale(1.015)}
.index a::before,.item::before{content:"";position:absolute;top:-12px;left:50%;width:6.5rem;height:24px;margin-left:-3.25rem;background:rgb(255 214 10/.8);transform:rotate(-4deg);box-shadow:0 1px 2px rgb(0 0 0/.25)}
.index li:nth-child(3n+2) a::before{background:rgb(34 211 238/.8);transform:rotate(3deg)}
.index li:nth-child(3n) a::before{background:rgb(255 46 136/.75)}
.ix-name{font:700 clamp(1.75rem,6vw,2.4rem)/1.05 var(--cond);letter-spacing:.005em;text-shadow:none;margin:0 0 .6rem;color:var(--ink)}
.ix-count{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;font-size:1rem;background:var(--ink);color:var(--yellow);padding:.3rem .65rem;border-radius:999px;font-variant-numeric:tabular-nums}
.links a{display:inline-flex;align-items:center;min-height:44px}
.meth{position:relative;padding:1.25rem;border:3px solid #8a8f98;border-radius:4px;background-color:rgb(20 20 20/.88);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M0 14 14 0 28 14 14 28Z' fill='none' stroke='%23a8adb5' stroke-opacity='.22' stroke-width='2'/%3E%3C/svg%3E")}
.meth h2{margin-top:0;color:var(--cyan);text-shadow:none}
.meth ol{padding-left:1.25rem}
.meth li{margin:.45rem 0}
.small{font-size:1rem;color:var(--dim)}
.tw{overflow-x:auto;background:var(--paper);color:var(--ink);border-radius:3px;box-shadow:0 10px 22px rgb(0 0 0/.5)}
table{width:100%;border-collapse:collapse;font-size:1rem;font-variant-numeric:tabular-nums}
thead{background:var(--ink);color:var(--yellow)}
th{font-weight:700;font-size:.9375rem}
th,td{border-bottom:1px solid #d8d2c2;padding:.6rem .7rem;text-align:left;vertical-align:top}
.tw .small{color:var(--mute)}
td a{display:inline-flex;align-items:center;min-height:44px;margin:-.6rem 0;font-weight:700;color:#a3005a}
ol.rank{list-style:none;margin:0;padding:0;display:grid;gap:2.5rem}
.item{position:relative;display:grid;grid-template-columns:1fr;max-width:none;padding:1.75rem 1.1rem 1.25rem;background:var(--paper);color:var(--ink);border-radius:3px;box-shadow:0 12px 26px rgb(0 0 0/.55);scroll-margin-top:1.5rem}
.item:nth-child(odd){transform:rotate(-.6deg)}
.item:nth-child(even){transform:rotate(.6deg)}
.item:nth-child(3n+2)::before{background:rgb(255 46 136/.75);transform:rotate(3deg)}
.item:nth-child(3n)::before{background:rgb(163 230 53/.85)}
.num{position:absolute;top:-1.4rem;left:-.3rem;display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;font:700 2rem/1 var(--cond);font-variant-numeric:lining-nums tabular-nums;background:var(--pink);color:var(--ink);border:3px solid var(--ink);transform:rotate(-8deg)}
.item:first-child .num{background:var(--yellow);width:4.4rem;height:4.4rem;font-size:2.4rem}
.item>div{min-width:0}
.item h3{padding-left:2.9rem}
.item:first-child h3{padding-left:3.6rem}
.brandline{margin:.3rem 0 0;color:var(--mute);font-size:1rem;font-weight:600}
.item ul{padding-left:1.1rem;margin:1rem 0}
.item ul li{margin:.25rem 0}
.why{margin:0 0 1rem}
.buy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;background:var(--ink);color:var(--chalk);border-radius:3px;padding:.9rem 1rem}
.price{margin:0;font:700 1.625rem/1.15 var(--cond);letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--yellow)}
.avail{margin:.25rem 0 0;font-size:1rem;font-weight:700;color:var(--cyan)}
.unv{color:#ff8c96;font-weight:800}
.item .checked .unv{color:var(--flag)}
.price.unv{font-weight:700}
.checked{margin:.75rem 0 0;color:var(--mute)}
.btn{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:0 1.1rem;background:var(--pink);color:var(--ink);text-decoration:none;font-weight:800;font-size:1rem;border-radius:999px;border:2px solid var(--ink);box-shadow:0 0 0 2px var(--pink)}
.btn:hover{background:var(--yellow);color:var(--ink);box-shadow:0 0 0 2px var(--yellow)}
.btn svg{flex:none}
.site-foot{position:relative;margin-top:2rem;padding:3rem 0 2.5rem;font-size:1rem;color:var(--dim);background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M0 14 14 0 28 14 14 28Z' fill='none' stroke='%23a8adb5' stroke-opacity='.18' stroke-width='2'/%3E%3C/svg%3E");border-top:4px solid var(--cyan)}
.site-foot a{display:inline-flex;align-items:center;min-height:44px;color:var(--yellow);font-weight:700}
.site-foot .foot-small{font-size:.875rem;font-weight:600}
.badges{margin:.6rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem .6rem}
.badge{display:inline-block;padding:.3rem .6rem;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:2px;font:700 1.0625rem/1 var(--cond);letter-spacing:.01em;transform:rotate(-1.5deg)}
.badge-lo{background:var(--lime)}
th button{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;margin:-.6rem 0;padding:0 .2rem;font:inherit;color:inherit;background:none;border:0;text-align:left;cursor:pointer}
th button::after{content:"\2195";content:"\2195" / "";opacity:.7}
th[aria-sort=ascending] button::after{content:"\25B2";content:"\25B2" / "";opacity:1}
th[aria-sort=descending] button::after{content:"\25BC";content:"\25BC" / "";opacity:1}
.news form{display:grid;gap:.75rem;max-width:32rem}
.news label{font-weight:700}
.news input[type=email],.news input[type=text],.news input[type=url],.news select{display:block;width:100%;min-height:48px;margin-top:.35rem;padding:0 .8rem;font:inherit;color:var(--ink);background:var(--paper);border:3px solid var(--cyan);border-radius:3px}
.news textarea{display:block;width:100%;min-height:9rem;margin-top:.35rem;padding:.6rem .8rem;font:inherit;color:var(--ink);background:var(--paper);border:3px solid var(--cyan);border-radius:3px;resize:vertical}
.news .chk{display:flex;align-items:center;gap:.6rem;min-height:44px;font-weight:600}
.news .chk input{flex:none;width:1.5rem;height:1.5rem;margin:0;accent-color:var(--pink)}
.news button.btn{justify-self:start;font-family:inherit;cursor:pointer}
.news-msg{margin:.25rem 0 0;font-weight:700;color:var(--chalk)}
@media(max-width:23rem){.site nav a{padding:0 .3rem;font-size:.8125rem}}
@media(min-width:48rem){.w{padding:0 1.5rem}main.w{padding:3.5rem 1.5rem 5rem}.site .w{flex-wrap:nowrap;padding-top:0}.site nav{flex-wrap:nowrap;margin:0}.site nav a{padding:0 .6rem;font-size:.9375rem}.index{grid-template-columns:1fr 1fr;gap:2.5rem 2rem}.index li:nth-child(3n) a{transform:rotate(1.6deg)}.item{padding:2.25rem 2rem 1.75rem}.item:nth-child(odd){margin-right:3rem}.item:nth-child(even){margin-left:3rem}.num{width:4.4rem;height:4.4rem;font-size:2.4rem;left:-1.4rem}.item:first-child .num{width:5.4rem;height:5.4rem;font-size:3rem;left:-1.8rem}.item h3,.item:first-child h3{padding-left:2.4rem}.meth{padding:1.75rem 2rem}}
@media(prefers-reduced-motion:no-preference){.drip path{transform-origin:top;animation:drip 1.4s cubic-bezier(.16,1,.3,1) both}}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 8px var(--cyan)}
@keyframes drip{from{transform:scaleY(.15)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}