[hidden]{display:none!important}
section.page-hero{padding:150px 0 10px}
.page-hero h1{font-size:clamp(2.4rem,5.2vw,4rem);font-weight:800;max-width:17ch}
.page-hero p{color:var(--mu);max-width:56ch;margin-top:18px}
section.pf{padding:30px 0 90px}
.tabs-wrap{display:flex;justify-content:center;margin:20px 0 14px}
.tabs{position:relative;display:flex;gap:2px;padding:6px;max-width:100%;overflow-x:auto;scrollbar-width:none;border-radius:99px;background:rgba(var(--surf-rgb),.75);backdrop-filter:blur(12px);border:1px solid var(--line)}
.tabs::-webkit-scrollbar{display:none}
.tabs button{position:relative;z-index:1;border:0;background:none;color:var(--mu);font:600 .95rem var(--hf);padding:12px 22px;border-radius:99px;cursor:pointer;white-space:nowrap;transition:color .3s}
.tabs button:hover{color:var(--tx)}.tabs button.on{color:#fff}
.pill{position:absolute;top:6px;bottom:6px;left:0;width:0;border-radius:99px;background:var(--grad);box-shadow:0 8px 26px -8px rgba(var(--or-rgb),.65);transition:transform .6s cubic-bezier(.2,.8,.2,1),width .6s cubic-bezier(.2,.8,.2,1)}
#pcount{text-align:center;color:var(--mu);font-size:.9rem;margin-bottom:34px}
.pgrid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pitem{display:flex}
.pcard{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surf);border-radius:22px;overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,border-color .5s}
.pcard:hover,.pcard:focus-visible{transform:translateY(-8px);border-color:rgba(var(--or-rgb),.45);box-shadow:0 26px 50px -26px rgba(var(--or-rgb),.55),0 0 46px -16px rgba(var(--bl-rgb),.55)}
.pthumb{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
.pthumb>svg,.pthumb>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pthumb>svg,.pcard:hover .pthumb>img{transform:scale(1.1)}
.pzoom{position:absolute;right:14px;bottom:14px;padding:8px 16px;border-radius:99px;background:rgba(var(--bg-rgb),.72);backdrop-filter:blur(8px);font:600 .82rem var(--hf);opacity:0;transform:translateY(8px);transition:.45s}
.pcard:hover .pzoom,.pcard:focus-visible .pzoom{opacity:1;transform:none}
.pbody{display:block;padding:20px 22px 26px}
.pbody small{display:block;color:var(--or);font-weight:700;font-size:.82rem}
.pbody b{display:block;font:700 1.15rem var(--hf);margin:5px 0 8px}
.pbody>span{display:block;color:var(--mu);font-size:.94rem;line-height:1.55}
/* Lightbox */
.lb{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .4s}
.lb.open{opacity:1}
.lb-bg{position:absolute;inset:0;background:rgba(var(--bg-rgb),.74);backdrop-filter:blur(14px)}
.lb-box{position:relative;display:grid;grid-template-columns:1.15fr 1fr;width:min(1040px,100%);max-height:90svh;overflow:auto;border-radius:28px;background:var(--surf);border:1px solid var(--line);box-shadow:0 40px 90px -30px rgba(0,0,0,.85),0 0 80px -30px rgba(var(--or-rgb),.4);transform:translateY(26px) scale(.96);transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.lb.open .lb-box{transform:none}
.lb-media{position:relative;min-height:360px}
.lb-media svg,.lb-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lb-body{padding:clamp(26px,4vw,44px);display:flex;flex-direction:column;align-items:flex-start;gap:14px;justify-content:center}
.lb-body small{color:var(--or);font-weight:700}.lb-body h3{font-size:clamp(1.5rem,3vw,2rem)}.lb-body p{color:var(--mu)}
.lb-res{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%}
.lb-res div{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.lb-res b{display:block;font:800 1.45rem var(--hf);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lb-res span{color:var(--mu);font-size:.85rem}
.lb-nav{display:flex;gap:10px;flex-wrap:wrap}
.lb-nav button{padding:10px 18px;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--tx);font:600 .9rem var(--hf);cursor:pointer;transition:.3s}.lb-nav button:hover{border-color:var(--bl);color:var(--bl)}
.lb-x{position:absolute;top:14px;right:14px;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(var(--bg-rgb),.72);backdrop-filter:blur(8px);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;transition:.35s}
.lb-x:hover{background:var(--grad);border-color:transparent;transform:rotate(90deg)}
@media(max-width:980px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.lb-box{grid-template-columns:1fr}.lb-media{min-height:0;aspect-ratio:16/10}.tabs-wrap{justify-content:flex-start}}
@media(max-width:600px){.pgrid{grid-template-columns:1fr}.tabs button{padding:11px 16px;font-size:.88rem}}
