/* =====================================================================
   Holistix — "Our Specialties" presentation layouts
   Built on the mafaza design tokens (var(--accent), --line, --bg-2,
   --display, --serif, --muted, --ease). Layouts: grid · accordion ·
   reveal-list · slider · marquee.  Used via data-spec="..." containers.
   ===================================================================== */

/* ---------- GRID ---------- */
.hx-sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.hx-scard{display:block;background:var(--bg-2);border:1px solid var(--line);overflow:hidden;transition:transform .55s var(--ease),border-color .55s var(--ease)}
.hx-scard:hover{transform:translateY(-6px);border-color:var(--line-strong)}
.hx-scard__img{aspect-ratio:4/3;overflow:hidden}
.hx-scard__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(30%) brightness(.85);transition:transform 1s var(--ease),filter .7s}
.hx-scard:hover .hx-scard__img img{transform:scale(1.06);filter:grayscale(0) brightness(1)}
.hx-scard__b{padding:26px 26px 30px}
.hx-scard__b .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-scard__b h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.6vw,26px);margin:8px 0 10px}
.hx-scard__b p{color:var(--muted);font-size:14px;line-height:1.6}
.hx-scard__b .more{display:inline-block;margin-top:16px;font-family:var(--display);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
@media(max-width:980px){.hx-sgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hx-sgrid{grid-template-columns:1fr}}

/* ---------- ACCORDION (expanding panels) ---------- */
.hx-sacc{display:flex;gap:6px;height:clamp(420px,46vw,560px)}
.hx-sacc__p{position:relative;flex:1;overflow:hidden;cursor:pointer;transition:flex .7s var(--ease)}
.hx-sacc__p.active{flex:4}
.hx-sacc__p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(50%) brightness(.5);transition:filter .7s,transform 1.1s var(--ease)}
.hx-sacc__p.active img{filter:grayscale(0) brightness(.85)}
.hx-sacc__p::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.92),transparent 55%)}
.hx-sacc__lab{position:absolute;left:0;bottom:0;padding:26px 24px;z-index:2;width:100%}
.hx-sacc__lab .v{writing-mode:vertical-rl;position:absolute;right:18px;bottom:26px;font-family:var(--display);font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);transition:opacity .4s}
.hx-sacc__p.active .v{opacity:0}
.hx-sacc__lab h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,28px);white-space:nowrap}
.hx-sacc__lab p{color:var(--muted);font-size:14px;max-height:0;overflow:hidden;opacity:0;transition:.6s var(--ease);margin-top:0}
.hx-sacc__p.active p{max-height:140px;opacity:1;margin-top:10px}
@media(max-width:760px){.hx-sacc{flex-direction:column;height:auto}.hx-sacc__p{height:120px}.hx-sacc__p.active{height:300px}}

/* ---------- REVEAL LIST (hover changes preview) ---------- */
.hx-slist{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.hx-slist__items{display:flex;flex-direction:column}
.hx-slist__row{display:flex;align-items:center;gap:18px;padding:22px 6px;border-bottom:1px solid var(--line);cursor:pointer;transition:padding .4s var(--ease)}
.hx-slist__row .n{font-family:var(--serif);font-style:italic;color:var(--accent);opacity:.55;font-size:18px}
.hx-slist__row h3{font-family:var(--display);font-weight:200;font-size:clamp(22px,2.4vw,38px);flex:1;transition:color .4s}
.hx-slist__row .go{opacity:0;color:var(--accent);transform:translateX(-8px);transition:.4s}
.hx-slist__row.active{padding-left:20px}
.hx-slist__row.active h3{color:var(--accent)}
.hx-slist__row.active .n{opacity:1}
.hx-slist__row.active .go{opacity:1;transform:none}
.hx-slist__preview{position:relative;height:clamp(360px,42vw,540px);overflow:hidden;background:var(--bg-2)}
.hx-slist__preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s var(--ease),transform 7s linear}
.hx-slist__preview img.active{opacity:1;transform:scale(1.06)}
@media(max-width:860px){.hx-slist{grid-template-columns:1fr}.hx-slist__preview{height:300px;order:-1}}

/* ---------- SLIDER (one at a time) ---------- */
.hx-sslider__view{overflow:hidden}
.hx-sslider__track{display:flex;transition:transform .7s var(--ease)}
.hx-sslider__item{flex:0 0 100%;display:grid;grid-template-columns:1.2fr 1fr;background:var(--bg-2);border:1px solid var(--line)}
.hx-sslider__item .pic{position:relative;min-height:clamp(360px,40vw,520px);overflow:hidden}
.hx-sslider__item .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hx-sslider__item .info{padding:clamp(34px,4vw,60px);display:flex;flex-direction:column;justify-content:center}
.hx-sslider__item .info .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-sslider__item .info h3{font-family:var(--display);font-weight:200;font-size:clamp(28px,3vw,46px);margin:8px 0 14px}
.hx-sslider__item .info p{color:var(--muted);font-size:16px;margin-bottom:24px;line-height:1.65}
.hx-sslider__nav{display:flex;align-items:center;gap:20px;margin-top:30px;justify-content:flex-end}
.hx-sslider__nav .c{font-family:var(--serif);color:var(--muted)}
.hx-sslider__nav .c b{color:var(--accent);font-size:24px}
.hx-sslider__nav button{width:52px;height:52px;border:1px solid var(--line-strong);background:transparent;color:var(--accent);font-size:18px;cursor:pointer;transition:.4s}
.hx-sslider__nav button:hover{background:var(--accent);color:#111;border-color:var(--accent)}
@media(max-width:860px){.hx-sslider__item{grid-template-columns:1fr}.hx-sslider__item .pic{min-height:300px}}

/* ---------- MARQUEE (auto-scrolling cards) ---------- */
.hx-smarquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.hx-smarquee__track{display:flex;gap:20px;width:max-content;animation:hxscroll 36s linear infinite}
.hx-smarquee:hover .hx-smarquee__track{animation-play-state:paused}
@keyframes hxscroll{to{transform:translateX(-50%)}}
.hx-smcard{flex:0 0 clamp(260px,26vw,340px);position:relative;height:clamp(340px,34vw,440px);overflow:hidden;display:flex;align-items:flex-end}
.hx-smcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(35%) brightness(.7);transition:transform 1s var(--ease),filter .7s}
.hx-smcard:hover img{transform:scale(1.06);filter:grayscale(0) brightness(.85)}
.hx-smcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.92),transparent 60%)}
.hx-smcard__b{position:relative;z-index:2;padding:26px 24px}
.hx-smcard__b .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-smcard__b h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px);margin-top:6px}

/* ---------- FLIP CARDS ---------- */
.hx-sflip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.hx-sflipcard{perspective:1200px;height:clamp(320px,30vw,390px);cursor:pointer}
.hx-sflipcard__in{position:relative;width:100%;height:100%;transition:transform .8s var(--ease);transform-style:preserve-3d}
.hx-sflipcard:hover .hx-sflipcard__in{transform:rotateY(180deg)}
.hx-sflipcard__f,.hx-sflipcard__bk{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border:1px solid var(--line)}
.hx-sflipcard__f img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.8)}
.hx-sflipcard__f::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.92),transparent 55%)}
.hx-sflipcard__f .lab{position:absolute;left:0;bottom:0;z-index:2;padding:24px;width:100%}
.hx-sflipcard__f .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-sflipcard__f .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px);margin-top:6px}
.hx-sflipcard__bk{background:var(--bg-2);transform:rotateY(180deg);padding:30px;display:flex;flex-direction:column;justify-content:center}
.hx-sflipcard__bk h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px);color:var(--accent);margin-bottom:12px}
.hx-sflipcard__bk p{color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:18px}
.hx-sflipcard__bk .more{font-family:var(--display);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
@media(max-width:980px){.hx-sflip{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hx-sflip{grid-template-columns:1fr}}

/* ---------- TABS ---------- */
.hx-stabs{display:grid;grid-template-columns:.85fr 2fr;border:1px solid var(--line)}
.hx-stabs__nav{display:flex;flex-direction:column;border-right:1px solid var(--line)}
.hx-stabs__nav button{text-align:left;padding:clamp(18px,1.8vw,26px) clamp(20px,2vw,30px);border:0;border-bottom:1px solid var(--line);
  font-family:var(--display);font-weight:200;font-size:clamp(16px,1.4vw,22px);color:var(--muted);background:transparent;cursor:pointer;transition:.4s;display:flex;gap:14px;align-items:center}
.hx-stabs__nav button:last-child{border-bottom:0}
.hx-stabs__nav button .n{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:14px}
.hx-stabs__nav button.active{color:var(--accent);background:var(--bg-2)}
.hx-stabs__panel{position:relative;min-height:clamp(380px,40vw,520px)}
.hx-stabs__pane{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr 1fr;opacity:0;visibility:hidden;transition:opacity .5s var(--ease)}
.hx-stabs__pane.active{opacity:1;visibility:visible}
.hx-stabs__pane .pic{position:relative;overflow:hidden}
.hx-stabs__pane .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hx-stabs__pane .info{padding:clamp(30px,3.5vw,50px);display:flex;flex-direction:column;justify-content:center}
.hx-stabs__pane .info .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-stabs__pane .info h3{font-family:var(--display);font-weight:200;font-size:clamp(24px,2.4vw,38px);margin:8px 0 14px}
.hx-stabs__pane .info p{color:var(--muted);font-size:15px;line-height:1.65;margin-bottom:22px}
@media(max-width:860px){.hx-stabs{grid-template-columns:1fr}.hx-stabs__nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}
.hx-stabs__nav button{border-bottom:0;border-right:1px solid var(--line);white-space:nowrap}.hx-stabs__pane{grid-template-columns:1fr}.hx-stabs__pane .pic{min-height:240px}}

/* ---------- BENTO MOSAIC ---------- */
.hx-sbento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(135px,14vw,190px);gap:14px}
.hx-sbento a{position:relative;overflow:hidden;display:block}
.hx-sbento a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.78);transition:transform 1s var(--ease),filter .7s}
.hx-sbento a:hover img{transform:scale(1.06);filter:grayscale(0) brightness(.9)}
.hx-sbento a::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-sbento .lab{position:absolute;left:0;bottom:0;z-index:2;padding:22px}
.hx-sbento .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-sbento .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(18px,1.6vw,24px);margin-top:5px}
.hx-sbento .b-l{grid-column:span 2;grid-row:span 2}
.hx-sbento .b-w{grid-column:span 2}
@media(max-width:760px){.hx-sbento{grid-template-columns:repeat(2,1fr)}.hx-sbento .b-l,.hx-sbento .b-w{grid-column:span 2}}

