
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
:root{
 --ink:#0d0d0d;--green:#123a2a;--green-d:#0b2519;--green-l:#1d5842;
 --gold:#c9a961;--goldp:#ecdcb4;--goldd:#7d6021;
 --cream:#faf8f4;--tint:#f1efe8;--line:#dcd6c8;--line2:#c9c2b0;--mute:#54544d;
 --sans:"Avenir Next","Avenir","Helvetica Neue",Helvetica,Arial,sans-serif;
 --cond:"Avenir Next Condensed","Avenir Next","Helvetica Neue",Arial,sans-serif;
 --serif:"Iowan Old Style","Charter","Palatino Linotype",Palatino,Georgia,serif;
 --disp:"Didot","Bodoni 72","Big Caslon","Hoefler Text",Georgia,serif;
 --pad:34px;
}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1320px;margin:0 auto;padding:0 var(--pad)}
.wide{max-width:1560px;margin:0 auto;padding:0 var(--pad)}

/* ---------- eyebrow / labels ---------- */
.eyebrow{font-family:var(--cond);font-size:12px;font-weight:600;letter-spacing:.20em;text-transform:uppercase;color:var(--goldd)}
.eyebrow.on-dark{color:var(--goldp)}
.kbd{font-family:var(--cond);font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}

/* ---------- utility strip ---------- */
.util{background:#000;color:#cfcabc;font-family:var(--cond);font-size:12px;letter-spacing:.11em;text-transform:uppercase}
.util .wide{display:flex;align-items:center;justify-content:space-between;height:34px;gap:18px;
 white-space:nowrap;overflow:hidden}
.util a{color:#cfcabc;transition:color .18s ease}
.util a:hover{color:var(--gold)}
.util-r{display:flex;gap:20px;align-items:center}

/* ---------- masthead ---------- */
.mast{background:#000;color:#fff;border-bottom:1px solid #26261f}
.mast .wide{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:22px var(--pad) 18px}
.wordmark{font-family:var(--disp);font-size:66px;line-height:.92;letter-spacing:-.005em;text-align:center;white-space:nowrap}
.wordmark b{font-weight:700}
.wordmark .w{color:#fff}
.wordmark .g{color:var(--gold)}
.mast-l{display:flex;align-items:center;gap:14px}
.mast-r{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.hsearch{display:flex;align-items:center;background:#141410;border:1px solid #35352c;height:40px;width:min(300px,100%);
 transition:border-color .2s ease,background .2s ease}
.hsearch:focus-within{border-color:var(--gold);background:#1b1b15}
.hsearch input{flex:1;background:none;border:0;color:#fff;font-family:var(--sans);font-size:14px;padding:0 12px;outline:none}
.hsearch input::placeholder{color:#8d8a7e}
.hsearch button{background:var(--gold);color:#111;border:0;height:100%;padding:0 14px;font-family:var(--cond);font-size:12px;
 letter-spacing:.14em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .2s ease}
.hsearch button:hover{background:var(--goldp)}
.burger{display:none;background:none;border:1px solid #3a3a30;color:#fff;height:40px;padding:0 13px;cursor:pointer;
 font-family:var(--cond);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.standfirst{background:#000;color:#b9b3a3;border-top:1px solid #23231c;text-align:center;font-size:13.5px;
 padding:9px 20px;line-height:1.5}
.standfirst b{color:var(--goldp);font-weight:500}

/* ---------- nav ribbon (dark green fill / pale gold type) ---------- */
.ribbon{background:var(--green);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--green-d);
 box-shadow:0 1px 0 rgba(0,0,0,.25)}
.ribbon .wide{display:flex;align-items:stretch;justify-content:center;gap:0;flex-wrap:nowrap}
.ribbon a.nv{color:var(--goldp);font-family:var(--cond);font-size:13.5px;letter-spacing:.15em;text-transform:uppercase;
 font-weight:600;padding:14px 15px;display:block;transition:background .18s ease,color .18s ease;white-space:nowrap}
.nvitem{position:relative}
.ribbon a.nv:hover,.nvitem:hover>a.nv,.nvitem:focus-within>a.nv{background:var(--green-l);color:#fff}
.mega{position:absolute;left:0;top:100%;display:none;background:#fff;border:1px solid var(--line);
 border-top:3px solid var(--gold);box-shadow:0 22px 44px rgba(0,0,0,.19);width:min(760px,86vw);padding:20px 22px 22px;z-index:70}
.nvitem:hover .mega,.nvitem:focus-within .mega{display:block}
.nvitem.r .mega{left:auto;right:0}
.mega h4{font-family:var(--cond);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--goldd);
 margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:2px 26px}
.mgrid a{display:flex;gap:10px;align-items:baseline;padding:6px 0;font-size:14.5px;font-family:var(--serif);
 border-bottom:1px solid #f0ece1;transition:color .18s ease}
.mgrid a:hover{color:var(--green-l)}
.mgrid a span{font-family:var(--cond);font-size:12px;color:var(--goldd);letter-spacing:.06em;flex:0 0 26px}
.mega .allcat{margin-top:14px;display:inline-block;font-family:var(--cond);font-size:12px;letter-spacing:.16em;
 text-transform:uppercase;color:var(--green);border-bottom:2px solid var(--gold);padding-bottom:2px}

/* ---------- mobile panel ---------- */
.mpanel{display:none;position:fixed;inset:0;background:var(--green-d);z-index:200;overflow-y:auto;
 -webkit-overflow-scrolling:touch;padding:0 0 60px}
.mpanel.open{display:block}
.mpanel .mhead{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #1d4634;
 position:sticky;top:0;background:var(--green-d)}
.mpanel .mhead span{font-family:var(--disp);font-size:30px;color:#fff}
.mpanel .mhead span i{color:var(--gold);font-style:normal}
.mpanel button.x{background:none;border:1px solid #3a6b56;color:#fff;padding:8px 13px;font-family:var(--cond);
 font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.mpanel a{display:block;color:var(--goldp);padding:14px 20px;border-bottom:1px solid #17392a;font-family:var(--cond);
 font-size:15px;letter-spacing:.1em;text-transform:uppercase}
.mpanel .mlabel{font-family:var(--cond);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
 color:var(--gold);padding:20px 20px 8px;border-bottom:1px solid #17392a;background:#0a2117}
.mpanel .msub{color:#fff;font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:15px;padding-left:34px}

/* ---------- search results panel ---------- */
.sresults{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line2);
 border-top:3px solid var(--gold);box-shadow:0 24px 40px rgba(0,0,0,.2);max-height:62vh;overflow:auto;display:none;z-index:120}
.sresults.on{display:block}
.sresults a{display:flex;justify-content:space-between;gap:14px;padding:11px 15px;border-bottom:1px solid #f1ece1;
 font-family:var(--serif);font-size:15px;color:var(--ink);transition:background .15s ease}
.sresults a:hover{background:var(--tint)}
.sresults a em{font-family:var(--cond);font-style:normal;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
 color:var(--goldd);flex:0 0 auto;padding-top:3px}
.sresults .none{padding:16px;font-size:14px;color:var(--mute)}
.searchband{background:var(--tint);border-bottom:1px solid var(--line)}
.searchband .wrap{padding:26px var(--pad)}
.sb-in{position:relative;display:flex;gap:0;max-width:940px;margin:0 auto}
.sb-in input{flex:1;min-width:0;height:56px;border:1.5px solid var(--green);background:#fff;padding:0 18px;font-family:var(--serif);
 font-size:17px;outline:none;transition:box-shadow .2s ease}
.sb-in input:focus{box-shadow:0 0 0 3px rgba(201,169,97,.35)}
.sb-in button{height:56px;padding:0 26px;background:var(--green);color:var(--goldp);border:0;font-family:var(--cond);
 font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .2s ease}
.sb-in button:hover{background:var(--green-l)}
.sb-hint{text-align:center;font-size:13px;color:var(--mute);margin-top:11px}
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.chip{font-family:var(--cond);font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--line2);
 background:#fff;color:var(--green);padding:7px 13px;cursor:pointer;transition:all .18s ease}
.chip:hover{border-color:var(--green);background:#fff}
.chip.on{background:var(--green);color:var(--goldp);border-color:var(--green)}

/* ---------- section ribbons ---------- */
.deskbreak{margin-top:66px;border-top:2px solid var(--ink);padding-top:0}
.deskbar{background:var(--green);color:var(--goldp);text-align:center;padding:13px 16px 14px}
.deskbar h2{font-family:var(--cond);font-size:22px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;line-height:1.2}
.deskbar p{font-family:var(--serif);font-size:14.5px;color:#dbd3bd;margin-top:5px;max-width:760px;margin-left:auto;margin-right:auto}
.deskbar a{color:var(--goldp)}
.desk{padding-top:26px}

/* ---------- equal-height column rows ---------- */
.row3{display:grid;grid-template-columns:286px minmax(0,1fr) 312px;border-top:2px solid var(--ink);
 border-bottom:1px solid var(--line2)}
.row3>section{display:flex;flex-direction:column;padding:24px 26px;border-left:1px solid var(--line);min-width:0}
.row3>section:first-child{border-left:0;padding-left:0}
.row3>section:last-child{padding-right:0}
.grow{flex:1 1 auto}
.desklinks{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.desklinks a{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:9px 0;
 border-bottom:1px solid var(--line);font-family:var(--serif);font-size:14.5px;transition:color .18s ease}
.desklinks a:hover{color:var(--green-l)}
.desklinks a b{font-family:var(--cond);font-size:12px;color:var(--goldd);letter-spacing:.08em}
.colhead{font-family:var(--cond);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--goldd);
 border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:14px}

/* ---------- mosaic (wide slots NEVER hold one small product) ---------- */
.mosaic{display:grid;gap:2px;background:var(--green);border:1px solid var(--green)}
.mosaic.q{grid-template-columns:1fr 1fr}
.mosaic.s4{grid-template-columns:repeat(4,1fr)}
.mosaic.s3{grid-template-columns:repeat(3,1fr)}
.mcell{position:relative;aspect-ratio:1/1;background:var(--tint);overflow:hidden}
.mcell img{width:100%;height:100%;object-fit:contain;padding:7%;mix-blend-mode:multiply;
 transition:transform .3s ease}
a.mos:hover .mcell img{transform:scale(1.045)}
.mosaic.q .mcell:nth-child(1){background:#f4f2eb}
.mosaic.q .mcell:nth-child(4){background:#f4f2eb}

/* ---------- lead story ---------- */
.lead h1{font-family:var(--disp);font-size:47px;line-height:1.06;letter-spacing:-.012em;margin:18px 0 0}
.lead h1 a{transition:color .2s ease}
.lead h1 a:hover{color:var(--green-l)}
.lead .dek{font-family:var(--serif);font-size:17.5px;line-height:1.58;color:#33332d;margin-top:13px;max-width:64ch}
.lead .meta{margin-top:14px;display:flex;gap:16px;flex-wrap:wrap;font-family:var(--cond);font-size:12.5px;
 letter-spacing:.13em;text-transform:uppercase;color:var(--mute)}
.lead .meta b{color:var(--green);font-weight:600}
.chiprow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.pchip{display:flex;flex-direction:column;gap:8px}
.pchip .sq{aspect-ratio:1/1;background:var(--tint);border:1px solid var(--line);overflow:hidden}
.pchip .sq img{width:100%;height:100%;object-fit:contain;padding:9%;mix-blend-mode:multiply;transition:transform .3s ease}
.pchip:hover .sq img{transform:scale(1.05)}
.pchip h4{font-family:var(--serif);font-size:14.5px;line-height:1.34;display:-webkit-box;-webkit-line-clamp:2;
 -webkit-box-orient:vertical;overflow:hidden}
.pchip .pr{font-family:var(--cond);font-size:13px;letter-spacing:.08em;color:var(--goldd);font-weight:600}

/* ---------- ranked lists ---------- */
.ranked{list-style:none;display:flex;flex-direction:column}
.ranked li{border-bottom:1px solid var(--line)}
.ranked li:last-child{border-bottom:0}
.ranked a{display:grid;grid-template-columns:30px 62px minmax(0,1fr);gap:12px;align-items:center;padding:12px 0;
 min-height:88px;transition:background .18s ease}
.ranked a:hover{background:#f4f1e9}
.ranked .rk{font-family:var(--disp);font-size:24px;color:var(--gold);line-height:1;text-align:center}
.ranked .th{aspect-ratio:1/1;background:var(--tint);border:1px solid var(--line);overflow:hidden}
.ranked .th img{width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply}
.ranked h4{font-family:var(--serif);font-size:14.5px;line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;
 -webkit-box-orient:vertical;overflow:hidden}
.ranked .sub{font-family:var(--cond);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:3px}
.ranked .sub b{color:var(--goldd)}

/* ---------- tabbed rail ---------- */
.tabs{display:flex;border-bottom:2px solid var(--ink);margin-bottom:2px}
.tabs button{flex:1;background:none;border:0;border-bottom:3px solid transparent;padding:9px 4px;cursor:pointer;
 font-family:var(--cond);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);
 transition:color .2s ease,border-color .2s ease}
.tabs button.on{color:var(--green);border-bottom-color:var(--gold);font-weight:600}
.tabs button:hover{color:var(--green)}
.tabp{display:none}
.tabp.on{display:block}
.rail-sticky{position:sticky;top:64px}
.railcard{background:var(--green);color:#d6cdb6;padding:18px 20px 20px;margin-top:22px}
.railcard p{font-size:13.5px;line-height:1.6;margin-top:9px}
.railcard .more{color:var(--goldp);border-color:var(--gold)}
.railcard .more:hover{color:#fff}

/* ---------- cart cards ---------- */
.cardgrid{display:grid;gap:1px;background:var(--line)}
.cardgrid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cardgrid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cardgrid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ccard{background:var(--cream);padding:0 0 18px;display:flex;flex-direction:column}
.cardgrid .ccard{padding:16px 16px 18px;background:var(--cream);transition:background .2s ease}
.cardgrid .ccard:hover{background:#f4f1e9}
.ccard .kick{font-family:var(--cond);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--goldd);margin-bottom:8px}
.ccard h3{font-family:var(--serif);font-size:20px;line-height:1.22;margin-top:13px;display:-webkit-box;
 -webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.22em * 3)}
.ccard p{font-size:14px;line-height:1.5;color:#3d3d36;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;
 -webkit-box-orient:vertical;overflow:hidden}
.ccard .cmeta{margin-top:auto;padding-top:12px;font-family:var(--cond);font-size:12px;letter-spacing:.12em;
 text-transform:uppercase;color:var(--mute);display:flex;gap:12px;flex-wrap:wrap}
.ccard .cmeta b{color:var(--green);font-weight:600}
.more{display:inline-block;margin-top:12px;font-family:var(--cond);font-size:12px;letter-spacing:.16em;
 text-transform:uppercase;color:var(--green);border-bottom:2px solid var(--gold);padding-bottom:2px;font-weight:600;
 transition:color .18s ease,border-color .18s ease}
.more:hover{color:var(--goldd);border-color:var(--green)}

/* ---------- product tiles ---------- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:18px}
.pgrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.ptile{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease}
.ptile:hover{box-shadow:0 14px 26px rgba(18,58,42,.14);transform:translateY(-3px);border-color:var(--line2)}
.ptile .sq{aspect-ratio:1/1;background:var(--tint);border-bottom:1px solid var(--line);overflow:hidden;position:relative}
.ptile .sq img{width:100%;height:100%;object-fit:contain;padding:9%;mix-blend-mode:multiply;transition:transform .3s ease}
.ptile:hover .sq img{transform:scale(1.05)}
.ptile .bd{padding:13px 14px 14px;display:flex;flex-direction:column;flex:1}
.ptile .br{font-family:var(--cond);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--goldd);
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptile h4{font-family:var(--serif);font-size:15px;line-height:1.34;margin-top:6px;display:-webkit-box;
 -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.34em * 2)}
.ptile .rw{display:flex;align-items:baseline;gap:9px;margin-top:9px}
.price{font-family:var(--cond);font-size:18px;font-weight:600;letter-spacing:.02em;color:var(--ink)}
.was{font-size:12.5px;color:var(--mute);text-decoration:line-through}
.stars{font-size:12.5px;color:var(--mute);white-space:nowrap}
.stars i{color:var(--gold);font-style:normal}
.ptile .cta{margin-top:auto;padding-top:11px;font-family:var(--cond);font-size:11.5px;letter-spacing:.16em;
 text-transform:uppercase;color:var(--green);font-weight:600}
.ptile:hover .cta{color:var(--goldd)}
.badge{position:absolute;left:0;top:0;background:var(--green);color:var(--goldp);font-family:var(--cond);font-size:11px;
 letter-spacing:.13em;text-transform:uppercase;padding:5px 9px;z-index:2}

/* ---------- dark band ---------- */
.band{background:var(--green);color:#fff;margin-top:66px;border-top:2px solid var(--ink)}
.band .wrap{padding:46px var(--pad) 50px}
.band h2{font-family:var(--disp);font-size:42px;line-height:1.08;color:#fff;max-width:22ch}
.band .sub{font-family:var(--serif);font-size:16.5px;color:#d6cdb6;margin-top:12px;max-width:60ch;line-height:1.6}
.bars{display:flex;flex-direction:column;gap:13px;margin-top:6px}
.bar .bt{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-family:var(--cond);font-size:13px;
 letter-spacing:.12em;text-transform:uppercase}
.bar .bt em{font-style:normal;font-family:var(--sans);font-size:13.5px;letter-spacing:0;text-transform:none;color:#c9c1ab}
.bar .tr{height:7px;background:rgba(255,255,255,.14);margin-top:7px;overflow:hidden}
.bar .fl{height:100%;background:var(--gold);transition:width .5s ease}
.bar.neg .fl{background:#7e8f84}
.srcline{font-family:var(--cond);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a9a292;margin-top:16px}

/* ---------- page header (cart / category / product) ---------- */
.phead{border-bottom:2px solid var(--ink);padding:30px 0 24px;margin-top:2px}
.phead .eyebrow a{border-bottom:1px solid rgba(125,96,33,.4)}
.phead h1{font-family:var(--disp);font-size:52px;line-height:1.04;letter-spacing:-.014em;margin-top:12px;max-width:24ch}
.phead .dek{font-family:var(--serif);font-size:18px;line-height:1.6;color:#33332d;margin-top:14px;max-width:70ch}
.phead .stats{display:flex;gap:0;flex-wrap:wrap;margin-top:22px;border-top:1px solid var(--line)}
.phead .stats div{padding:12px 24px 10px;border-right:1px solid var(--line)}
.phead .stats div:first-child{padding-left:0}
.phead .stats span{display:block;font-family:var(--cond);font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--mute)}
.phead .stats b{font-family:var(--cond);font-size:22px;font-weight:600;color:var(--green)}
.crumb{font-family:var(--cond);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding:16px 0 0}
.crumb a{color:var(--goldd)}
.crumb a:hover{color:var(--green)}

/* ---------- section head on light ---------- */
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);
 padding-bottom:11px;margin:58px 0 22px}
.shead h2{font-family:var(--cond);font-size:20px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--green)}
.shead .n{font-family:var(--cond);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

/* ---------- product page ---------- */
.pdp{display:grid;grid-template-columns:minmax(0,1fr) 330px;border-top:2px solid var(--ink)}
.pdp>.main{padding:28px 40px 40px 0;min-width:0}
.pdp>.rail{padding:28px 0 40px 30px;border-left:1px solid var(--line2);min-width:0}
.railinner{position:sticky;top:70px}
.gal{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:36px;align-items:start}
.gmain{background:var(--tint);border:1px solid var(--line);aspect-ratio:1/1;overflow:hidden}
.gmain img{width:100%;height:100%;object-fit:contain;padding:6%;mix-blend-mode:multiply}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;margin-top:10px}
.thumbs button{background:var(--tint);border:1px solid var(--line);aspect-ratio:1/1;padding:0;cursor:pointer;
 transition:border-color .18s ease,box-shadow .18s ease}
.thumbs button.on{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--gold)}
.thumbs button:hover{border-color:var(--green-l)}
.thumbs img{width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply}
.buybox .brand{font-family:var(--cond);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--goldd)}
.buybox h1{font-family:var(--serif);font-size:29px;line-height:1.22;margin-top:9px}
.buybox .prow{display:flex;align-items:baseline;gap:12px;margin-top:16px;flex-wrap:wrap}
.buybox .prow .price{font-size:34px}
.save{background:var(--green);color:var(--goldp);font-family:var(--cond);font-size:12px;letter-spacing:.12em;
 text-transform:uppercase;padding:4px 9px}
.buy{display:block;text-align:center;background:var(--gold);color:#141008;font-family:var(--cond);font-size:15px;
 letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:17px 20px;margin-top:20px;
 border:1px solid var(--goldd);transition:background .2s ease,transform .2s ease}
.buy:hover{background:var(--goldp);transform:translateY(-2px)}
.buynote{font-size:12.5px;color:var(--mute);margin-top:9px;line-height:1.5}
.thumbnote{font-size:12.5px;color:var(--mute);margin-top:9px;line-height:1.5}
.photobar{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-top:10px;
 padding-top:9px;border-top:1px solid var(--line);font-family:var(--cond);font-size:11.5px;
 letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.photobar a{color:var(--goldd);border-bottom:1px solid rgba(125,96,33,.45);transition:color .18s ease}
.photobar a:hover{color:var(--green)}
.vars{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.vars .vh{font-family:var(--cond);font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--mute)}
.vswatch{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px;margin-top:11px}
.vswatch a{background:var(--tint);border:1px solid var(--line);aspect-ratio:1/1;overflow:hidden;transition:border-color .18s ease}
.vswatch a:hover{border-color:var(--green)}
.vswatch img{width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply}
.vlist{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}
.vlist a,.vlist span{font-family:var(--sans);font-size:13px;border:1px solid var(--line2);background:#fff;
 padding:7px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
 transition:border-color .18s ease,background .18s ease}
.vlist a:hover{border-color:var(--green);background:var(--tint)}
.card{background:#fff;border:1px solid var(--line);padding:24px 26px 26px;margin-top:20px}
.card .lbl{font-family:var(--cond);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--goldd);
 padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:15px}
.card h2{font-family:var(--serif);font-size:24px;line-height:1.28}
.card h3{font-family:var(--serif);font-size:19px;line-height:1.3}
.card p{font-family:var(--serif);font-size:16.5px;line-height:1.66;color:#26261f;margin-top:11px}
.card p.small{font-family:var(--sans);font-size:14.5px;line-height:1.6;color:#3c3c34}
.kicker{margin-top:14px;padding-left:15px;border-left:3px solid var(--gold);font-family:var(--serif);font-size:17px;
 line-height:1.5;color:var(--green)}
.card.dark{background:var(--green);border-color:var(--green-d);color:#fff}
.card.dark .lbl{color:var(--goldp);border-bottom-color:#2c5b47}
.card.dark h2,.card.dark h3{color:#fff}
.card.dark p{color:#d9d1bb}
.crit{display:flex;flex-direction:column;margin-top:6px}
.crit .it{display:grid;grid-template-columns:62px minmax(0,1fr);gap:18px;padding:20px 0;border-top:1px solid var(--line)}
.crit .it:first-child{border-top:0;padding-top:6px}
.crit .no{font-family:var(--disp);font-size:34px;line-height:.9;color:var(--gold)}
.crit h3{font-family:var(--cond);font-size:16px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--green)}
.crit .det{font-family:var(--sans);font-size:13.5px;color:var(--mute);margin-top:5px}
.gtk{list-style:none;display:flex;flex-direction:column}
.gtk li{padding:13px 0;border-top:1px solid var(--line);font-family:var(--serif);font-size:15.5px;line-height:1.6;color:#26261f}
.gtk li:first-child{border-top:0}
.gtk b{display:block;font-family:var(--cond);font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;
 color:var(--green);margin-bottom:4px;font-weight:600}
.railh{font-family:var(--cond);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--goldd);
 border-bottom:2px solid var(--ink);padding-bottom:9px;margin-bottom:4px}
.railh+.ranked{margin-bottom:26px}
.lightbars .bar .bt{color:var(--green)}
.lightbars .bar .bt em{color:var(--mute)}
.lightbars .bar .tr{background:#e6e1d3}
.lightbars .bar .fl{background:var(--gold)}
.lightbars .bar.neg .fl{background:#9aa79d}

/* ---------- footer ---------- */
footer{background:#000;color:#a8a294;margin-top:0;border-top:3px solid var(--gold)}
footer .wide{padding:46px var(--pad) 30px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
footer h5{font-family:var(--cond);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--goldp);margin-bottom:13px}
footer a{color:#a8a294;font-size:14px;line-height:2;transition:color .18s ease}
footer a:hover{color:var(--gold)}
footer .fw{font-family:var(--disp);font-size:40px;line-height:1}
footer .fw .w{color:#fff}
footer .fw .g{color:var(--gold)}
footer p{font-size:13.5px;line-height:1.65;margin-top:12px;max-width:44ch}
.fbot{border-top:1px solid #232319;margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;
 gap:18px;flex-wrap:wrap;font-size:12.5px}
.catindex{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--line);
 border:1px solid var(--line)}
.catindex a{background:var(--cream);padding:15px 16px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;
 transition:background .18s ease}
.catindex a:hover{background:#f2eee3}
.catindex span{font-family:var(--serif);font-size:16px}
.catindex b{font-family:var(--cond);font-size:12px;letter-spacing:.1em;color:var(--goldd)}

/* ---------- split editorial ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);border-top:2px solid var(--ink);
 border-bottom:1px solid var(--line2)}
.split>div{padding:24px 30px;border-left:1px solid var(--line);display:flex;flex-direction:column}
.split>div:first-child{border-left:0;padding-left:0}
.split>div:last-child{padding-right:0}
.split h3{font-family:var(--disp);font-size:34px;line-height:1.1;margin-top:14px}
.split p{font-family:var(--serif);font-size:16px;line-height:1.6;color:#33332d;margin-top:12px}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);border-bottom:1px solid var(--line2)}
.tiers>div{padding:22px 24px;border-left:1px solid var(--line);display:flex;flex-direction:column}
.tiers>div:first-child{border-left:0;padding-left:0}
.tiers>div:last-child{padding-right:0}
.tiers h3{font-family:var(--cond);font-size:17px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);
 border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px;font-weight:600}
.sticky-buy{display:none}

/* ---------- responsive ---------- */
@media (max-width:1180px){
 .wordmark{font-size:56px}
 .row3{grid-template-columns:250px minmax(0,1fr) 268px}
 .lead h1{font-size:40px}
 .pdp{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width:1024px){
 :root{--pad:24px}
 .row3{grid-template-columns:minmax(0,1fr) 300px}
 .row3>section.shortlist{grid-column:1/-1;border-left:0;padding-left:0;padding-right:0;border-bottom:1px solid var(--line);order:3}
 .row3>section.leadcol{padding-left:0;order:1}
 .row3>section.railcol{order:2}
 .gal{grid-template-columns:minmax(0,1fr);gap:20px}
 .gmain{aspect-ratio:auto;height:min(58vh,420px)}
 .thumbs{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}
 .pdp{grid-template-columns:minmax(0,1fr)}
 .gal{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .pdp>.main{padding-right:0}
 .pdp>.rail{border-left:0;border-top:2px solid var(--ink);padding-left:0}
 .railinner{position:static}
 .fgrid{grid-template-columns:1fr 1fr}
 .cardgrid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .phead h1{font-size:42px}
}
@media (max-width:820px){
 .burger{display:block}
 .mast-l .eyebrow{display:none}
 .util-r{display:none}
 .util .wide{justify-content:center}
 .gal{grid-template-columns:minmax(0,1fr);gap:20px}
 .gmain{aspect-ratio:auto;height:min(58vh,420px)}
 .thumbs{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}
 .sb-in{flex-direction:column;gap:10px}
 .sb-in input,.sb-in button{width:100%}
 .sb-in input{height:52px;font-size:16px}
 .sb-in button{height:48px}
 .sb-in .sresults{top:auto;margin-top:0}
 .searchband .wrap{padding:20px var(--pad) 22px}
 .chips{gap:7px}
 .chip{font-size:12px;padding:6px 10px}
 .mast .wide{grid-template-columns:auto 1fr auto;gap:12px;padding:16px var(--pad) 14px}
 .wordmark{font-size:min(12.5vw,46px)}
 .mast-r .hsearch{display:none}
 .ribbon{display:none}
 .row3{grid-template-columns:minmax(0,1fr)}
 .row3>section{border-left:0;padding-left:0;padding-right:0;border-bottom:1px solid var(--line)}
 .row3>section:last-child{border-bottom:0}
 .rail-sticky{position:static}
 .split,.tiers{grid-template-columns:minmax(0,1fr)}
 .split>div,.tiers>div{border-left:0;padding-left:0;padding-right:0;border-bottom:1px solid var(--line)}
 .split>div:last-child,.tiers>div:last-child{border-bottom:0}
 .lead h1{font-size:36px}
 .phead h1{font-size:36px}
 .cardgrid.c3,.cardgrid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
 .deskbar h2{font-size:18px;letter-spacing:.2em}
 .card{padding:20px}
 .band h2{font-size:32px}
 .sticky-buy{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;background:#000;padding:9px 14px;
  gap:12px;align-items:center;box-shadow:0 -6px 18px rgba(0,0,0,.3)}
 .sticky-buy .sp{color:#fff;font-family:var(--cond);font-size:17px;font-weight:600;flex:0 0 auto}
 .sticky-buy a{flex:1;text-align:center;background:var(--gold);color:#141008;font-family:var(--cond);font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:13px 10px}
 body.haspdp{padding-bottom:64px}
 .fgrid{grid-template-columns:1fr}
 .crit .it{grid-template-columns:44px minmax(0,1fr);gap:12px}
 .chiprow{grid-template-columns:1fr 1fr}
}
@media (max-width:430px){
 .pgrid,.pgrid.four{grid-template-columns:1fr 1fr;gap:12px}
 .thumbs{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}
 .cardgrid.c4,.cardgrid.c3{grid-template-columns:1fr}
 .phead h1{font-size:31px}
 .lead h1{font-size:30px}
 .buybox h1{font-size:23px}
 .card h2{font-size:20px}
 .ranked a{grid-template-columns:24px 54px minmax(0,1fr);gap:10px}
 .phead .stats div{padding:10px 16px 8px}
}
@media (prefers-reduced-motion:reduce){
 *{transition:none!important;animation:none!important}
 .ptile:hover{transform:none}
 .buy:hover{transform:none}
}
