/* CORDEL — homepage section styles */
#cord{position:fixed;top:0;left:0;height:3px;width:0;background:var(--oxblood);z-index:300;transition:width .12s linear}


/* ─────────── TOP STRIP + NAV ─────────── */
.strip-top{background:var(--ink);color:var(--bone);font-family:var(--mono)}


/* ════════════ HERO — "the unrolling" ════════════
   A dark stage. The product sits behind a leather flap that lifts on load,
   the tie-cord draws across, and the wordmark-scale headline settles in.
   Signature move: the horizontal cord that "unties" and the flap lift.       */
/* The homepage header is fixed and overlays this hero (see .is-transparent in
   style.css), so the hero owns the full viewport and pads its content clear of
   the bar. */
.hero{position:relative;background:var(--ink);color:#fff;min-height:clamp(600px,100vh,1000px);overflow:hidden;display:flex;flex-direction:column;padding-top:var(--hdr-h,68px)}

.hero-grain{position:absolute;inset:0;opacity:.06;pointer-events:none;z-index:1;
  background-image:radial-gradient(circle at 20% 30%,#fff 0.5px,transparent 0.5px),radial-gradient(circle at 70% 60%,#fff 0.5px,transparent 0.5px);
  background-size:5px 5px,7px 7px;mix-blend-mode:overlay}

.hero-media{position:absolute;inset:0;z-index:0}

.hero-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.44) saturate(1.05) contrast(1.05);transform:scale(1.08);will-change:transform}

.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(78deg,rgba(0,0,0,.92) 8%,rgba(0,0,0,.55) 46%,rgba(0,0,0,.18) 100%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 42%)}


/* the tie-cord that draws across on load */
.hero-cord{position:absolute;left:0;top:clamp(120px,20vh,220px);height:1px;width:100%;z-index:2;pointer-events:none}

.hero-cord i{position:absolute;left:var(--pad);top:0;height:1px;background:var(--brass);width:0;animation:cordDraw 1.4s .3s var(--e3) forwards}

.hero-cord b{position:absolute;left:var(--pad);top:-4px;width:9px;height:9px;border-radius:50%;background:var(--brass);opacity:0;animation:knotPop .5s 1.5s var(--e2) forwards}

@keyframes cordDraw{to{width:calc(60% )}}

@keyframes knotPop{to{opacity:1;transform:translateX(60vw)}}


.hero-body{position:relative;z-index:3;margin-top:auto;padding:0 var(--pad) clamp(56px,9vh,110px);width:100%}

/* each slide's copy stacks in the same spot and swaps */
.hero-slides{position:relative}

.hero-slide{position:absolute;left:0;bottom:0;width:100%;visibility:hidden}

.hero-slide.on{position:relative;visibility:visible}

.hero-kick{font-family:var(--mono);font-size:14px;letter-spacing:.02em;color:var(--brass);margin-bottom:28px}

.hero-kick b{color:#B7AE9B;font-weight:400}

.hero-kick s{display:none}

.hero-h1{font-weight:800;letter-spacing:-.035em;line-height:.9;font-size:clamp(46px,10vw,168px);max-width:14ch}

.hero-h1 .ln{display:block;overflow:hidden}

.hero-h1 .ln em{display:block;font-style:normal;transform:translateY(105%);will-change:transform}

.hero-h1 .accent{color:var(--oxblood-lt)}

@keyframes rise{to{transform:translateY(0)}}

.hero-sub{display:flex;gap:clamp(24px,4vw,64px);margin-top:38px;flex-wrap:wrap;align-items:flex-end}

.hero-sub p{font-size:clamp(14px,1.35vw,17px);color:#CFC7B6;max-width:40ch;line-height:1.55;opacity:0;transform:translateY(18px)}

.hero-actions{display:flex;gap:14px;flex-wrap:wrap;opacity:0;transform:translateY(18px)}

/* play the entry animation whenever a slide becomes active */
.hero-slide.on .hero-kick{animation:fadeUp .7s .4s var(--e2) both}

.hero-slide.on .hero-h1 .ln:nth-child(1) em{animation:rise 1s .5s var(--e2) forwards}

.hero-slide.on .hero-h1 .ln:nth-child(2) em{animation:rise 1s .62s var(--e2) forwards}

.hero-slide.on .hero-sub p{animation:fadeUp .8s .82s var(--e2) forwards}

.hero-slide.on .hero-actions{animation:fadeUp .8s .94s var(--e2) forwards}

@keyframes lineX{to{transform:scaleX(1)}}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}


/* rotating hero: three products cross-fade behind the same frame */
.hero-media img{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--e1)}