/* ---------- HOVER-FILL ROWS ---------- */
.hx-srows{border-top:1px solid var(--line)}
.hx-srow{position:relative;display:flex;align-items:center;gap:24px;padding:clamp(22px,2.4vw,36px) clamp(14px,2vw,28px);border-bottom:1px solid var(--line);overflow:hidden;cursor:pointer}
.hx-srow__bg{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .6s var(--ease)}
.hx-srow__bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.38) grayscale(.2)}
.hx-srow:hover .hx-srow__bg{opacity:1}
.hx-srow>*{position:relative;z-index:1}
.hx-srow .n{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:18px;width:42px}
.hx-srow h3{font-family:var(--display);font-weight:200;font-size:clamp(22px,2.6vw,42px);flex:1;transition:padding .4s var(--ease),color .4s}
.hx-srow .d{color:var(--muted);font-size:14px;max-width:34ch;text-align:right;transition:color .4s}
.hx-srow .go{color:var(--accent);font-size:20px}
.hx-srow:hover h3{padding-left:12px;color:#fff}
.hx-srow:hover .d{color:#cfcabf}
@media(max-width:760px){.hx-srow .d{display:none}}

/* ---------- CARD STACK ---------- */
.hx-sstack{position:relative;height:clamp(420px,46vw,560px);max-width:560px;margin:0 auto}
.hx-sstackcard{position:absolute;inset:0;border:1px solid var(--line);overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.55);
  transition:transform .6s var(--ease),opacity .6s var(--ease);cursor:pointer}
.hx-sstackcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hx-sstackcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.92),transparent 55%)}
.hx-sstackcard .c{position:absolute;left:0;bottom:0;z-index:2;padding:32px}
.hx-sstackcard .c .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-sstackcard .c h3{font-family:var(--display);font-weight:200;font-size:clamp(26px,2.6vw,38px);margin:8px 0 8px}
.hx-sstackcard .c p{color:#d7d2c8;font-size:14px;max-width:360px}
.hx-sstack__nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:30px}
.hx-sstack__nav button{width:52px;height:52px;border:1px solid var(--line-strong);background:transparent;color:var(--accent);font-size:18px;cursor:pointer;transition:.4s}
.hx-sstack__nav button:hover{background:var(--accent);color:#111;border-color:var(--accent)}
.hx-sstack__nav .c{font-family:var(--serif);color:var(--muted)}
.hx-sstack__nav .c b{color:var(--accent);font-size:22px}

/* ===== MORE LAYOUTS (set 3) ===== */

/* COVERFLOW */
.hx-scover{position:relative;height:clamp(380px,44vw,520px);perspective:1600px;overflow:hidden}
.hx-scover__stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d}
.hx-scover__card{position:absolute;width:clamp(250px,30vw,420px);height:clamp(330px,38vw,460px);overflow:hidden;border:1px solid var(--line);
  transition:transform .6s var(--ease),opacity .6s,filter .6s;cursor:pointer}
.hx-scover__card img{width:100%;height:100%;object-fit:cover}
.hx-scover__card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.92),transparent 55%)}
.hx-scover__card .c{position:absolute;left:0;bottom:0;z-index:2;padding:24px}
.hx-scover__card .c .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-scover__card .c h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px);margin-top:6px}
.hx-scover__nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
.hx-scover__nav button{width:50px;height:50px;border:1px solid var(--line-strong);background:transparent;color:var(--accent);font-size:18px;cursor:pointer;transition:.4s}
.hx-scover__nav button:hover{background:var(--accent);color:#111;border-color:var(--accent)}
.hx-scover__nav .c{font-family:var(--serif);color:var(--muted)}.hx-scover__nav .c b{color:var(--accent);font-size:22px}

/* ORBIT (circular dial) */
.hx-sorbit{position:relative;display:grid;place-items:center;min-height:clamp(480px,54vw,660px)}
.hx-sorbit__ring{position:relative;width:min(82vw,580px);height:min(82vw,580px);border-radius:50%}
.hx-sorbit__ring::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(200,178,138,.28);animation:hxspin 64s linear infinite}
@keyframes hxspin{to{transform:rotate(360deg)}}
.hx-sorbit__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46%;height:46%;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;text-align:center;box-shadow:0 0 0 1px var(--line),0 30px 70px rgba(0,0,0,.6)}
.hx-sorbit__center img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease)}
.hx-sorbit__center img.active{opacity:1}
.hx-sorbit__center::after{content:"";position:absolute;inset:0;background:rgba(17,17,17,.55)}
.hx-sorbit__lab{position:relative;z-index:2;padding:0 14px}
.hx-sorbit__lab .code{font-family:var(--display);font-size:10px;letter-spacing:.3em;color:var(--accent)}
.hx-sorbit__lab h3{font-family:var(--display);font-weight:200;font-size:clamp(18px,2vw,28px);color:#fff;margin-top:4px}
.hx-sorbit__node{position:absolute;left:50%;top:50%;width:128px;margin:-22px 0 0 -64px;z-index:4}
.hx-sorbit__node button{width:100%;background:rgba(20,20,20,.85);border:1px solid var(--line);color:var(--text);
  font-family:var(--display);font-size:12px;letter-spacing:.06em;padding:12px 8px;cursor:pointer;transition:.4s}
.hx-sorbit__node button:hover,.hx-sorbit__node.active button{background:var(--accent);border-color:var(--accent);color:#111}
@media(max-width:560px){.hx-sorbit__node{width:104px;margin-left:-52px}}

/* SPLIT (sticky aside + scrolling cards) */
.hx-ssplit{display:grid;grid-template-columns:.8fr 1.5fr;gap:clamp(30px,4vw,64px);align-items:start}
.hx-ssplit__aside{position:sticky;top:120px}
.hx-ssplit__aside .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-ssplit__aside h3{font-family:var(--display);font-weight:200;font-size:clamp(26px,3vw,44px);margin:10px 0 14px}
.hx-ssplit__aside p{color:var(--muted);font-size:15px;max-width:34ch}
.hx-ssplit__list{display:flex;flex-direction:column;gap:clamp(16px,2vw,26px)}
.hx-ssplit__item{display:grid;grid-template-columns:1fr 1fr;background:var(--bg-2);border:1px solid var(--line);overflow:hidden;transition:.5s var(--ease)}
.hx-ssplit__item:hover{border-color:var(--line-strong)}
.hx-ssplit__item .pic{position:relative;min-height:200px;overflow:hidden}
.hx-ssplit__item .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.hx-ssplit__item:hover .pic img{transform:scale(1.05)}
.hx-ssplit__item .b{padding:28px}
.hx-ssplit__item .b .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-ssplit__item .b h4{font-family:var(--display);font-weight:200;font-size:clamp(19px,1.6vw,25px);margin:6px 0 10px}
.hx-ssplit__item .b p{color:var(--muted);font-size:14px}
@media(max-width:860px){.hx-ssplit{grid-template-columns:1fr}.hx-ssplit__aside{position:static}.hx-ssplit__item{grid-template-columns:1fr}.hx-ssplit__item .pic{min-height:220px}}

/* HEX (honeycomb) */
.hx-shex{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(10px,1.4vw,18px)}
.hx-shexcell{position:relative;width:clamp(180px,21vw,250px);aspect-ratio:1/1.12;overflow:hidden;cursor:pointer;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transition:transform .5s var(--ease)}
.hx-shexcell:hover{transform:translateY(-6px)}
.hx-shexcell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.7);transition:.6s}
.hx-shexcell:hover img{filter:grayscale(0) brightness(.85)}
.hx-shexcell::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.85),transparent 60%)}
.hx-shexcell .lab{position:absolute;left:0;right:0;bottom:18%;z-index:2;text-align:center;padding:0 10px}
.hx-shexcell .lab .code{font-family:var(--display);font-size:10px;letter-spacing:.28em;color:var(--accent)}
.hx-shexcell .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(15px,1.4vw,20px);margin-top:3px}

