:root{
  --paper:#eeeae2; --paper-2:#e6e1d6; --ink:#1c1e1b; --ink-2:#5d5f58; --line:#cfc9bc;
  --river:#2e4638; --rust:#9c4a26;
  --ano-teal:#127a86; --ano-violet:#6a3fb5; --ano-copper:#c8642a; --ano-blue:#1f4fb8;
  --ano:linear-gradient(100deg,var(--ano-teal),var(--ano-blue) 30%,var(--ano-violet) 55%,var(--ano-copper) 85%);
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1);
  --serif:"Fraunces",Georgia,serif; --sans:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{-webkit-font-smoothing:antialiased}
body{background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans)}
a{color:inherit}
.top{position:relative;isolation:isolate;display:flex;align-items:center;gap:32px;padding:20px clamp(20px,4vw,56px);border-bottom:1px solid var(--line);background:var(--paper)}
.banner{position:relative;height:clamp(170px,21vw,300px);overflow:hidden;background:var(--paper-2);border-bottom:1px solid var(--line)}
.banner-art{position:absolute;inset:-6% -2%;background:linear-gradient(100deg,var(--ink) 0 30%,var(--ano-teal) 40%,var(--ano-blue) 47%,var(--ano-violet) 54%,var(--ano-copper) 62%,var(--ink) 72% 100%);background-size:260% 100%;
  -webkit-mask:url(art/ny-trout-sticker_ink.webp) left 4% center/auto 150% no-repeat,url(art/dripping-steel-sticker_ink.webp) center 38%/auto 165% no-repeat,url(art/buffalo-salmonoid-sticker_ink.webp) right 3% center/auto 120% no-repeat;
  mask:url(art/ny-trout-sticker_ink.webp) left 4% center/auto 150% no-repeat,url(art/dripping-steel-sticker_ink.webp) center 38%/auto 165% no-repeat,url(art/buffalo-salmonoid-sticker_ink.webp) right 3% center/auto 120% no-repeat;
  animation:anodize 14s cubic-bezier(.45,0,.55,1) infinite alternate;opacity:.9}
@keyframes anodize{from{background-position:100% 0}to{background-position:0 0}}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--paper-2) 92%,transparent))}
.banner-cap{position:absolute;z-index:1;left:0;right:0;bottom:14px;margin:0;text-align:center;font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2)}
.banner-cap span{background:var(--ano);-webkit-background-clip:text;background-clip:text;color:transparent;margin-right:.6em}
@media (prefers-reduced-motion:reduce){.banner-art{animation:none;background-position:50% 0}}
@media (max-width:700px){.banner-art{-webkit-mask:url(art/dripping-steel-sticker_ink.webp) center/auto 150% no-repeat;mask:url(art/dripping-steel-sticker_ink.webp) center/auto 150% no-repeat}}
.mark{font:500 22px/1 var(--serif);text-decoration:none;letter-spacing:-.01em}
.mark span{font-style:italic;color:var(--ink-2)}
.mainnav{display:flex;gap:22px;margin-left:auto;font-size:13.5px}
.mainnav a{text-decoration:none;color:var(--ink-2);transition:color .15s}
.mainnav a:hover,.mainnav a[aria-current]{color:var(--ink)}
.visit{white-space:nowrap;font-size:12.5px;text-decoration:none;border:1px solid var(--line);padding:7px 12px;border-radius:99px}
@media (max-width:900px){.mainnav{display:none}.visit{margin-left:auto}}

.reelroom{padding:clamp(28px,4vw,48px) 0 40px;overflow:hidden}
.rr-head{text-align:center;padding:0 24px}
.eyebrow{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--river);font-weight:600}
h1{font:400 clamp(40px,5.6vw,72px)/1 var(--serif);letter-spacing:-.025em;margin-top:12px}
.lede{max-width:520px;margin:12px auto 0;color:var(--ink-2)}