.hero-media img.on{opacity:1}

/* ─── Ken Burns ───
   Each slide drifts and scales for longer than it is on screen, so it never
   reaches the end of the move and freezes — the crossfade always interrupts
   it mid-drift. Direction alternates per slide so three slides in a row don't
   read as one mechanical zoom. Paused with the hero on hover. */
@media (prefers-reduced-motion:no-preference){
  .hero-media img.on{animation:kenburnsA 11s var(--e1) forwards}
  .hero-media img:nth-child(2n).on{animation-name:kenburnsB}
  .hero-media img:nth-child(3n).on{animation-name:kenburnsC}
}
@keyframes kenburnsA{
  from{transform:scale(1.06) translate3d(0,0,0)}
  to{transform:scale(1.18) translate3d(-1.6%,-1.4%,0)}
}
@keyframes kenburnsB{
  from{transform:scale(1.18) translate3d(1.4%,1.2%,0)}
  to{transform:scale(1.06) translate3d(0,0,0)}
}
@keyframes kenburnsC{
  from{transform:scale(1.07) translate3d(1.5%,-1%,0)}
  to{transform:scale(1.19) translate3d(-1.2%,1.3%,0)}
}

.hero-dots{position:absolute;right:var(--pad);bottom:clamp(56px,9vh,110px);z-index:4;display:flex;flex-direction:column;gap:14px;align-items:flex-end}

.hero-dots button{background:none;border:0;display:flex;align-items:center;gap:12px;color:#B7AE9B;font-family:var(--mono);font-size:14px;letter-spacing:.04em;opacity:.5;transition:opacity .3s}

.hero-dots button .bar{width:34px;height:2px;background:currentColor;position:relative;overflow:hidden}

.hero-dots button .bar::after{content:"";position:absolute;inset:0;width:0;background:var(--brass)}

.hero-dots button.on{opacity:1;color:var(--bone)}

.hero-dots button.on .bar::after{animation:barFill 6s linear forwards}

@keyframes barFill{to{width:100%}}


/* ─────────── STANDARDS ROW (replaces "facts", framed as a spec sheet) ─────────── */
.spec{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;background:var(--ink);color:var(--bone);font-family:var(--mono)}

.spec .cell{padding:26px var(--pad);border-left:1px solid var(--line-dk)}

.spec .cell:first-child{border-left:0}

.spec .cell .lbl{font-size:14px;letter-spacing:.05em;color:var(--brass);text-transform:uppercase}

.spec .cell .val{font-size:clamp(15px,1.6vw,20px);font-weight:500;margin-top:12px;line-height:1.35;color:var(--bone)}

.spec .cell:first-child .val{font-family:var(--disp);font-weight:600;letter-spacing:-.01em}


/* ─────────── SECTION HEADER (reusable, no eyebrow-stack) ─────────── */
.shead{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;padding-block:clamp(64px,8vw,110px) 30px}

.shead h2{grid-column:1/9;font-weight:800;letter-spacing:-.03em;font-size:clamp(30px,4.6vw,66px);line-height:.98}

.shead .idx{grid-column:11/13;font-family:var(--mono);font-size:14px;color:var(--txt-2);text-align:right;line-height:1.6}

.shead .idx b{color:var(--oxblood);font-weight:600}


/* ════════════ COLLAPSING CATALOGUE (kept — good bones, restyled) ════════════ */
.stack{position:relative}

.panel{position:sticky;top:70px;height:calc(100vh - 70px);min-height:600px;background:var(--bone);border-top:1px solid var(--line);overflow:hidden;will-change:transform}

.panel:last-child{position:relative;top:0}

.panel-in{display:grid;grid-template-columns:1.1fr 1fr;height:100%;align-items:stretch}

.p-tag{position:absolute;top:26px;left:var(--pad);font-family:var(--mono);font-size:14px;font-weight:500;color:var(--faint);z-index:3;letter-spacing:.03em}

.p-tag b{color:var(--oxblood)}

.p-img{position:relative;overflow:hidden;background:var(--bone-2)}

.p-img img{transform:scale(1.06);will-change:transform}

.p-img .cat-flag{position:absolute;top:26px;right:26px;background:var(--ink);color:var(--bone);font-family:var(--mono);font-size:14px;letter-spacing:.03em;padding:8px 14px;text-transform:uppercase}

.p-info{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,70px) var(--pad)}