/* TIMELINE (vertical) */
.hx-stline{position:relative;max-width:940px;margin:0 auto}
.hx-stline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line);transform:translateX(-50%)}
.hx-stitem{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);margin-bottom:clamp(30px,4vw,56px);align-items:center;position:relative}
.hx-stitem::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:13px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 0 4px var(--bg)}
.hx-stitem .pic{overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10}
.hx-stitem .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.hx-stitem:hover .pic img{transform:scale(1.05)}
.hx-stitem .b .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-stitem .b h3{font-family:var(--display);font-weight:200;font-size:clamp(22px,2.2vw,32px);margin:8px 0 10px}
.hx-stitem .b p{color:var(--muted);font-size:14.5px}
.hx-stitem:nth-child(even) .pic{order:2}
.hx-stitem:nth-child(even) .b{text-align:right}
@media(max-width:720px){.hx-stline::before{left:18px}.hx-stitem{grid-template-columns:1fr;gap:14px;padding-left:46px}.hx-stitem::after{left:18px}.hx-stitem .pic,.hx-stitem:nth-child(even) .pic{order:0}.hx-stitem:nth-child(even) .b{text-align:left}}

/* SPOTLIGHT GRID (tight dark mosaic, hover pops) */
.hx-sspot{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
.hx-sspot a{position:relative;overflow:hidden;background:var(--bg);min-height:clamp(180px,18vw,240px)}
.hx-sspot a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.7) brightness(.4);transition:filter .5s,transform 1s var(--ease)}
.hx-sspot a:hover img{filter:grayscale(0) brightness(.95);transform:scale(1.05)}
.hx-sspot .lab{position:absolute;left:0;bottom:0;z-index:2;padding:22px;opacity:.6;transition:.4s}
.hx-sspot a:hover .lab{opacity:1}
.hx-sspot .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-sspot .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(18px,1.6vw,24px);margin-top:5px}
@media(max-width:640px){.hx-sspot{grid-template-columns:1fr 1fr}}

/* INDEX (typographic, no images) */
.hx-sindexl{border-top:1px solid var(--line)}
.hx-sindexl a{display:grid;grid-template-columns:90px 1.3fr 2fr 40px;gap:clamp(14px,2vw,30px);align-items:baseline;
  padding:clamp(22px,2.6vw,38px) 8px;border-bottom:1px solid var(--line);transition:.4s var(--ease)}
.hx-sindexl a:hover{background:var(--bg-2);padding-left:18px}
.hx-sindexl .code{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:clamp(20px,2vw,30px)}
.hx-sindexl h3{font-family:var(--display);font-weight:200;font-size:clamp(22px,2.4vw,38px)}
.hx-sindexl p{color:var(--muted);font-size:14px}
.hx-sindexl .go{color:var(--accent);font-size:20px;text-align:right}
@media(max-width:760px){.hx-sindexl a{grid-template-columns:50px 1fr 30px}.hx-sindexl p{display:none}}

/* CROSSFADE (centered auto carousel) */
.hx-sfade{position:relative;max-width:1040px;margin:0 auto;text-align:center}
.hx-sfade__stage{position:relative;height:clamp(360px,42vw,540px);overflow:hidden;border:1px solid var(--line)}
.hx-sfade__slide{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease)}
.hx-sfade__slide.active{opacity:1}
.hx-sfade__slide img{width:100%;height:100%;object-fit:cover}
.hx-sfade__slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.85),transparent 60%)}
.hx-sfade__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:40px}
.hx-sfade__cap .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-sfade__cap h3{font-family:var(--display);font-weight:200;font-size:clamp(26px,3vw,42px);margin:8px 0 8px}
.hx-sfade__cap p{color:#d7d2c8;font-size:15px;max-width:60ch;margin:0 auto}
.hx-sfade__dots{display:flex;gap:10px;justify-content:center;margin-top:26px}
.hx-sfade__dots button{width:36px;height:3px;background:var(--line-strong);border:0;cursor:pointer;transition:.4s}
.hx-sfade__dots button.active{background:var(--accent)}

/* OVERLAY (hover slide-up desc) */
.hx-sover{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px)}
.hx-sovercard{position:relative;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--line)}
.hx-sovercard img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25) brightness(.85);transition:transform 1s var(--ease)}
.hx-sovercard:hover img{transform:scale(1.06)}
.hx-sovercard__b{position:absolute;left:0;right:0;bottom:0;padding:26px;z-index:2;
  background:linear-gradient(0deg,rgba(17,17,17,.96),rgba(17,17,17,.7) 60%,transparent);
  transform:translateY(calc(100% - 86px));transition:transform .55s var(--ease)}
.hx-sovercard:hover .hx-sovercard__b{transform:translateY(0)}
.hx-sovercard__b .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-sovercard__b h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px);margin:6px 0 12px}
.hx-sovercard__b p{color:var(--muted);font-size:14px;margin-bottom:14px}
.hx-sovercard__b .more{font-family:var(--display);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
@media(max-width:980px){.hx-sover{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hx-sover{grid-template-columns:1fr}}

/* DIAGONAL (parallelogram cards) */
.hx-sdiag{display:flex;gap:clamp(8px,1vw,16px);overflow:hidden}
.hx-sdiagcard{flex:1;height:clamp(380px,42vw,520px);position:relative;overflow:hidden;cursor:pointer;
  clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);transition:flex .6s var(--ease)}
.hx-sdiagcard:hover{flex:1.6}
.hx-sdiagcard img{position:absolute;inset:-2% -12%;width:124%;height:104%;object-fit:cover;filter:grayscale(.35) brightness(.62);transition:.6s,transform 1.1s var(--ease)}
.hx-sdiagcard:hover img{filter:grayscale(0) brightness(.85)}
.hx-sdiagcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-sdiagcard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:28px 30px}
.hx-sdiagcard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-sdiagcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(18px,1.6vw,25px);margin-top:6px;white-space:nowrap}
@media(max-width:760px){.hx-sdiag{flex-direction:column}.hx-sdiagcard{clip-path:none;height:200px}.hx-sdiagcard:hover{flex:1}.hx-sdiagcard img{inset:0;width:100%;height:100%}}

/* ===== MORE LAYOUTS (set 4) ===== */
/* SCROLLER (drag/snap) */
.hx-scrl{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;cursor:grab;scrollbar-width:none}
.hx-scrl::-webkit-scrollbar{display:none}
.hx-scrl.drag{cursor:grabbing;scroll-snap-type:none}
.hx-scrlcard{flex:0 0 clamp(280px,32vw,400px);scroll-snap-align:start;position:relative;height:clamp(380px,42vw,500px);overflow:hidden;border:1px solid var(--line)}
.hx-scrlcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.72);transition:transform 1s var(--ease),filter .6s}
.hx-scrlcard:hover img{transform:scale(1.05);filter:grayscale(0) brightness(.85)}
.hx-scrlcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.92),transparent 55%)}
.hx-scrlcard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:26px}
.hx-scrlcard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-scrlcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px);margin-top:6px}

/* VMARQUEE (vertical auto-scroll) */
.hx-vmar{height:clamp(440px,50vw,600px);overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent)}
.hx-vmar__track{display:flex;flex-direction:column;gap:16px;animation:hxvscroll 22s linear infinite}
.hx-vmar:hover .hx-vmar__track{animation-play-state:paused}
@keyframes hxvscroll{to{transform:translateY(-50%)}}
.hx-vmcard{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;border:1px solid var(--line);background:var(--bg-2)}
.hx-vmcard .ph{width:130px;height:96px;overflow:hidden}
.hx-vmcard .ph img{width:100%;height:100%;object-fit:cover}
.hx-vmcard .b{padding:6px 20px 6px 0}
.hx-vmcard .b .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-vmcard .b h3{font-family:var(--display);font-weight:200;font-size:clamp(18px,1.5vw,23px);margin-top:4px}