.sizes{display:flex;align-items:flex-end;justify-content:center;gap:20px;margin:28px auto 0;padding:0 20px;max-width:980px}
.sizes-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);padding-bottom:14px;white-space:nowrap}
.ruler{position:relative;display:flex;flex:1;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:4px;
  background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 12px) bottom/100% 5px no-repeat;overflow-x:auto;scrollbar-width:none}
.ruler::-webkit-scrollbar{display:none}
.tab{appearance:none;border:0;background:none;font:500 15px/1 var(--sans);color:var(--ink-2);padding:10px 8px 12px;cursor:pointer;white-space:nowrap;
  font-variant-numeric:tabular-nums;transition:color .2s var(--ease-out),transform .16s var(--ease-out)}
.tab sup{font-size:9.5px;margin-left:2px;color:var(--ink-2);opacity:.7}
.tab:hover{color:var(--ink)}
.tab:active{transform:scale(.97)}
.tab[aria-selected=true]{color:var(--ink)}
.tab:focus-visible{outline:2px solid var(--river);outline-offset:2px;border-radius:4px}
.ind{position:absolute;bottom:-1px;left:0;height:3px;background:var(--ano);border-radius:2px;transition:transform .45s var(--ease-io),width .45s var(--ease-io)}

.stage{position:relative;height:min(52vh,500px);min-height:340px;margin-top:8px;cursor:grab;touch-action:pan-y;outline:none;user-select:none;-webkit-user-select:none}
.stage.dragging{cursor:grabbing}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.reel{position:absolute;left:50%;top:50%;will-change:transform,opacity;perspective:1600px}
.reel img{position:absolute;inset:0;width:100%;height:100%;-webkit-user-drag:none;pointer-events:none}
.turn{position:absolute;inset:0;transform-style:preserve-3d}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.face.back{transform:rotateY(180deg)}
.spool{will-change:transform}
.shadow{position:absolute;left:18%;right:18%;bottom:-2%;height:9%;border-radius:50%;background:radial-gradient(closest-side,rgba(28,30,27,.28),rgba(28,30,27,0));filter:blur(2px)}

.info{text-align:center;min-height:118px;margin-top:6px;transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}
.info.swap{opacity:0;transform:translateY(6px)}
.count{font-size:11.5px;letter-spacing:.14em;color:var(--ink-2);font-variant-numeric:tabular-nums}
.model{font:400 clamp(28px,3.4vw,40px)/1.1 var(--serif);letter-spacing:-.015em;margin-top:6px}
.meta{color:var(--ink-2);margin-top:6px;font-variant-numeric:tabular-nums}
.meta s{opacity:.6;margin-right:6px}.meta .sale{color:var(--rust)}
.meta .low{color:var(--rust)}
.cta{display:inline-block;margin-top:16px;background:var(--ink);color:var(--paper);text-decoration:none;font-size:13.5px;font-weight:500;padding:11px 20px;border-radius:99px;transition:transform .16s var(--ease-out),background .2s}
.cta:hover{background:var(--river)}.cta:active{transform:scale(.97)}
.hint{text-align:center;font-size:12px;color:var(--ink-2);margin-top:22px}
@media (hover:none){.hint{display:none}}

.learn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;align-items:center;padding:72px clamp(20px,4vw,56px);border-top:1px solid var(--line);background:var(--paper-2)}
.learn h2{font:400 clamp(28px,3.2vw,42px)/1.1 var(--serif);letter-spacing:-.015em;margin:10px 0 14px}
.learn-copy p:last-child{color:var(--ink-2);max-width:460px}
.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.vid{text-decoration:none;font-size:13px;font-weight:500}
.vid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;display:block;margin-bottom:8px;transition:transform .3s var(--ease-out)}
@media (hover:hover){.vid:hover img{transform:scale(1.02)}}
@media (max-width:900px){.learn{grid-template-columns:1fr}.vids{grid-template-columns:1fr 1fr}}
.foot{padding:28px clamp(20px,4vw,56px);font-size:12.5px;color:var(--ink-2);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){.info,.ind,.tab,.vid img{transition:none}}
@media (max-width:720px){.stage{height:400px;min-height:0}.sizes{gap:10px}.sizes-label{display:none}}