.p-info h3{font-size:clamp(30px,4.4vw,60px);font-weight:800;letter-spacing:-.03em;line-height:.96}

.p-info .desc{font-size:15.5px;color:var(--txt-2);margin-top:20px;max-width:42ch;line-height:1.6}

.p-meta{display:flex;gap:44px;margin-top:34px;font-family:var(--mono)}

.p-meta .k{font-size:14px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}

.p-meta .v{font-size:16px;font-weight:500;margin-top:6px;color:var(--txt)}

.p-swatch{display:flex;gap:10px;margin-top:28px;align-items:center}

.p-swatch .sl{font-family:var(--mono);font-size:14px;color:var(--faint);margin-right:6px}

.p-swatch i{width:22px;height:22px;border-radius:2px;outline:1px solid rgba(0,0,0,.12);outline-offset:2px;cursor:pointer;transition:transform .2s}

.p-swatch i:hover{transform:translateY(-2px)}

.p-buy{display:flex;align-items:center;gap:26px;margin-top:38px}

.p-buy .price{font-family:var(--mono);font-size:27px;font-weight:600;letter-spacing:-.01em}

.p-buy .price s{font-size:15px;color:var(--faint);margin-right:11px;font-weight:400}

.p-buy .add{font-family:var(--mono);font-size:14px;font-weight:600;padding:15px 30px;background:var(--ink);color:var(--bone);transition:background .25s;letter-spacing:.02em}

.p-buy .add:hover{background:var(--oxblood)}


/* ════════════ FULL CATEGORY GRID (all 6+ categories — the real range) ════════════ */
.range{border-top:1px solid var(--line)}

.range-grid{display:grid;grid-template-columns:repeat(3,1fr)}

.tile{position:relative;height:clamp(360px,42vw,520px);overflow:hidden;background:var(--ink);border-right:1px solid var(--line-dk);border-bottom:1px solid var(--line-dk)}

.tile img{transform:scale(1.05);transition:transform 1.1s var(--e1);filter:brightness(.72)}

.tile:hover img{transform:scale(1.12);filter:brightness(.85)}

.tile .tcap{position:absolute;left:26px;right:26px;bottom:26px;z-index:2;color:var(--bone);display:flex;justify-content:space-between;align-items:flex-end}

.tile .tcap h3{font-size:clamp(20px,2vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1}

.tile .tcap .cnt{font-family:var(--mono);font-size:14px;color:#CFC7B6;margin-top:8px;letter-spacing:.03em}

.tile .tcap .arw{width:38px;height:38px;border:1px solid rgba(232,226,214,.45);border-radius:50%;display:grid;place-items:center;transition:all .3s var(--e1);flex-shrink:0}

.tile .tcap .arw svg{width:15px;height:15px;stroke:var(--bone);fill:none;stroke-width:1.6}

.tile:hover .tcap .arw{background:var(--oxblood);border-color:var(--oxblood)}

.tile .num{position:absolute;top:20px;left:24px;font-family:var(--mono);font-size:14px;color:rgba(232,226,214,.6);z-index:2}


/* ════════════ SHOP BY CATEGORY — top tabs, full-width grid ════════════ */
.catshop{border-top:1px solid var(--line);background:var(--bone)}

.catshop-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;padding:clamp(64px,8vw,110px) var(--pad) clamp(28px,3.5vw,40px)}

.catshop-head h2{font-weight:800;letter-spacing:-.03em;font-size:clamp(30px,4.4vw,62px);line-height:.98;max-width:15ch}

.catshop-head .lead{font-family:var(--mono);font-size:14px;color:var(--txt-2);text-align:right;line-height:1.7;max-width:34ch}

.catshop-head .lead b{color:var(--oxblood);font-weight:600}

.catbar{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}

.catbar::-webkit-scrollbar{display:none}

.catbar button{flex:1 0 auto;background:none;border:0;border-left:1px solid var(--line);padding:20px clamp(18px,2.2vw,30px);cursor:pointer;display:flex;align-items:center;gap:12px;position:relative;white-space:nowrap;transition:background .3s var(--e1)}

.catbar button:first-child{border-left:0}

.catbar button:hover{background:rgba(0,0,0,.02)}

.catbar button .cn{font-family:var(--mono);font-size:14px;color:var(--faint);transition:color .3s}

.catbar button .ct{font-size:clamp(14px,1.5vw,17px);font-weight:600;letter-spacing:-.01em;color:var(--txt-2);transition:color .3s}

.catbar button .cc{font-family:var(--mono);font-size:14px;color:var(--faint);background:var(--bone-2);padding:2px 7px;border-radius:2px;transition:all .3s}

.catbar button.on .ct{color:var(--txt)}

.catbar button.on .cn{color:var(--oxblood)}

.catbar button.on .cc{background:var(--oxblood);color:var(--bone)}

.catbar button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--oxblood);transform:scaleX(0);transition:transform .3s var(--e2)}