/* MASONRY (css columns) */
.hx-mas{column-count:3;column-gap:18px}
.hx-mascard{break-inside:avoid;margin-bottom:18px;position:relative;overflow:hidden;border:1px solid var(--line)}
.hx-mascard img{width:100%;display:block;object-fit:cover;filter:grayscale(.3) brightness(.82);transition:transform 1s var(--ease),filter .6s}
.hx-mascard:hover img{transform:scale(1.05);filter:grayscale(0) brightness(1)}
.hx-mascard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.85),transparent 55%)}
.hx-mascard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:22px}
.hx-mascard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-mascard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(18px,1.6vw,24px);margin-top:5px}
@media(max-width:900px){.hx-mas{column-count:2}}@media(max-width:560px){.hx-mas{column-count:1}}

/* CIRCLES */
.hx-circ{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(20px,3vw,48px)}
.hx-circitem{text-align:center;width:clamp(150px,16vw,210px)}
.hx-circitem .ph{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid var(--line);transition:transform .5s var(--ease),border-color .5s}
.hx-circitem:hover .ph{transform:translateY(-6px);border-color:var(--accent)}
.hx-circitem .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:.6s}
.hx-circitem:hover .ph img{filter:grayscale(0)}
.hx-circitem .code{display:block;margin-top:18px;font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-circitem h3{font-family:var(--display);font-weight:200;font-size:clamp(18px,1.5vw,23px);margin-top:5px}

/* BIGNUM */
.hx-bignum{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.hx-bignumrow{display:flex;gap:24px;align-items:baseline;padding:clamp(24px,3vw,42px) clamp(16px,2vw,26px);border-bottom:1px solid var(--line)}
.hx-bignumrow:nth-child(odd){border-right:1px solid var(--line)}
.hx-bignumrow .n{font-family:var(--serif);font-size:clamp(48px,6vw,92px);color:transparent;-webkit-text-stroke:1px var(--accent);line-height:.85;transition:color .4s}
.hx-bignumrow:hover .n{color:var(--accent)}
.hx-bignumrow .t h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,27px)}
.hx-bignumrow .t p{color:var(--muted);font-size:14px;margin-top:8px}
@media(max-width:680px){.hx-bignum{grid-template-columns:1fr}.hx-bignumrow{border-right:0!important}}

/* FILMSTRIP */
.hx-film{display:flex;flex-direction:column;gap:16px}
.hx-film__stage{position:relative;height:clamp(380px,42vw,520px);overflow:hidden;border:1px solid var(--line)}
.hx-film__img{position:absolute;inset:0;opacity:0;transition:opacity .6s var(--ease)}
.hx-film__img.active{opacity:1}
.hx-film__img img{width:100%;height:100%;object-fit:cover}
.hx-film__img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.85),transparent 55%)}
.hx-film__cap{position:absolute;left:0;bottom:0;z-index:2;padding:34px}
.hx-film__cap .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-film__cap h3{font-family:var(--display);font-weight:200;font-size:clamp(24px,2.6vw,38px);margin:6px 0 6px}
.hx-film__cap p{color:#d7d2c8;font-size:14px;max-width:60ch}
.hx-film__thumbs{display:flex;gap:12px}
.hx-film__thumb{flex:1;height:76px;overflow:hidden;cursor:pointer;border:1px solid transparent;opacity:.5;transition:.4s}
.hx-film__thumb.active,.hx-film__thumb:hover{opacity:1;border-color:var(--accent)}
.hx-film__thumb img{width:100%;height:100%;object-fit:cover}

/* TILT */
.hx-tilt{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hx-tiltcard{perspective:900px}
.hx-tiltcard__in{position:relative;height:clamp(320px,30vw,380px);overflow:hidden;border:1px solid var(--line);transition:transform .2s ease-out;transform-style:preserve-3d;will-change:transform}
.hx-tiltcard__in img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.82)}
.hx-tiltcard__in::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-tiltcard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:24px;transform:translateZ(40px)}
.hx-tiltcard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-tiltcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(19px,1.6vw,25px);margin-top:5px}
@media(max-width:900px){.hx-tilt{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hx-tilt{grid-template-columns:1fr}}

/* VACCORDION (vertical expand) */
.hx-vacc{border-top:1px solid var(--line)}
.hx-vaccitem{border-bottom:1px solid var(--line)}
.hx-vacchead{display:flex;align-items:center;gap:18px;padding:clamp(20px,2.4vw,32px) 8px;cursor:pointer;transition:.4s}
.hx-vacchead .n{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:18px;width:40px}
.hx-vacchead h3{font-family:var(--display);font-weight:200;font-size:clamp(22px,2.2vw,34px);flex:1;transition:color .4s}
.hx-vacchead .pl{color:var(--accent);font-size:22px;transition:transform .4s}
.hx-vaccitem.active .hx-vacchead h3{color:var(--accent)}
.hx-vaccitem.active .hx-vacchead .pl{transform:rotate(45deg)}
.hx-vaccbody{max-height:0;overflow:hidden;transition:max-height .55s var(--ease);display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hx-vaccitem.active .hx-vaccbody{max-height:420px}
.hx-vaccbody .pic{overflow:hidden;aspect-ratio:16/10;margin:0 8px 26px}
.hx-vaccbody .pic img{width:100%;height:100%;object-fit:cover}
.hx-vaccbody .b{padding:0 8px 26px;display:flex;flex-direction:column;justify-content:center}
.hx-vaccbody .b p{color:var(--muted);font-size:15px;margin-bottom:18px}
@media(max-width:680px){.hx-vaccbody{grid-template-columns:1fr}.hx-vaccitem.active .hx-vaccbody{max-height:600px}}

/* VTABS (pills) */
.hx-vtabs{display:grid;grid-template-columns:.7fr 2fr;gap:24px}
.hx-vtabs__pills{display:flex;flex-direction:column;gap:10px}
.hx-vtabs__pills button{border:1px solid var(--line);border-radius:40px;padding:15px 24px;text-align:left;background:transparent;color:var(--muted);cursor:pointer;transition:.4s;font-family:var(--display);font-weight:200;font-size:clamp(15px,1.3vw,20px)}
.hx-vtabs__pills button.active{background:var(--accent);color:#111;border-color:var(--accent)}
.hx-vtabs__stage{position:relative;min-height:clamp(380px,40vw,520px);overflow:hidden;border:1px solid var(--line)}
.hx-vtabs__pane{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s}
.hx-vtabs__pane.active{opacity:1;visibility:visible}
.hx-vtabs__pane img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hx-vtabs__pane::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-vtabs__pane .cap{position:absolute;left:0;bottom:0;z-index:2;padding:36px}
.hx-vtabs__pane .cap .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-vtabs__pane .cap h3{font-family:var(--display);font-weight:200;font-size:clamp(26px,2.6vw,40px);margin:6px 0 8px}
.hx-vtabs__pane .cap p{color:#d7d2c8;font-size:15px;max-width:54ch}
@media(max-width:760px){.hx-vtabs{grid-template-columns:1fr}.hx-vtabs__pills{flex-direction:row;overflow-x:auto}.hx-vtabs__pills button{white-space:nowrap}}

/* ZIGZAG */
.hx-zig__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;padding:clamp(28px,4vw,54px) 0;border-bottom:1px solid var(--line)}
.hx-zig__row .pic{overflow:hidden;aspect-ratio:16/11;border:1px solid var(--line)}
.hx-zig__row .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.hx-zig__row:hover .pic img{transform:scale(1.05)}
.hx-zig__row .b .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-zig__row .b h3{font-family:var(--display);font-weight:200;font-size:clamp(26px,3vw,46px);margin:10px 0 14px}
.hx-zig__row .b p{color:var(--muted);font-size:15.5px;max-width:46ch;margin-bottom:18px}
.hx-zig__row:nth-child(even) .pic{order:2}
@media(max-width:760px){.hx-zig__row{grid-template-columns:1fr;gap:20px}.hx-zig__row:nth-child(even) .pic{order:0}}

/* DUOTONE */
.hx-duo{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hx-duocard{position:relative;overflow:hidden;aspect-ratio:1;border:1px solid var(--line)}
.hx-duocard img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.hx-duocard::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--accent),#241a06);mix-blend-mode:color;opacity:.88;transition:opacity .5s}
.hx-duocard::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(17,17,17,.85),transparent 55%)}
.hx-duocard:hover::after{opacity:0}
.hx-duocard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:24px}
.hx-duocard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:#fff}
.hx-duocard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(18px,1.6vw,24px);margin-top:5px;color:#fff}
@media(max-width:760px){.hx-duo{grid-template-columns:1fr 1fr}}

