/* LeashRack: one visual and control system for every generated page and route. */
:root {
 --ink:#183f35; --paper:#fbf6eb; --tan:#a97648; --sage:#cbd9bc;
 --muted:#5d685f; --line:#d6dcd1; --plate:#f1f1e9; --white:#fff;
 --display:Nunito,Arial,sans-serif; --text:Manrope,Arial,sans-serif;
 --control-height:48px; --control-radius:999px; --control-border:#aebdb0;
 --radius:18px; --space:24px; --shadow:0 12px 32px #183f3510;
 color:var(--ink); background:var(--paper); font:15px/1.6 var(--text);
}
*{box-sizing:border-box}body{margin:0}img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12}h1,h2{font-family:var(--display);font-weight:900;letter-spacing:-.045em}
h1{font-size:clamp(44px,6vw,80px)}h2{font-size:clamp(30px,3.6vw,48px)}h3{font-size:16px;font-weight:800;line-height:1.5}p{line-height:1.75}
button,input,select{font:inherit}button,a,input,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}:focus-visible{outline:3px solid var(--tan);outline-offset:4px}
.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
/* Controls: primary, secondary, quiet, icon, and chip. */
button,.btn,.chip,input:not([type=checkbox]),select {
 appearance:none; min-height:var(--control-height); border:1px solid transparent;
 border-radius:var(--control-radius); padding:12px 22px; font-size:13px;
 font-weight:800; line-height:1.5; transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;
}
button,.btn,.chip{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;background:var(--ink);color:var(--paper);text-align:center}
button:hover,.btn:hover{background:#285848;text-decoration:none;box-shadow:0 4px 14px #183f3518}
button:active,.btn:active,.chip:active{transform:translateY(1px)}
.btn.tan{background:#e0bb8e;color:var(--ink)}.btn.tan:hover{background:#eaccaa}
.btn.sage{background:var(--sage);color:var(--ink)}.btn.sage:hover{background:#d9e4cd}
.btn.soft{background:#e8ede2;color:var(--ink);border-color:var(--control-border)}.btn.soft:hover{background:#dae5d4;border-color:var(--ink)}
.btn.ghost{background:#183f3555;color:var(--paper);border-color:#fbf6ebbd;backdrop-filter:blur(8px)}.btn.ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn.small{min-height:var(--control-height);font-size:12px;padding:11px 16px}
.chip{border-color:var(--control-border);background:transparent;color:var(--ink);padding:10px 20px;min-height:44px}
.chip:hover{background:#e2eadb;border-color:#718b75;text-decoration:none}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.icon-button,.card .save{width:44px;height:44px;min-height:44px;flex:none;border-radius:50%;padding:0;background:#fffffff0;color:var(--ink);border:1px solid #dce1d7;box-shadow:0 2px 8px #183f3508;font-size:23px;font-weight:600}
.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-button[aria-pressed=true] svg{fill:currentColor}
.icon-button:hover,.icon-button[aria-pressed=true]{background:var(--sage);border-color:#829c7a;color:var(--ink)}
.text-link,.amazon{display:inline-flex;align-items:center;min-height:44px;gap:6px;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.text-link:hover,.amazon:hover{color:#765032}.amazon{font-size:11px;font-weight:600;color:var(--muted)}
input:not([type=checkbox]),select{width:100%;min-width:0;border-color:var(--control-border);background:var(--white);color:var(--ink);cursor:text;padding-right:22px;font-weight:500}
select{cursor:pointer;padding-right:40px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23183f35' stroke-width='2'/%3E%3C/svg%3E") right 17px center/12px no-repeat}
input:not([type=checkbox]):hover,select:hover{border-color:#718b75}input:not([type=checkbox]):focus,select:focus{border-color:var(--ink)}
input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}
button:disabled,input:disabled,select:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none;pointer-events:none}
.filters label,.field{display:grid;gap:8px;font-size:11px;font-weight:800;letter-spacing:.02em}
/* Header and first screen. */
.skip{position:absolute;top:-80px;z-index:100;background:var(--sage);padding:15px}.skip:focus{top:0}
.header{background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:28px;font-weight:900;letter-spacing:-.06em;white-space:nowrap}.logo:hover{text-decoration:none}.logo img{width:36px;height:36px}
.header-note{font-size:9px;letter-spacing:.15em;color:var(--muted)}
.header nav{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800}.header nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 15px;border-radius:var(--control-radius)}.header nav a:hover{background:#e8ede2;text-decoration:none}.saved-link{border:1px solid var(--control-border);background:#e8ede2}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper);min-height:calc(100svh - 77px);display:flex;align-items:flex-end}
.wall{position:absolute;inset:-24% -7%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;transform:rotate(-7deg);z-index:-3}
.wall-col{display:flex;flex-direction:column;gap:14px;animation:wall-up 72s linear infinite;will-change:transform}
.wall-col:nth-child(2){animation-duration:86s;animation-direction:reverse}.wall-col:nth-child(3){animation-duration:64s}.wall-col:nth-child(4){animation-duration:88s;animation-direction:reverse}.wall-col:nth-child(5){animation-duration:80s}
.wall-cell{display:block;flex:none;aspect-ratio:4/5;border-radius:var(--radius);background:#f5f3eb;overflow:hidden}.wall-cell img{height:100%;width:100%;object-fit:contain;padding:8px;mix-blend-mode:multiply}
@keyframes wall-up{to{transform:translateY(calc(-50% - 7px))}}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#183f3573,transparent 75%),linear-gradient(0deg,#183f35 0%,#183f35e6 40%,#183f35b8 65%,#183f353d 100%)}
.hero-inner{padding:190px 0 105px}.hero-copy{max-width:950px}.hero .eyebrow{color:var(--paper);display:flex;align-items:center;gap:12px}.hero .eyebrow:before{content:'';height:2px;width:28px;background:#dfbb91}
.hero h1{font-size:clamp(86px,10.2vw,144px);line-height:.98;letter-spacing:-.055em;margin:21px 0 25px;text-shadow:0 3px 30px #183f3533}.hero h1 span{color:#e0bb8e}
.hero p{font-size:17px;max-width:550px;line-height:1.65}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}.hero .btn{min-height:52px;font-size:14px;padding:14px 26px}
.hero .small-note{font-size:11px;max-width:460px;color:#e3e8dc;margin-top:22px}.small-note a{text-decoration:underline;text-underline-offset:3px}
.hero-index{position:absolute;right:48px;bottom:35px;font-size:10px;letter-spacing:.15em;color:#e1e7d8}
/* Section rhythm and photo categories. */
.section-picker{padding:56px 0;background:#e9ede1}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-head .eyebrow{color:var(--muted);margin-bottom:10px}.section-head h2{max-width:700px}.section-head p{font-size:13px;color:var(--muted);margin-top:12px}.section-head .text-link{flex:none}
.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}
.category-tile{background:var(--paper);display:grid;grid-template-rows:150px auto;border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}.category-tile img{width:100%;height:150px;object-fit:contain;padding:12px;mix-blend-mode:multiply}.category-tile span{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:56px;font-size:12px;font-weight:800;padding:14px}.category-tile b{font-size:18px;font-weight:500}.category-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow);text-decoration:none}
.feed-section{padding-block:64px 72px}.feed-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
/* Product cards use the same plate, type scale, and action on every page. */
.card{position:relative;min-width:0;background:var(--white);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 6px #183f3506;transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-photo{display:block;aspect-ratio:1;background:var(--plate);overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:contain;padding:16px;mix-blend-mode:multiply;transition:transform .4s}.card-photo:hover img{transform:scale(1.04)}.card .save{position:absolute;right:10px;top:10px}
.card-body{display:flex;flex-direction:column;flex:1;padding:20px}.card-type{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;line-height:1.6}
.card h3{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:3em;overflow:hidden;margin-bottom:9px;overflow-wrap:anywhere}.card h3 a{color:var(--ink)}
.variant{font-size:10px;color:var(--muted);line-height:1.6;margin-bottom:18px}.card .variant{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:3.2em;overflow:hidden}.variant:empty{display:block}.price{font-size:24px;font-weight:800;line-height:1.4;letter-spacing:-.035em;margin-top:auto}.price del{font-size:12px;font-weight:500;color:var(--muted);margin-left:8px}.markdown{display:block;font-size:10px;font-weight:700;letter-spacing:0;color:#4b664d;margin-top:4px}.card-store{font-size:10px;line-height:1.7;color:var(--muted);margin:10px 0 17px}.card-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.card .price{min-height:64px}.card-links{margin-top:0}.card-links .btn{width:100%;height:48px;min-height:48px;padding-inline:10px}
.photo-note{display:flex;align-items:center;justify-content:center;min-height:100%;padding:20px;font-size:12px;color:var(--muted)}
.feed-feature{border-radius:var(--radius);background:#dce6da;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:20px;min-width:0}.feed-feature.pale{background:#edddc4}.feed-feature .eyebrow{color:#526650}.feed-feature h3{font:900 36px/1.1 var(--display);letter-spacing:-.04em}.feed-feature p{font-size:13px}.feed-feature .btn{align-self:start}
.video-card{min-width:0;overflow:hidden;border-radius:var(--radius);background:var(--ink);color:var(--paper)}.video-card>a{display:block;height:100%}.video-card>a:hover{text-decoration:none}.video-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.video-card .card-body{min-height:170px}.video-card .eyebrow{color:var(--sage);margin-bottom:12px}.video-card h3{font-size:14px;overflow-wrap:anywhere}.video-card p{color:#d8e2d1;font-size:12px;margin-top:15px}
.feed-status{padding:28px 0;min-height:80px;text-align:center;font-size:12px;color:var(--muted)}
/* Collections, forms, product routes, and guide pages. */
.page-intro{padding-block:48px 36px}.breadcrumbs{font-size:11px;color:var(--muted);margin-bottom:24px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.page-intro h1{max-width:1000px}.page-intro p{max-width:650px;margin-top:18px;font-size:15px;color:var(--muted)}
.static-section{padding-bottom:64px}.static-section>h2{margin:36px 0 20px}.static-section>p{margin-bottom:24px;max-width:700px}.static-section>.actions:first-child{margin:0 0 28px}
.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:18px;padding:26px;background:#e9ede1;border-radius:var(--radius);margin-bottom:24px}.filters .search{grid-column:span 2}.filter-extra{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.filter-extra:empty{display:none}.filter-tools{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:28px}.filter-tools p{font-size:12px;color:var(--muted)}
.product-trail{padding-top:32px}.product-view{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-block:12px 64px}.product-photo{align-self:start;background:var(--plate);border-radius:var(--radius);overflow:hidden}.product-photo img{width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply;padding:24px}.product-info h1{font-size:44px;margin:16px 0}.product-info .price{font-size:34px;margin:20px 0}.product-info .notice{margin-top:26px}.specs{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;margin:26px 0}.specs dt,.specs dd{font-size:12px;padding:12px 0;border-bottom:1px solid var(--line);margin:0;overflow-wrap:anywhere}.specs dt{color:var(--muted)}
.editorial-intro{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:48px;padding:44px max(48px,calc((100% - 1240px)/2));margin-bottom:44px;background:#e9ede1}.editorial-intro .page-intro{width:100%;padding:0}.editorial-intro h1{font-size:clamp(42px,5vw,68px)}.editorial-photo{border-radius:var(--radius);overflow:hidden;background:var(--paper)}.editorial-photo img{width:100%;height:300px;object-fit:contain;padding:20px;mix-blend-mode:multiply}
.content{max-width:800px;padding-bottom:64px}.content h2{font-size:32px;margin:36px 0 18px}.content h3{margin:24px 0 12px}.content p{font-size:15px;margin-bottom:18px}.content a:not(.btn){text-decoration:underline;text-underline-offset:3px}.content ul{padding-left:22px;font-size:14px;line-height:1.8}.content li{margin-bottom:16px}.source{font-size:11px!important;color:var(--muted);overflow-wrap:anywhere}.notice{background:#e9ede1;padding:22px;border-radius:var(--radius);font-size:13px;line-height:1.8;margin-bottom:28px}
.table-wrap{overflow:auto;border-radius:var(--radius);background:#fff;margin-bottom:22px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:16px;border-bottom:1px solid var(--line)}thead{background:#e9ede1}
.channel-card{background:#e9ede1;border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;align-items:start}.channel-card .eyebrow{color:var(--muted)}.channel-card h2{font-size:27px;margin:16px 0 24px;overflow-wrap:anywhere}.channel-card .btn{margin-top:auto}.creator-source{margin:24px 0}
.setup-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pair-total{padding:24px;background:#e9ede1;border-radius:var(--radius);margin-top:20px}
.footer{background:var(--ink);color:var(--paper);padding:52px 0 116px}.footer-top{display:grid;grid-template-columns:1fr 1.3fr;gap:64px}.footer p{font-size:12px;max-width:360px;color:#d1ddcd;margin:20px 0}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;font-size:12px}.footer nav a{display:flex;align-items:center;min-height:44px}.footer button{background:#ffffff0c;border-color:#789282;font-size:12px}.footer button:hover{background:#ffffff18}.footer-bottom{margin-top:36px;padding-top:24px;border-top:1px solid #ffffff28}.footer-bottom p{max-width:none;font-size:11px;margin:9px 0}
.toast{position:fixed;z-index:30;left:50%;bottom:116px;transform:translateX(-50%);max-width:90%;padding:14px 22px;background:var(--ink);color:var(--paper);border:1px solid #718b75;border-radius:var(--radius);font-size:12px;box-shadow:var(--shadow)}
@media(max-width:1000px){
 .wrap{width:calc(100% - 48px)}.header-note{display:none}.header nav a{padding-inline:12px}
 .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .filters,.filter-extra{grid-template-columns:1fr 1fr}.editorial-intro{padding-inline:24px;gap:30px}.hero h1{font-size:clamp(80px,12vw,120px)}
}
@media(max-width:600px){
 :root{--control-height:46px;--radius:14px}.wrap{width:calc(100% - 32px)}
 .header-inner{min-height:104px;padding-block:10px;gap:0;flex-wrap:wrap}.logo{font-size:26px;gap:8px}.logo img{width:30px;height:30px}
 .header nav{flex-basis:100%;justify-content:space-between;gap:6px;font-size:11px}.header nav a{padding-inline:12px;min-height:44px}.header nav .desktop-link{display:none}.header nav .saved-link{margin-left:auto}
 .hero{min-height:calc(100svh - 107px)}.hero-inner{padding:210px 0 114px}.hero-copy{max-width:100%}
 .wall{inset:-16% -20%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wall-col{gap:14px}.wall-col:nth-child(n+4){display:none}.wall-cell{border-radius:14px}.wall-cell img{padding:3px}
 .hero h1{font-size:clamp(58px,17.6vw,84px);line-height:1.02;margin:18px 0 20px}.hero .eyebrow{font-size:8px;letter-spacing:.14em}.hero .eyebrow:before{width:22px}.hero p{font-size:14px;max-width:345px;line-height:1.7}.hero .actions{gap:10px;margin-top:22px}.hero .btn{font-size:12px;padding:12px 18px;min-height:48px}.hero .small-note{font-size:10px;margin-top:18px}.hero-index{display:none}
 .section-picker{padding:36px 0}.section-head{gap:12px;flex-wrap:wrap;margin-bottom:24px}.section-head h2{font-size:32px}.section-head .text-link{font-size:11px}.section-head p{font-size:12px}
 .category-grid{gap:10px}.category-tile{grid-template-rows:100px auto}.category-tile img{height:100px;padding:5px}.category-tile span{font-size:10px;padding:12px 9px;min-height:52px}.category-tile b{font-size:16px}
 .feed-section{padding-block:42px 48px}.feed-tabs{gap:8px}.chip{font-size:11px;padding:10px 14px}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.card-photo img{padding:8px}.card .save{right:6px;top:6px}.card-body{padding:15px 12px}.card-type{font-size:9px;letter-spacing:.025em;margin-bottom:8px}.card h3{font-size:12px}.variant{font-size:9px;line-height:1.6;margin-bottom:16px}.price{font-size:21px}.price del{display:block;margin:3px 0 0;font-size:10px}.markdown{font-size:9px}.card-store{font-size:9px;margin:9px 0 15px}.card-links .btn{min-height:48px;font-size:10px;padding:10px 7px}.amazon{font-size:10px}.feed-feature{padding:22px 15px;gap:18px}.feed-feature h3{font-size:30px}.feed-feature p{font-size:12px}.feed-feature .btn{font-size:10px;padding:10px 13px}.video-card .card-body{padding:16px 12px;min-height:180px}.video-card h3{font-size:12px}.video-card p{font-size:10px}
 .page-intro{padding:30px 0 28px}.breadcrumbs{font-size:10px;margin-bottom:22px}.page-intro h1{font-size:44px;overflow-wrap:anywhere}.page-intro p{font-size:13px}.static-section{padding-bottom:44px}
 .filters{padding:18px 14px;gap:16px 12px}.filters .search{grid-column:1/-1}.filters label{font-size:10px}.filters input,.filters select{font-size:12px;padding-left:13px}.filter-extra{gap:16px 12px}.filter-tools{gap:10px}.filter-tools .btn{font-size:11px;padding-inline:16px}
 .product-view{grid-template-columns:1fr;gap:28px;padding-bottom:44px}.product-trail{padding-top:26px}.product-info h1{font-size:36px;overflow-wrap:anywhere}.product-photo img{padding:16px}
 .editorial-intro{grid-template-columns:1fr;padding:28px 16px;gap:24px;margin-bottom:28px}.editorial-intro h1{font-size:42px}.editorial-photo img{height:190px;padding:12px}.content h2{font-size:29px;margin-top:30px}.content p,.content li{font-size:14px}.content .source{font-size:11px!important}.content{padding-bottom:44px}.notice{padding:18px}.setup-pair{gap:12px}
 .channel-card{padding:20px 15px}.channel-card h2{font-size:25px}.channel-card .eyebrow{font-size:8px}.channel-card .btn{font-size:10px;padding-inline:12px}
 .footer{padding-top:36px}.footer-top{grid-template-columns:1fr;gap:28px}.footer nav{font-size:12px;gap:4px 16px}
}
@media(max-width:360px){.hero-inner{padding-top:160px}.hero h1{font-size:58px}.hero .eyebrow{font-size:7px}.hero .btn{font-size:11px;padding-inline:15px}.card-body{padding-inline:10px}.card-links .btn{font-size:9px}.channel-card{padding-inline:12px}.channel-card .btn{padding-inline:10px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.wall-col{will-change:auto}}
