/* Dedicated category and per-work pages; scoped to avoid the homepage gallery. */
.portfolio-pages-public{background:#111116;color:#efe9f3}
.portfolio-pages-shell{width:min(1240px,calc(100% - 44px));margin:auto;min-height:60vh;padding:46px 0 100px}
.portfolio-breadcrumb{display:flex;align-items:center;gap:11px;color:#a99cb6;font-size:13px;margin:0 0 35px}
.portfolio-breadcrumb a{color:#cfb5e4;text-decoration:none}
.portfolio-breadcrumb a:hover{text-decoration:underline}
.portfolio-page-eyebrow{font-size:12px;color:#c3a0db;letter-spacing:.24em;margin:0 0 12px}
.portfolio-page-hero{margin-bottom:35px}
.portfolio-page-hero h1{font-size:clamp(32px,4vw,56px);margin:0 0 10px}
.portfolio-page-hero p:last-child{max-width:760px;color:#afa6b9;line-height:1.8;font-size:15px}
.portfolio-page-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.portfolio-page-card{position:relative;overflow:hidden;background:#1a1721;border:1px solid rgba(181,145,209,.23);border-radius:17px}
.portfolio-page-card a{display:block;text-decoration:none;color:inherit}
.portfolio-page-card .thumb{aspect-ratio:4/3;background:#221a29;overflow:hidden}
.portfolio-page-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.portfolio-page-card:hover .thumb img{transform:scale(1.025)}
.portfolio-page-card .copy{padding:17px 19px 20px}
.portfolio-page-card .copy small{color:#b89bd0;font-size:12px}
.portfolio-page-card h2{font-size:20px;margin:7px 0}
.portfolio-page-card p{font-size:13px;line-height:1.7;color:#b6aabf;margin:0}
.portfolio-pages-empty{grid-column:1/-1;padding:45px 25px;background:#1a1620;border:1px dashed #554363;border-radius:18px;color:#b9aabc;text-align:center;line-height:1.7}
.portfolio-page-card.is-sensitive .thumb img{filter:blur(24px) brightness(.65)}
.portfolio-sensitive-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(17,12,21,.32)}
.portfolio-sensitive-mask button,.portfolio-reveal-detail{border:1px solid #cda7e5;background:#392649;color:#f6e8ff;border-radius:12px;padding:12px 18px;cursor:pointer;font:inherit;font-size:14px}
.portfolio-page-card.is-revealed .portfolio-sensitive-mask{display:none}
.portfolio-page-card.is-revealed .thumb img{filter:none}
.portfolio-detail-head{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(260px,.88fr);gap:38px;align-items:center;margin-bottom:52px}
.portfolio-detail-cover{position:relative;overflow:hidden;border:1px solid rgba(200,165,232,.25);border-radius:20px;background:#19151f;aspect-ratio:4/3}
.portfolio-detail-cover img{width:100%;height:100%;object-fit:cover;display:block}
.portfolio-detail-copy .type{font-size:12px;letter-spacing:.2em;color:#c09ad9}
.portfolio-detail-copy h1{font-size:clamp(34px,4vw,56px);margin:16px 0 17px;line-height:1.14}
.portfolio-detail-copy p{font-size:16px;line-height:1.85;color:#c3b9cd}
.portfolio-detail-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.portfolio-detail-tags span{padding:6px 11px;border-radius:30px;border:1px solid #51415e;color:#cfb9dd;font-size:12px}
.portfolio-detail-section{padding-top:36px;margin-top:30px;border-top:1px solid rgba(184,146,210,.23)}
.portfolio-detail-section h2{font-size:clamp(21px,2.4vw,28px);margin:0 0 10px}
.portfolio-detail-section .section-desc{font-size:13px;color:#a79cb0;line-height:1.7;margin:0 0 20px}
.portfolio-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.portfolio-detail-image{display:block;cursor:zoom-in;text-decoration:none;color:#e7d9ef;overflow:hidden;border:1px solid rgba(184,146,210,.23);border-radius:14px;background:#1c1821;padding:0;text-align:left;font:inherit}
.portfolio-detail-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.portfolio-detail-image span{display:block;padding:11px 14px;font-size:13px;color:#c1b1cb;line-height:1.5}
.portfolio-detail-image:hover{border-color:#d9b8f4}
.portfolio-detail.is-masked .portfolio-detail-cover img,.portfolio-detail.is-masked .portfolio-detail-image img{filter:blur(25px) brightness(.55)}
.portfolio-detail.is-masked .portfolio-detail-image{pointer-events:none}
.portfolio-detail.is-masked .portfolio-detail-image span{filter:blur(5px)}
.portfolio-detail-masknotice{margin-top:18px}
.portfolio-detail-untouched{padding:28px;background:#1c1822;border:1px dashed rgba(199,160,227,.35);border-radius:17px;color:#b5a7bf;line-height:1.75}
.portfolio-viewer{width:min(1050px,95vw);max-width:95vw;max-height:94vh;border:1px solid rgba(208,171,232,.37);background:#16131c;color:white;border-radius:17px;padding:20px}
.portfolio-viewer::backdrop{background:rgba(0,0,0,.86)}
.portfolio-viewer .viewer-tools{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}
.portfolio-viewer .viewer-tools button{background:#2a2131;color:#f3defe;border:1px solid #70557f;padding:8px 15px;border-radius:10px;cursor:pointer}
.portfolio-viewer img{max-width:100%;max-height:72vh;object-fit:contain;display:block;margin:auto}
.portfolio-viewer p{text-align:center;font-size:13px;color:#c4b4cf;margin-bottom:0}
.portfolio-pages-public .portfolio-art-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px;text-align:center;background:radial-gradient(circle at 76% 26%,rgba(165,112,195,.19),transparent 55%),linear-gradient(140deg,#292033,#17141f);color:#f2e1fb}
.portfolio-pages-public .portfolio-art-pending .portfolio-art-pending-kicker{font-family:sans-serif;font-size:10px;letter-spacing:.27em;color:#bea5cc}
.portfolio-pages-public .portfolio-art-pending strong{font-size:clamp(21px,2vw,34px);line-height:1.25;font-weight:600}
.portfolio-pages-public .portfolio-art-pending small{font-size:11px;color:#bb9ecb;letter-spacing:.12em}
@media(max-width:950px){.portfolio-page-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.portfolio-detail-head{grid-template-columns:1fr;gap:20px}.portfolio-pages-shell{width:calc(100% - 28px);padding-top:30px}.portfolio-detail-copy h1{margin:6px 0}.portfolio-pages-public .site-header{gap:10px}}
@media(max-width:560px){.portfolio-page-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-page-card .copy{padding:12px}.portfolio-page-card h2{font-size:16px}.portfolio-detail-grid{grid-template-columns:1fr}.portfolio-page-card .copy p{font-size:12px}.portfolio-page-card .thumb{aspect-ratio:1/1}}
@media(prefers-reduced-motion:reduce){.portfolio-page-card .thumb img{transition:none}}