/* TYPEHOVER */
.hx-typeh{position:relative;padding:clamp(10px,2vw,30px) 0}
.hx-typeh__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hx-typeh__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease);filter:brightness(.35)}
.hx-typeh__bg img.active{opacity:1}
.hx-typeh__list{position:relative;z-index:1}
.hx-typeh__row{display:flex;align-items:center;gap:24px;padding:clamp(18px,2.2vw,30px) 8px;border-bottom:1px solid var(--line);cursor:pointer}
.hx-typeh__row .n{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:18px}
.hx-typeh__row h3{font-family:var(--display);font-weight:200;font-size:clamp(26px,4vw,64px);flex:1;color:var(--muted);transition:color .4s,padding .4s}
.hx-typeh__row:hover h3{color:#fff;padding-left:14px}
.hx-typeh__row .go{color:var(--accent);opacity:0;transition:.4s}
.hx-typeh__row:hover .go{opacity:1}

/* STAGGER */
.hx-stag{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hx-stagcard{opacity:0;transform:translateY(34px);animation:hxstag .7s var(--ease) forwards;position:relative;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--line)}
@keyframes hxstag{to{opacity:1;transform:none}}
.hx-stagcard img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.82);transition:transform 1s var(--ease),filter .6s}
.hx-stagcard:hover img{transform:scale(1.05);filter:grayscale(0)}
.hx-stagcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-stagcard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:24px}
.hx-stagcard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-stagcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(19px,1.6vw,25px);margin-top:5px}
@media(max-width:900px){.hx-stag{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hx-stag{grid-template-columns:1fr}}

/* PINBOARD */
.hx-pin{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(20px,3vw,40px);padding:20px 0}
.hx-pincard{width:clamp(190px,21vw,250px);background:var(--bg-2);border:1px solid var(--line);padding:12px 12px 20px;transform:rotate(var(--r,0deg));transition:transform .45s var(--ease),box-shadow .45s}
.hx-pincard:hover{transform:rotate(0deg) scale(1.05);box-shadow:0 24px 50px rgba(0,0,0,.5);z-index:2}
.hx-pincard .ph{aspect-ratio:1;overflow:hidden}
.hx-pincard .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2)}
.hx-pincard .cap{padding-top:14px;text-align:center}
.hx-pincard .cap .code{font-family:var(--display);font-size:10px;letter-spacing:.3em;color:var(--accent)}
.hx-pincard .cap h3{font-family:var(--serif);font-size:clamp(18px,1.6vw,22px);margin-top:4px}

/* RINGROTATE */
.hx-ring{perspective:1300px;height:clamp(380px,42vw,500px);position:relative}
.hx-ring__stage{position:absolute;inset:0;transform-style:preserve-3d;animation:hxringrot 34s linear infinite}
.hx-ring:hover .hx-ring__stage{animation-play-state:paused}
@keyframes hxringrot{from{transform:translateZ(-360px) rotateY(0)}to{transform:translateZ(-360px) rotateY(-360deg)}}
.hx-ringcard{position:absolute;left:50%;top:50%;width:230px;height:320px;margin:-160px 0 0 -115px;overflow:hidden;border:1px solid var(--line);backface-visibility:hidden}
.hx-ringcard img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.8)}
.hx-ringcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-ringcard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:20px}
.hx-ringcard .lab .code{font-family:var(--display);font-size:10px;letter-spacing:.3em;color:var(--accent)}
.hx-ringcard .lab h3{font-family:var(--display);font-weight:200;font-size:18px;margin-top:4px}

/* PEEK (carousel with peeking neighbors) */
.hx-peek{overflow:hidden}
.hx-peek__track{display:flex;gap:24px;transition:transform .6s var(--ease)}
.hx-peekcard{flex:0 0 62%;position:relative;height:clamp(360px,40vw,500px);overflow:hidden;border:1px solid var(--line);opacity:.5;transition:opacity .5s}
.hx-peekcard.active{opacity:1}
.hx-peekcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hx-peekcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-peekcard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:30px}
.hx-peekcard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-peekcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(24px,2.4vw,34px);margin:6px 0 6px}
.hx-peekcard .lab p{color:#d7d2c8;font-size:14px;max-width:46ch}
.hx-peek__nav{display:flex;gap:14px;justify-content:center;margin-top:26px}
.hx-peek__nav button{width:50px;height:50px;border:1px solid var(--line-strong);background:transparent;color:var(--accent);cursor:pointer;transition:.4s}
.hx-peek__nav button:hover{background:var(--accent);color:#111;border-color:var(--accent)}
@media(max-width:680px){.hx-peekcard{flex:0 0 86%}}

/* BANDS */
.hx-bands{border-top:1px solid var(--line)}
.hx-band{position:relative;min-height:clamp(200px,22vw,300px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.hx-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.32) grayscale(.3);transition:filter .6s,transform 1.2s var(--ease)}
.hx-band:hover img{filter:brightness(.5) grayscale(0);transform:scale(1.04)}
.hx-band__c{position:relative;z-index:2;display:flex;align-items:baseline;gap:clamp(20px,3vw,46px);padding:0 clamp(20px,5vw,80px);width:100%}
.hx-band__c .n{font-family:var(--serif);font-size:clamp(40px,5vw,80px);color:var(--accent);line-height:1}
.hx-band__c h3{font-family:var(--display);font-weight:200;font-size:clamp(22px,2.4vw,38px)}
.hx-band__c p{color:#cfcabf;font-size:14px;max-width:40ch;margin-left:auto}
@media(max-width:680px){.hx-band__c p{display:none}}

/* MINIPILLS */
.hx-mini{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.hx-minicard{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:60px;padding:10px 26px 10px 10px;transition:.4s;background:var(--bg-2)}
.hx-minicard:hover{border-color:var(--accent);transform:translateY(-3px)}
.hx-minicard .ph{width:52px;height:52px;border-radius:50%;overflow:hidden;flex:0 0 auto}
.hx-minicard .ph img{width:100%;height:100%;object-fit:cover}
.hx-minicard .code{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:15px}
.hx-minicard h3{font-family:var(--display);font-weight:200;font-size:clamp(16px,1.4vw,21px)}

/* CURSORSPOT */
.hx-cspot{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);overflow:hidden}
.hx-cspot a{position:relative;overflow:hidden;background:var(--bg);min-height:clamp(180px,18vw,240px)}
.hx-cspot a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.7) brightness(.42);transition:filter .5s}
.hx-cspot a:hover img{filter:grayscale(0) brightness(.9)}
.hx-cspot .lab{position:absolute;left:0;bottom:0;z-index:2;padding:22px}
.hx-cspot .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-cspot .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(17px,1.5vw,23px);margin-top:5px}
.hx-cspot__glow{position:absolute;width:340px;height:340px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:3;opacity:0;transition:opacity .3s;background:radial-gradient(circle,rgba(200,178,138,.22),transparent 70%);mix-blend-mode:screen}
.hx-cspot:hover .hx-cspot__glow{opacity:1}
@media(max-width:640px){.hx-cspot{grid-template-columns:1fr 1fr}}

/* FRAMED */
.hx-frame{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hx-framecard{position:relative;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--line)}
.hx-framecard img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.78);transition:transform 1s var(--ease),filter .6s}
.hx-framecard:hover img{transform:scale(1.05);filter:grayscale(0) brightness(.9)}
.hx-framecard::before{content:"";position:absolute;inset:14px;border:1px solid rgba(200,178,138,.55);z-index:2;transition:inset .5s var(--ease)}
.hx-framecard:hover::before{inset:8px}
.hx-framecard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.88),transparent 55%)}
.hx-framecard .lab{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:28px;text-align:center}
.hx-framecard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-framecard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(19px,1.6vw,25px);margin-top:6px}
@media(max-width:900px){.hx-frame{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hx-frame{grid-template-columns:1fr}}

/* ===== MORE LAYOUTS (set 5) ===== */
/* GLASS */
.hx-glass{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:clamp(24px,3vw,44px);overflow:hidden;border:1px solid var(--line)}
.hx-glass__bg{position:absolute;inset:0;z-index:0}
.hx-glass__bg img{width:100%;height:100%;object-fit:cover;filter:blur(20px) brightness(.35)}
.hx-glasscard{position:relative;z-index:1;background:rgba(28,28,28,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);padding:30px 26px;transition:.45s}
.hx-glasscard:hover{background:rgba(45,45,45,.6);transform:translateY(-6px)}
.hx-glasscard .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-glasscard h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.7vw,26px);margin:8px 0 10px}
.hx-glasscard p{color:#cfcabf;font-size:14px}
@media(max-width:900px){.hx-glass{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hx-glass{grid-template-columns:1fr}}

/* GRIDLINES (swiss) */
.hx-gl{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.hx-glcell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(26px,3vw,42px);min-height:clamp(220px,22vw,300px);display:flex;flex-direction:column;justify-content:space-between;transition:.4s}
.hx-glcell:hover{background:var(--accent)}
.hx-glcell:hover *{color:#111 !important}
.hx-glcell .code{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.hx-glcell h3{font-family:var(--display);font-weight:200;font-size:clamp(22px,2vw,30px);margin:14px 0}
.hx-glcell p{color:var(--muted);font-size:14px}
.hx-glcell .go{align-self:flex-end;color:var(--accent);font-size:20px}
@media(max-width:760px){.hx-gl{grid-template-columns:1fr 1fr}}@media(max-width:480px){.hx-gl{grid-template-columns:1fr}}

/* PORTRAIT (tall horizontal scroll) */
.hx-port{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;padding-bottom:14px;cursor:grab}
.hx-port::-webkit-scrollbar{display:none}.hx-port.drag{cursor:grabbing}
.hx-portcard{flex:0 0 clamp(220px,24vw,300px);height:clamp(440px,52vw,640px);position:relative;overflow:hidden;border:1px solid var(--line)}
.hx-portcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.72);transition:transform 1s var(--ease),filter .6s}
.hx-portcard:hover img{transform:scale(1.05);filter:grayscale(0) brightness(.85)}
.hx-portcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.92),transparent 50%)}
.hx-portcard .vc{position:absolute;top:24px;left:22px;writing-mode:vertical-rl;font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent);z-index:2}
.hx-portcard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:26px}
.hx-portcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px)}