.catbar button.on::after{transform:scaleX(1)}

.catshop-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px var(--pad);border-bottom:1px solid var(--line)}

.catshop-strip .sd{font-size:14.5px;color:var(--txt-2);max-width:60ch;line-height:1.55}

.catshop-strip .sd b{color:var(--txt);font-weight:600}

.catshop-strip .viewall{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--txt);border:1px solid var(--txt);padding:12px 22px;white-space:nowrap;transition:all .25s var(--e1);flex-shrink:0}

.catshop-strip .viewall:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}

.pgrid-wrap{position:relative}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);opacity:0;transition:opacity .45s var(--e1)}

.pgrid.on{opacity:1}

.pgrid.hide{display:none}

.pcard{border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;background:var(--bone);transition:background .3s}

.pcard:nth-child(3n){border-right:0}

.pcard:nth-child(n+4){border-bottom:0}

.pcard:hover{background:var(--bone-2)}

.pcard .pimg{position:relative;aspect-ratio:5/4;overflow:hidden;background:var(--bone-2)}

.pcard .pimg img{position:absolute;inset:0;transition:opacity .4s var(--e1),transform 1.1s var(--e1)}

.pcard .pimg img.alt{opacity:0}

.pcard:hover .pimg img.main{opacity:0}

.pcard:hover .pimg img.alt{opacity:1}

.pcard:hover .pimg img{transform:scale(1.05)}

.pcard .pimg .flag{position:absolute;top:16px;left:16px;font-family:var(--mono);font-size:14px;letter-spacing:.03em;text-transform:uppercase;background:var(--ink);color:var(--bone);padding:5px 10px;z-index:2}

.pcard .padd{position:absolute;left:0;right:0;bottom:0;background:var(--ink);color:var(--bone);font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:.04em;text-align:center;padding:14px;transform:translateY(100%);transition:transform .32s var(--e2);z-index:3}

.pcard:hover .padd{transform:translateY(0)}

.pcard .pbody{padding:20px 24px 26px;display:flex;flex-direction:column;gap:6px}

.pcard .pname{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.2}

.pcard .pmeta{font-family:var(--mono);font-size:14px;color:var(--txt-2)}

.pcard .pprice{font-family:var(--mono);font-size:16px;font-weight:600;margin-top:4px}

.pcard .pprice s{color:var(--faint);font-weight:400;margin-right:8px}


/* ════════════ WIDE PLATE — parallax atmosphere ════════════ */
.plate{position:relative;overflow:hidden;background:var(--ink)}

.plate-img{height:clamp(440px,88vh,940px);overflow:hidden}

.plate-img img{height:126%;top:-13%;position:relative;will-change:transform;filter:brightness(.7)}

.plate-cap{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(40px,6vh,68px);z-index:2;color:var(--bone);display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end}

.plate-cap h2{grid-column:1/9;font-weight:800;letter-spacing:-.03em;line-height:.94;font-size:clamp(32px,6vw,88px)}