.modes{display:flex;justify-content:center;gap:6px;margin:0 auto 22px}
.mode{font:500 13px/1 var(--sans);letter-spacing:.02em;color:var(--ink-2);background:none;border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s}
.mode sup{font-size:10px;margin-left:2px;color:inherit;opacity:.7}
.mode[aria-selected="true"]{color:var(--paper);background:var(--ink);border-color:var(--ink);box-shadow:inset 0 -2px 0 var(--ano-violet)}
@media (hover:hover){.mode:not([aria-selected="true"]):hover{color:var(--ink);border-color:var(--ink-2)}}
.mode:active{transform:scale(.97)}

/* ---------- shop rails ---------- */
.shop{padding:clamp(48px,7vw,96px) 0 24px;border-top:1px solid var(--line)}
.rail{margin:0 0 clamp(48px,6vw,80px)}
.rail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:0 clamp(20px,4vw,56px);margin-bottom:22px}
.rail-head h2,.depts h2{font:400 clamp(28px,3.2vw,40px)/1.05 var(--serif);letter-spacing:-.01em;margin:6px 0 8px}
.rail-head .note{color:var(--ink-2);font-size:14.5px;max-width:52ch;margin:0}
.rail-ctl{display:flex;align-items:center;gap:8px;flex-shrink:0}
.arr{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);font-size:15px;cursor:pointer;transition:border-color .2s,background-color .2s}
@media (hover:hover){.arr:hover{border-color:var(--ink);background:var(--paper-2)}}
.arr:active,.mode:active{transform:scale(.96)}
.all{font:500 13px/1 var(--sans);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px;margin-left:10px}
.track{list-style:none;margin:0;padding:0 clamp(20px,4vw,56px) 8px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4*18px)/5);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 clamp(20px,4vw,56px);scrollbar-width:none;overscroll-behavior-x:contain}
.track::-webkit-scrollbar{display:none}
.card{scroll-snap-align:start}
.card a{display:block;color:inherit;text-decoration:none}
.ph{position:relative;display:block;aspect-ratio:1;background:var(--paper-2);border-radius:6px;overflow:hidden}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.ph .alt{opacity:0}
@media (hover:hover){.card a:hover .ph .alt{opacity:1}.card a:hover .ph img{transform:scale(1.03)}}
.tag{position:absolute;z-index:1;top:10px;left:10px;background:var(--paper);color:var(--rust);font:600 11px/1 var(--sans);padding:6px 8px;border-radius:999px}
.nm{display:block;font-size:14px;line-height:1.35;margin:12px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pr{display:block;font:500 14px/1.2 var(--sans);font-variant-numeric:tabular-nums}
.pr s{color:var(--ink-2);font-weight:400}.pr .sale{color:var(--rust)}
.depts{padding:0 clamp(20px,4vw,56px)}
.depts ul{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.depts li{border-bottom:1px solid var(--line)}
.depts a{display:flex;justify-content:space-between;align-items:baseline;padding:18px 14px 18px 0;color:var(--ink);text-decoration:none;font:400 19px/1.2 var(--serif);transition:color .2s}
.depts sup{font:500 11px/1 var(--sans);color:var(--ink-2)}
@media (hover:hover){.depts a:hover{color:var(--rust)}}
@media (max-width:1100px){.track{grid-auto-columns:calc((100% - 2*18px)/3)}.depts ul{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.track{grid-auto-columns:72%}.rail-head{flex-direction:column;align-items:flex-start}.arr{display:none}.all{margin-left:0}.depts ul{grid-template-columns:1fr}}

.eyebrow{background:var(--ano);-webkit-background-clip:text;background-clip:text;color:transparent}
.tag{color:#fff;background:var(--ano-copper)}
.tag.low{background:var(--ano-violet)}
.card:hover .ph{box-shadow:0 0 0 1px color-mix(in srgb,var(--ano-teal) 50%,transparent),0 18px 40px -22px var(--ano-blue)}