/* OVERLAP (fanned cards) */
.hx-ovl{display:flex;justify-content:center;align-items:center;padding:36px 0;flex-wrap:wrap}
.hx-ovlcard{width:clamp(190px,19vw,250px);height:clamp(300px,32vw,380px);margin-left:clamp(-70px,-5vw,-50px);position:relative;overflow:hidden;border:2px solid var(--bg);border-radius:5px;box-shadow:0 20px 50px rgba(0,0,0,.55);transition:.45s var(--ease)}
.hx-ovlcard:first-child{margin-left:0}
.hx-ovlcard:hover{transform:translateY(-18px);z-index:6}
.hx-ovlcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25)}
.hx-ovlcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-ovlcard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:20px}
.hx-ovlcard .lab .code{font-family:var(--display);font-size:10px;letter-spacing:.3em;color:var(--accent)}
.hx-ovlcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(17px,1.5vw,22px);margin-top:4px}
@media(max-width:680px){.hx-ovlcard{margin-left:0}}

/* TICKER (type marquee) */
.hx-tick{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(20px,3vw,40px) 0}
.hx-tick__track{display:flex;gap:50px;width:max-content;animation:hxscroll 30s linear infinite;align-items:center}
.hx-tick:hover .hx-tick__track{animation-play-state:paused}
.hx-tickitem{font-family:var(--display);font-weight:200;font-size:clamp(30px,5vw,72px);color:var(--text);white-space:nowrap;display:flex;align-items:center;gap:50px;transition:color .3s}
.hx-tickitem .dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}
.hx-tickitem:hover{color:var(--accent)}

/* ICONGRID */
.hx-icon{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.hx-iconcell{background:var(--bg);padding:clamp(34px,4vw,54px) clamp(24px,2.5vw,38px);transition:.4s}
.hx-iconcell:hover{background:var(--bg-2)}
.hx-iconcell .ic{width:56px;height:56px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin-bottom:22px;transition:.4s}
.hx-iconcell:hover .ic{border-color:var(--accent)}
.hx-iconcell .ic svg{width:26px;height:26px;stroke:var(--accent);fill:none}
.hx-iconcell .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-iconcell h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.7vw,26px);margin:6px 0 10px}
.hx-iconcell p{color:var(--muted);font-size:14px}
@media(max-width:760px){.hx-icon{grid-template-columns:1fr 1fr}}@media(max-width:480px){.hx-icon{grid-template-columns:1fr}}

/* WAVE */
.hx-wave{display:flex;gap:18px;align-items:center;overflow-x:auto;scrollbar-width:none;padding:44px 0}
.hx-wave::-webkit-scrollbar{display:none}
.hx-wavecard{flex:0 0 clamp(200px,22vw,280px);height:clamp(300px,32vw,380px);position:relative;overflow:hidden;border:1px solid var(--line);transition:transform .5s var(--ease)}
.hx-wavecard:nth-child(even){transform:translateY(40px)}
.hx-wavecard:hover{transform:translateY(0) scale(1.02)}
.hx-wavecard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.78)}
.hx-wavecard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-wavecard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:22px}
.hx-wavecard .lab .code{font-family:var(--display);font-size:10px;letter-spacing:.3em;color:var(--accent)}
.hx-wavecard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(18px,1.5vw,23px);margin-top:4px}

/* HOVERSPLIT */
.hx-hs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hx-hscard{position:relative;height:clamp(320px,32vw,400px);overflow:hidden;border:1px solid var(--line);cursor:pointer}
.hx-hscard__txt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;z-index:0;background:var(--bg-2)}
.hx-hscard__txt .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-hscard__txt h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px);margin:8px 0 10px}
.hx-hscard__txt p{color:var(--muted);font-size:13.5px;max-width:32ch}
.hx-hscard__half{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;transition:transform .6s var(--ease);z-index:1}
.hx-hscard__half.l{left:0}.hx-hscard__half.r{right:0}
.hx-hscard__half img{position:absolute;top:0;height:100%;width:200%;max-width:none;object-fit:cover;filter:grayscale(.2)}
.hx-hscard__half.l img{left:0}.hx-hscard__half.r img{right:0}
.hx-hscard:hover .hx-hscard__half.l{transform:translateX(-100%)}
.hx-hscard:hover .hx-hscard__half.r{transform:translateX(100%)}
@media(max-width:900px){.hx-hs{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hx-hs{grid-template-columns:1fr}}

/* STACKEDLIST */
.hx-stk{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.hx-stkrow{display:grid;grid-template-columns:140px 1fr auto;gap:24px;align-items:center;padding:16px 8px;border-bottom:1px solid var(--line);transition:.4s}
.hx-stkrow:hover{background:var(--bg-2);padding-left:16px}
.hx-stkrow .ph{width:140px;height:92px;overflow:hidden}
.hx-stkrow .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2)}
.hx-stkrow .info .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-stkrow .info h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.9vw,28px);margin:4px 0 6px}
.hx-stkrow .info p{color:var(--muted);font-size:14px}
.hx-stkrow .go{color:var(--accent);font-size:20px}
@media(max-width:640px){.hx-stkrow{grid-template-columns:90px 1fr}.hx-stkrow .info p,.hx-stkrow .go{display:none}}

/* PANORAMA (full-height auto-pan) */
.hx-pano{overflow:hidden;border:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.hx-pano__track{display:flex;height:clamp(380px,42vw,520px);width:max-content;animation:hxscroll 50s linear infinite}
.hx-pano:hover .hx-pano__track{animation-play-state:paused}
.hx-panocell{flex:0 0 clamp(340px,42vw,560px);position:relative;overflow:hidden;border-right:1px solid var(--bg)}
.hx-panocell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.72)}
.hx-panocell::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-panocell .lab{position:absolute;left:0;bottom:0;z-index:2;padding:28px}
.hx-panocell .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-panocell .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(22px,2vw,30px);margin-top:6px}

/* CURTAIN */
.hx-curt{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hx-curtcard{position:relative;height:clamp(320px,32vw,400px);overflow:hidden;border:1px solid var(--line);cursor:pointer}
.hx-curtcard>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.2) brightness(.82)}
.hx-curtcard .lab{position:absolute;left:0;bottom:0;z-index:3;padding:24px;opacity:0;transform:translateY(12px);transition:.5s .15s}
.hx-curtcard:hover .lab{opacity:1;transform:none}
.hx-curtcard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-curtcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px);margin-top:5px}
.hx-curtpanel{position:absolute;top:0;bottom:0;width:50.5%;background:#111;z-index:2;transition:transform .6s var(--ease);display:grid;place-items:center}
.hx-curtpanel.l{left:0;border-right:1px solid var(--accent)}.hx-curtpanel.r{right:0}
.hx-curtpanel .v{writing-mode:vertical-rl;font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent);text-transform:uppercase}
.hx-curtcard:hover .hx-curtpanel.l{transform:translateX(-100%)}
.hx-curtcard:hover .hx-curtpanel.r{transform:translateX(100%)}
@media(max-width:900px){.hx-curt{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hx-curt{grid-template-columns:1fr}}

/* TIMELINEH */
.hx-tlh{display:flex;overflow-x:auto;scrollbar-width:none;padding-top:50px}
.hx-tlh::-webkit-scrollbar{display:none}
.hx-tlhitem{flex:0 0 clamp(250px,28vw,330px);position:relative;padding:0 18px;border-top:1px solid var(--line)}
.hx-tlhitem::before{content:"";position:absolute;top:-7px;left:18px;width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}
.hx-tlhitem .code{display:block;margin-top:24px;font-family:var(--serif);font-style:italic;color:var(--accent);font-size:20px}
.hx-tlhitem h3{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,26px);margin:6px 0 14px}
.hx-tlhitem .pic{aspect-ratio:16/11;overflow:hidden;border:1px solid var(--line);margin-bottom:14px}
.hx-tlhitem .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.hx-tlhitem:hover .pic img{transform:scale(1.05)}
.hx-tlhitem p{color:var(--muted);font-size:14px}