.plate-cap .mr{grid-column:10/13;font-family:var(--mono);font-size:14px;text-align:right;color:#CFC7B6;line-height:1.7}


/* ════════════ CRAFT — editorial pair (asymmetric on purpose) ════════════ */
.craft{border-top:1px solid var(--line)}

.craft-row{display:grid;grid-template-columns:repeat(12,1fr)}

.craft-row .ph{overflow:hidden;background:var(--bone-2);min-height:clamp(400px,62vh,680px)}

.craft-row .ph img{transform:scale(1.05);will-change:transform}

.craft-row .tx{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,88px) var(--pad)}

.craft-row .tx h3{font-size:clamp(26px,3.4vw,48px);font-weight:800;letter-spacing:-.03em;line-height:1.02}

.craft-row .tx p{font-size:15.5px;color:var(--txt-2);margin-top:20px;max-width:44ch;line-height:1.65}

.craft-row .tx .li{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:14px}

.craft-row .tx .li:first-of-type{margin-top:30px}

.craft-row .tx .li b{font-weight:600}
.craft-row .tx .li span{color:var(--txt-2)}

.craft-row.a .ph{grid-column:1/7}
.craft-row.a .tx{grid-column:7/13}

.craft-row.b .tx{grid-column:1/6}
.craft-row.b .ph{grid-column:6/13}


/* ════════════ REVIEWS — the wearing-in wall (photo-led, shoppable) ════════════
   A full-height leather photograph on the left changes with the review.
   On the right: one review at a time, tied to the exact product it's about,
   with a thumbnail + price + shop link. Below, a filmstrip of the reviewed
   products doubles as the navigation.                                          */
.wear{background:var(--ink);color:var(--bone);border-top:1px solid var(--line-dk)}

.wear-top{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;padding:clamp(56px,7vw,96px) var(--pad) clamp(32px,4vw,54px)}

.wear-top h2{font-size:clamp(30px,4.4vw,62px);font-weight:800;letter-spacing:-.03em;line-height:.98;max-width:16ch}

.wear-top .score{font-family:var(--mono);font-size:14px;color:#B7AE9B;text-align:right;line-height:1.8}

.wear-top .score b{color:var(--brass);font-size:22px;display:block}

.wear-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;border-top:1px solid var(--line-dk)}

/* photo side — images cross-fade with the active review */
.wear-photo{position:relative;overflow:hidden;min-height:clamp(440px,62vh,720px);background:#0f0c0a}

.wear-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1s var(--e1),transform 7s linear}

.wear-photo img.on{opacity:1;transform:scale(1)}

.wear-photo .tagq{position:absolute;left:26px;bottom:26px;z-index:2;font-family:var(--mono);font-size:14px;letter-spacing:.035em;color:var(--bone);background:rgba(0,0,0,.6);backdrop-filter:blur(6px);padding:9px 14px;text-transform:uppercase}

.wear-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,12,10,.5),transparent 45%);z-index:1;pointer-events:none}

/* review side */
.wear-read{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,4.5vw,80px) var(--pad);border-left:1px solid var(--line-dk);position:relative}

.wear-q{position:relative}

.wear-item{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s var(--e1);display:flex;flex-direction:column;justify-content:center}

.wear-item.on{position:relative;opacity:1;visibility:visible}

.wear-item .stars{font-family:var(--mono);color:var(--brass);letter-spacing:.3em;font-size:15px;margin-bottom:24px}

.wear-item blockquote{font-size:clamp(21px,2.5vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.2}

.wear-item blockquote span{color:var(--oxblood-lt)}

.wear-item .who{font-family:var(--mono);font-size:14px;color:#B7AE9B;margin-top:26px}

.wear-item .who b{color:var(--bone);font-weight:600}

.wear-item .who em{font-style:normal;color:var(--brass)}

/* the product the review is about — shoppable */
.wear-prod{display:flex;align-items:center;gap:16px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line-dk)}

.wear-prod .pth{width:60px;height:60px;flex-shrink:0;overflow:hidden;background:var(--ink-soft)}

.wear-prod .pth img{width:100%;height:100%;object-fit:cover}

.wear-prod .pd{line-height:1.4}

.wear-prod .pd .nm{font-weight:600;font-size:15px}

.wear-prod .pd .pr{font-family:var(--mono);font-size:14px;color:#B7AE9B;margin-top:2px}

.wear-prod .pd .pr s{color:#6f6656;margin-right:8px}

.wear-prod .shop{margin-left:auto;font-family:var(--mono);font-size:14px;font-weight:600;color:var(--bone);border-bottom:1.5px solid var(--oxblood-lt);padding-bottom:3px;transition:border-color .25s}

.wear-prod .shop:hover{border-color:var(--bone)}

/* filmstrip navigation */
.wear-strip{display:flex;gap:0;border-top:1px solid var(--line-dk)}

.wear-strip button{flex:1;background:none;border:0;border-left:1px solid var(--line-dk);padding:18px var(--pad);text-align:left;cursor:pointer;transition:background .3s;display:flex;align-items:center;gap:14px;position:relative}

.wear-strip button:first-child{border-left:0}

.wear-strip button:hover{background:rgba(255,255,255,.03)}

.wear-strip button .wn{font-family:var(--mono);font-size:14px;color:var(--faint);flex-shrink:0}

.wear-strip button .wt{font-size:14px;color:#8a8171;font-weight:600;transition:color .3s;line-height:1.3}

.wear-strip button.on .wt{color:var(--bone)}

.wear-strip button.on .wn{color:var(--brass)}

.wear-strip button .prog{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--oxblood-lt)}

.wear-strip button.on .prog{animation:barFill 6s linear forwards}

.wear.pause .wear-strip button.on .prog{animation-play-state:paused}


/* ════════════ NEWSLETTER — editorial split ════════════ */
.news{background:var(--bone)}

.news-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-top:1px solid var(--line)}

.news-photo{position:relative;overflow:hidden;min-height:clamp(360px,50vh,560px);background:var(--bone-2)}

.news-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);will-change:transform}

.news-photo .news-stamp{position:absolute;left:24px;bottom:24px;font-size:14px;letter-spacing:.035em;color:var(--bone);background:rgba(0,0,0,.55);backdrop-filter:blur(6px);padding:9px 14px;text-transform:uppercase}

.news-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,5vw,92px) var(--pad);background:var(--ink);color:var(--bone)}

.news-no{font-size:14px;letter-spacing:.03em;color:var(--brass-ink);text-transform:uppercase;margin-bottom:24px}