/* EDITORIAL */
.hx-ed{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:start}
.hx-ed__feature{position:sticky;top:120px}
.hx-ed__feature .pic{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);margin-bottom:18px}
.hx-ed__feature .pic img{width:100%;height:100%;object-fit:cover}
.hx-ed__feature .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-ed__feature h3{font-family:var(--display);font-weight:200;font-size:clamp(26px,2.6vw,40px);margin:6px 0 10px}
.hx-ed__feature p{color:var(--muted);font-size:15px}
.hx-ed__list a{display:grid;grid-template-columns:60px 1fr 30px;gap:18px;align-items:baseline;padding:clamp(18px,2vw,28px) 4px;border-bottom:1px solid var(--line);transition:.4s}
.hx-ed__list a:first-child{border-top:1px solid var(--line)}
.hx-ed__list a:hover{padding-left:12px}
.hx-ed__list .code{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:22px}
.hx-ed__list h4{font-family:var(--display);font-weight:200;font-size:clamp(20px,1.8vw,28px)}
.hx-ed__list p{color:var(--muted);font-size:13.5px;margin-top:6px}
.hx-ed__list .go{color:var(--accent)}
@media(max-width:860px){.hx-ed{grid-template-columns:1fr}.hx-ed__feature{position:static}}

/* COLUMNS (equal, dim siblings) */
.hx-cols{display:flex;height:clamp(420px,46vw,560px)}
.hx-col{flex:1;position:relative;overflow:hidden;border-right:1px solid var(--bg);transition:flex .5s var(--ease),filter .5s}
.hx-cols:hover .hx-col{filter:brightness(.4)}
.hx-cols .hx-col:hover{filter:brightness(1);flex:1.6}
.hx-col img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hx-col::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.85),transparent 55%)}
.hx-col .lab{position:absolute;left:0;bottom:0;z-index:2;padding:22px;width:100%}
.hx-col .lab .code{font-family:var(--display);font-size:10px;letter-spacing:.3em;color:var(--accent)}
.hx-col .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(17px,1.4vw,22px);margin-top:4px;white-space:nowrap}
@media(max-width:680px){.hx-cols{flex-direction:column;height:auto}.hx-col{height:120px}.hx-cols .hx-col:hover{flex:none;height:240px}}

/* SPOTLIGHTTEXT */
.hx-sptxt{padding:clamp(10px,2vw,24px) 0}
.hx-sptxt a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(14px,1.8vw,26px) 0;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:200;font-size:clamp(28px,5vw,72px);color:#2c2c2c;transition:color .4s,padding .4s}
.hx-sptxt a:hover{color:var(--accent);padding-left:14px}
.hx-sptxt a .code{font-size:14px;color:var(--muted);font-family:var(--serif);font-style:italic;opacity:0;transition:.4s}
.hx-sptxt a:hover .code{opacity:1}

/* MOSAIC2 */
.hx-mos2{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,15vw,200px);gap:14px}
.hx-mos2 a{position:relative;overflow:hidden;display:block}
.hx-mos2 a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.8);transition:transform 1s var(--ease),filter .6s}
.hx-mos2 a:hover img{transform:scale(1.06);filter:grayscale(0) brightness(.92)}
.hx-mos2 a::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-mos2 .lab{position:absolute;left:0;bottom:0;z-index:2;padding:20px}
.hx-mos2 .lab .code{font-family:var(--display);font-size:10px;letter-spacing:.3em;color:var(--accent)}
.hx-mos2 .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(17px,1.5vw,23px);margin-top:4px}
.hx-mos2 .m-t{grid-row:span 2}.hx-mos2 .m-w{grid-column:span 2}.hx-mos2 .m-l{grid-column:span 2;grid-row:span 2}
@media(max-width:760px){.hx-mos2{grid-template-columns:repeat(2,1fr)}.hx-mos2 .m-l,.hx-mos2 .m-w{grid-column:span 2}}

/* CARDS3D (depth lift) */
.hx-d3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.hx-d3card{position:relative;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.hx-d3card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 40px 80px rgba(0,0,0,.55);border-color:var(--accent)}
.hx-d3card img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.82)}
.hx-d3card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-d3card .lab{position:absolute;left:0;bottom:0;z-index:2;padding:24px}
.hx-d3card .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--accent)}
.hx-d3card .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(19px,1.6vw,25px);margin-top:5px}
@media(max-width:900px){.hx-d3{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hx-d3{grid-template-columns:1fr}}

/* RIBBON */
.hx-rib{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hx-ribcard{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line)}
.hx-ribcard img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.78);transition:transform 1s var(--ease)}
.hx-ribcard:hover img{transform:scale(1.05)}
.hx-ribcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.9),transparent 55%)}
.hx-ribcard .ribbon{position:absolute;top:20px;left:-44px;background:var(--accent);color:#111;padding:6px 50px;transform:rotate(-45deg);font-family:var(--display);font-size:11px;letter-spacing:.18em;z-index:2}
.hx-ribcard .lab{position:absolute;left:0;bottom:0;z-index:2;padding:24px}
.hx-ribcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(19px,1.6vw,25px)}
@media(max-width:900px){.hx-rib{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hx-rib{grid-template-columns:1fr}}

/* SPLITNUM */
.hx-spn__row{display:grid;grid-template-columns:auto 1fr 1fr;gap:clamp(20px,3vw,50px);align-items:center;padding:clamp(24px,3vw,46px) 0;border-bottom:1px solid var(--line)}
.hx-spn__row .n{font-family:var(--serif);font-size:clamp(60px,9vw,150px);color:transparent;-webkit-text-stroke:1px var(--accent);line-height:.78;transition:color .4s}
.hx-spn__row:hover .n{color:var(--accent)}
.hx-spn__row .pic{aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line)}
.hx-spn__row .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.hx-spn__row:hover .pic img{transform:scale(1.05)}
.hx-spn__row .b h3{font-family:var(--display);font-weight:200;font-size:clamp(22px,2.2vw,34px);margin-bottom:10px}
.hx-spn__row .b p{color:var(--muted);font-size:14.5px}
.hx-spn__row:nth-child(even) .pic{order:-1}
@media(max-width:760px){.hx-spn__row{grid-template-columns:auto 1fr}.hx-spn__row .pic{display:none}}

/* CHIPS (expand on hover) */
.hx-chip{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.hx-chipcard{position:relative;height:130px;width:130px;border-radius:14px;overflow:hidden;border:1px solid var(--line);transition:width .55s var(--ease)}
.hx-chipcard:hover{width:clamp(280px,32vw,360px)}
.hx-chipcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.7)}
.hx-chipcard::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.85),transparent 70%)}
.hx-chipcard .lab{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;white-space:nowrap}
.hx-chipcard .lab .code{font-family:var(--display);font-size:10px;letter-spacing:.3em;color:var(--accent)}
.hx-chipcard .lab h3{font-family:var(--display);font-weight:200;font-size:clamp(16px,1.4vw,21px);margin-top:3px;opacity:0;transition:opacity .4s .2s}
.hx-chipcard:hover .lab h3{opacity:1}

/* ===== ELEGANT LAYOUTS (set 6) — serif, hairlines, whitespace ===== */
/* ARCHFRAME */
.hx-arch3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.hx-architem{text-align:center}
.hx-architem .ph{aspect-ratio:3/4;overflow:hidden;border-radius:280px 280px 6px 6px;border:1px solid var(--line)}
.hx-architem .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2);transition:transform 1.1s var(--ease),filter .6s}
.hx-architem:hover .ph img{transform:scale(1.05);filter:grayscale(0)}
.hx-architem .code{display:block;margin-top:22px;font-family:var(--serif);font-style:italic;color:var(--accent);font-size:18px}
.hx-architem h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,1.9vw,28px);margin:4px 0 10px;letter-spacing:.3px}
.hx-architem p{color:var(--muted);font-size:14px;max-width:34ch;margin:0 auto}
@media(max-width:860px){.hx-arch3{grid-template-columns:1fr 1fr}}@media(max-width:520px){.hx-arch3{grid-template-columns:1fr}}