.news-body h2{font-size:clamp(28px,3.6vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1;max-width:16ch}

.news-body p{font-size:15px;color:#CFC7B6;margin-top:22px;max-width:46ch;line-height:1.65}

.news-form{display:flex;border-bottom:2px solid var(--bone);margin-top:34px;max-width:460px}

.news-form input{flex:1;background:transparent;border:0;outline:0;color:var(--bone);font-family:var(--body);font-size:16px;padding:14px 0}

.news-form input::placeholder{color:#8C8474}

.news-form button{background:transparent;border:0;color:var(--bone);font-family:var(--mono);font-size:14px;font-weight:600;padding:0 4px 0 18px;letter-spacing:.02em;white-space:nowrap}

.news-form button:hover{color:var(--brass-ink)}

.news-fine{font-size:14px;color:#8C8474;margin-top:16px}


/* ════════════ FOOTER ════════════ */
footer{background:#0E0B09;color:#A79E8C;border-top:1px solid var(--oxblood)}

/* contact block */
.foot .fcontact{margin-top:26px;display:flex;flex-direction:column;gap:9px}

/* payment card logos */
.footbot .pay{display:flex;gap:10px;align-items:center}


/* reveal util */
.rv{opacity:0;transform:translateY(26px);transition:opacity .85s var(--e1),transform .85s var(--e1)}

.rv.in{opacity:1;transform:none}

.rv.d1{transition-delay:.08s}
.rv.d2{transition-delay:.16s}
.rv.d3{transition-delay:.24s}


/* ─────────── RESPONSIVE ─────────── */
@media(max-width:1080px){
  .spec{grid-template-columns:1fr 1fr}
  .spec .cell:nth-child(3){border-left:0}
  .spec .cell:nth-child(1),.spec .cell:nth-child(2){border-bottom:1px solid var(--line-dk)}
  .range-grid{grid-template-columns:repeat(2,1fr)}
  .catshop-head{align-items:flex-start}
  .catshop-head .lead{text-align:left}
  .catbar button .cc{display:none}
  .catshop-strip{flex-direction:column;align-items:flex-start;gap:14px}
  .catshop-strip .viewall{align-self:stretch;text-align:center}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .pcard:nth-child(3n){border-right:1px solid var(--line)}
  .pcard:nth-child(2n){border-right:0}
  .pcard:nth-child(n+4){border-bottom:1px solid var(--line)}
  .pcard:nth-child(n+5){border-bottom:0}
  .wear-grid{grid-template-columns:1fr}
  .wear-photo{min-height:clamp(340px,44vh,480px)}
  .wear-read{border-left:0;border-top:1px solid var(--line-dk)}
  .news-grid{grid-template-columns:1fr}
  .news-photo{min-height:300px;order:-1}
  .craft-row.a .ph,.craft-row.a .tx,.craft-row.b .ph,.craft-row.b .tx{grid-column:1/13}
  .craft-row.b .tx{order:2}
}

@media(max-width:760px){
  .nav-links{display:none}.burger{display:block}
  .strip-in{font-size:14px}
  .strip-in .lt a:nth-child(2){display:none}
  .strip-in .rt .soc{gap:0}
  .strip-in .rt .soc span,.strip-in .rt .soc{font-size:0}
  .strip-in .rt .soc svg{width:15px;height:15px}
  .hero-cord{display:none}
  .panel{height:auto;min-height:0;position:relative;top:0}
  .panel-in{grid-template-columns:1fr}
  .p-img{min-height:340px}
  .range-grid{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr}
  .pcard{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .pcard:last-child{border-bottom:0!important}
  .pcard .pimg{aspect-ratio:3/2}
  .shead h2{grid-column:1/13}.shead .idx{grid-column:1/13;text-align:left}
  .plate-cap h2{grid-column:1/13}.plate-cap .mr{display:none}
  .wear-strip{flex-wrap:wrap}
  .wear-strip button{flex:1 1 50%;border-top:1px solid var(--line-dk)}
  .wear-strip button:nth-child(-n+2){border-top:0}
  .foot .fb{grid-column:1/13}.fcol{grid-column:span 6!important}
  .hero-dots{display:none}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;transition-duration:.01s!important}
  .rv{opacity:1;transform:none}
  .hero-h1 .ln em{transform:none}
  .hero-slide .hero-sub p,.hero-slide .hero-actions{opacity:1;transform:none}
}
/* hover-reveal add-to-cart on homepage category cards */
.catshop .pcard{display:flex;flex-direction:column;background:var(--bone);border:1px solid var(--line);transition:border-color .25s}
.catshop .pcard:hover{border-color:var(--txt)}
.catshop .pcard .pcard-link{display:flex;flex-direction:column;flex:1}
.catshop .pcard .pimg{position:relative;overflow:hidden}
.catshop .pcard .quick-add{position:absolute;left:10px;right:10px;bottom:10px;background:var(--ink);color:#fff;border:0;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:13px;cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity .28s var(--e2),transform .28s var(--e2),background .2s;z-index:3}
.catshop .pcard:hover .quick-add,
.catshop .pcard .quick-add:focus-visible{opacity:1;transform:translateY(0)}
.catshop .pcard .quick-add:hover{background:var(--oxblood)}
.catshop .pcard .quick-add.is-loading,
.catshop .pcard .quick-add.is-done{color:transparent}
/* touch devices have no hover — keep it visible there */
@media(hover:none){.catshop .pcard .quick-add{opacity:1;transform:none}}

/* stack panel add-to-cart button state */
.stack .p-buy .add.is-loading{color:transparent;position:relative}
.stack .p-buy .add.is-done{color:transparent;position:relative}

/* Hero sits on ink — everything in it is white, accent carries emphasis.
   Selectors verified against template-parts/home/hero.php. */
.hero-h1{color:#fff}
.hero-h1 .accent{color:var(--oxblood-lt)}
.hero-sub{color:#fff;opacity:.82}
.hero-kick{color:var(--oxblood-lt)}
.hero-kick .bar{background:var(--oxblood-lt)}