/* FEATURELIST */
.hx-fl{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,5vw,84px);align-items:center}
.hx-fl__img{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
.hx-fl__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s var(--ease)}
.hx-fl__img img.active{opacity:1}
.hx-fl__list a{display:flex;align-items:baseline;gap:22px;padding:clamp(16px,1.8vw,24px) 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}
.hx-fl__list a:first-child{border-top:1px solid var(--line)}
.hx-fl__list a .n{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:18px}
.hx-fl__list a h4{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.2vw,32px);flex:1;color:var(--muted);transition:color .4s}
.hx-fl__list a.active h4,.hx-fl__list a:hover h4{color:var(--text)}
.hx-fl__list a.active,.hx-fl__list a:hover{padding-left:12px}
.hx-fl__list a .go{color:var(--accent);opacity:0;transition:.4s}
.hx-fl__list a.active .go,.hx-fl__list a:hover .go{opacity:1}
@media(max-width:860px){.hx-fl{grid-template-columns:1fr}.hx-fl__img{aspect-ratio:16/10}}

/* HAIRLINE */
.hx-hair{border-top:1px solid var(--line)}
.hx-hairrow{display:flex;align-items:center;gap:clamp(20px,3vw,40px);padding:clamp(24px,2.8vw,42px) 4px;border-bottom:1px solid var(--line);transition:padding .45s var(--ease)}
.hx-hairrow .n{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:clamp(18px,1.6vw,24px);opacity:.6;transition:opacity .4s}
.hx-hairrow h3{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3vw,48px);flex:1;letter-spacing:.4px;transition:color .4s}
.hx-hairrow .thumb{width:0;height:70px;overflow:hidden;opacity:0;transition:width .5s var(--ease),opacity .5s;flex:0 0 auto}
.hx-hairrow .thumb img{width:100px;height:70px;object-fit:cover}
.hx-hairrow .go{color:var(--accent);opacity:0;transition:.4s;font-size:20px}
.hx-hairrow:hover{padding-left:18px}
.hx-hairrow:hover .n{opacity:1}
.hx-hairrow:hover h3{color:var(--accent)}
.hx-hairrow:hover .thumb{width:100px;opacity:1}
.hx-hairrow:hover .go{opacity:1}
@media(max-width:640px){.hx-hairrow .thumb{display:none}}

/* NUMERALS */
.hx-numl{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,64px)}
.hx-numlitem{display:block;border-top:1px solid var(--accent);padding-top:22px}
.hx-numlitem .n{font-family:var(--serif);font-weight:500;font-size:clamp(58px,7vw,108px);color:var(--accent);line-height:.9}
.hx-numlitem .ph{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);margin:0 0 16px}
.hx-numlitem .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2);transition:transform 1s var(--ease),filter .6s}
.hx-numlitem:hover .ph img{transform:scale(1.05);filter:grayscale(0)}
.hx-numlitem h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,1.9vw,28px);margin:0 0 10px}
.hx-numlitem p{color:var(--muted);font-size:14.5px;line-height:1.7}
@media(max-width:860px){.hx-numl{grid-template-columns:1fr 1fr}}@media(max-width:520px){.hx-numl{grid-template-columns:1fr}}

/* DUO (alternating refined pairs) */
.hx-duo3{display:flex;flex-direction:column;gap:clamp(40px,6vw,96px)}
.hx-duorow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.hx-duorow .pic{position:relative;aspect-ratio:4/3;overflow:hidden}
.hx-duorow .pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2);transition:transform 1.2s var(--ease)}
.hx-duorow:hover .pic img{transform:scale(1.04)}
.hx-duorow .pic::after{content:"";position:absolute;inset:14px;border:1px solid rgba(200,178,138,.5);z-index:2;pointer-events:none}
.hx-duorow .b .code{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:18px}
.hx-duorow .b h3{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.2vw,48px);margin:8px 0 16px;letter-spacing:.3px}
.hx-duorow .b .rule{width:54px;height:1px;background:var(--accent);margin:0 0 18px}
.hx-duorow .b p{color:var(--muted);font-size:15.5px;line-height:1.8;max-width:44ch}
.hx-duorow:nth-child(even) .pic{order:2}
@media(max-width:760px){.hx-duorow{grid-template-columns:1fr;gap:24px}.hx-duorow:nth-child(even) .pic{order:0}}

/* CENTERPIECE (refined crossfade, caption below) */
.hx-cpiece{max-width:780px;margin:0 auto;text-align:center}
.hx-cpiece__stage{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line)}
.hx-cpiece__slide{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease)}
.hx-cpiece__slide.active{opacity:1}
.hx-cpiece__slide img{width:100%;height:100%;object-fit:cover}
.hx-cpiece__cap{margin-top:30px;min-height:120px}
.hx-cpiece__cap .code{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:18px}
.hx-cpiece__cap h3{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3vw,44px);margin:8px 0 12px}
.hx-cpiece__cap p{color:var(--muted);font-size:15px;max-width:58ch;margin:0 auto}
.hx-cpiece__dots{display:flex;gap:12px;justify-content:center;margin-top:26px}
.hx-cpiece__dots button{width:8px;height:8px;border-radius:50%;border:1px solid var(--accent);background:transparent;cursor:pointer;transition:.3s;padding:0}
.hx-cpiece__dots button.active{background:var(--accent)}

/* GOLDCARD */
.hx-goldc{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,32px)}
.hx-goldcard{border:1px solid rgba(200,178,138,.42);overflow:hidden;background:var(--bg-2);transition:transform .5s var(--ease),border-color .5s}
.hx-goldcard:hover{transform:translateY(-6px);border-color:var(--accent)}
.hx-goldcard .ph{aspect-ratio:5/4;overflow:hidden}
.hx-goldcard .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2);transition:transform 1s var(--ease)}
.hx-goldcard:hover .ph img{transform:scale(1.05)}
.hx-goldcard .b{padding:30px 28px 34px;text-align:center}
.hx-goldcard .code{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:17px}
.hx-goldcard h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,1.9vw,28px);margin:4px 0 14px}
.hx-goldcard .rule{width:46px;height:1px;background:var(--accent);margin:0 auto 14px}
.hx-goldcard p{color:var(--muted);font-size:14px}
@media(max-width:860px){.hx-goldc{grid-template-columns:1fr 1fr}}@media(max-width:520px){.hx-goldc{grid-template-columns:1fr}}

/* VEIL */
.hx-veil{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hx-veilcard{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);display:grid;place-items:center;text-align:center}
.hx-veilcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25);transition:transform 1.1s var(--ease)}
.hx-veilcard:hover img{transform:scale(1.05)}
.hx-veilcard::after{content:"";position:absolute;inset:0;background:rgba(17,17,17,.62);transition:background .5s;z-index:1}
.hx-veilcard:hover::after{background:rgba(17,17,17,.3)}
.hx-veilcard .lab{position:relative;z-index:2;padding:20px}
.hx-veilcard .lab .code{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:17px}
.hx-veilcard .lab h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2vw,30px);margin-top:6px;color:#fff}
.hx-veilcard .lab .rule{width:0;height:1px;background:var(--accent);margin:14px auto 0;transition:width .5s var(--ease)}
.hx-veilcard:hover .lab .rule{width:48px}
@media(max-width:760px){.hx-veil{grid-template-columns:1fr 1fr}}

/* LEDGER (fine-menu) */
.hx-ledger{border-top:1px solid var(--line)}
.hx-ledgerrow{display:flex;align-items:baseline;gap:18px;padding:clamp(20px,2.4vw,34px) 4px;border-bottom:1px solid var(--line);transition:.4s}
.hx-ledgerrow:hover{padding-left:12px}
.hx-ledgerrow .n{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:clamp(18px,1.5vw,22px)}
.hx-ledgerrow h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.2vw,32px);white-space:nowrap}
.hx-ledgerrow .dots{flex:1;border-bottom:1px dotted rgba(255,255,255,.2);transform:translateY(-7px)}
.hx-ledgerrow .meta{font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.hx-ledgerrow .go{color:var(--accent);font-size:18px}
@media(max-width:640px){.hx-ledgerrow .meta{display:none}}

/* POSTER */
.hx-poster{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}
.hx-postercard{position:relative;aspect-ratio:3/2;overflow:hidden}
.hx-postercard img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) brightness(.62);transition:transform 1.2s var(--ease),filter .6s}
.hx-postercard:hover img{transform:scale(1.04);filter:grayscale(.1) brightness(.7)}
.hx-postercard .lab{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.hx-postercard .lab .code{font-family:var(--display);font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--accent)}
.hx-postercard .lab h3{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3vw,46px);margin:12px 0;color:#fff}
.hx-postercard .lab .rule{width:48px;height:1px;background:var(--accent)}
.hx-postercard .lab p{color:#d7d2c8;font-size:14px;max-width:40ch;margin-top:16px;max-height:0;overflow:hidden;opacity:0;transition:.55s var(--ease)}
.hx-postercard:hover .lab p{max-height:120px;opacity:1}
@media(max-width:640px){.hx-poster{grid-template-columns:1fr}}
