/* Portfolio — IG-style (v1.2) */
.pf{padding:24px 0 80px}
.pf__wrap{max-width:calc(1000px + 2*var(--m))}
.pf-head{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;align-items:start;padding:12px 0 24px}
.pf-head__avatar{width:88px;height:88px;border-radius:50%;background:var(--ink);color:var(--ivory);display:flex;align-items:center;justify-content:center;font-family:var(--latin);font-weight:300;letter-spacing:.24em;font-size:15px;padding-left:.24em;box-shadow:0 0 0 3px var(--ivory),0 0 0 4px var(--rose)}
.pf-head__avatar--sm{width:32px;height:32px;font-size:9px;letter-spacing:.14em;box-shadow:none;flex:0 0 32px}
.pf-head__info{display:flex;flex-direction:column;gap:8px;min-width:0}
.pf-head__name{font-family:var(--latin);font-weight:400;font-size:20px;letter-spacing:.04em}
.pf-head__stats{font-size:14px;color:var(--taupe)}
.pf-head__stats strong{color:var(--ink);font-weight:500}
.pf-head__bio{font-size:14px;line-height:1.6}
.pf-head__bio .cap{font-size:12px;letter-spacing:.2em;color:var(--rose)}
.pf-head__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.pf-head__actions .btn{min-height:44px;padding:0 20px;font-size:14px}
@media (max-width:599px){
  .pf-head{grid-template-columns:72px minmax(0,1fr);gap:16px}
  .pf-head__avatar{width:72px;height:72px;font-size:12px}
  .pf-head__actions{grid-column:1 / -1}
  .pf-head__actions .btn{flex:1}
}
@media (min-width:768px){
  .pf{padding:48px 0 120px}
  .pf-head{grid-template-columns:150px minmax(0,1fr);gap:56px;padding:16px 0 40px;align-items:center}
  .pf-head__avatar{width:150px;height:150px;font-size:22px}
  .pf-head__name{font-size:24px}
}

.pf-looks{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 20px;border-bottom:1px solid var(--sand);margin-bottom:4px;scrollbar-width:none}
.pf-looks::-webkit-scrollbar{display:none}
.pf-look{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;width:72px}
.pf-look__ring{width:64px;height:64px;border-radius:50%;padding:3px;background:var(--sand);display:flex}
.pf-look__ring>span{flex:1;border-radius:50%;background:var(--linen);border:2px solid var(--ivory);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--taupe)}
.pf-look__ring img{width:100%;height:100%;object-fit:cover}
.pf-look__dot{width:9px;height:9px;border-radius:50%;background:var(--rose)}
.pf-look.is-current .pf-look__ring{background:var(--rose)}
.pf-look.is-current .pf-look__ring>span{color:var(--ink)}
.pf-look__name{font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}
@media (min-width:768px){.pf-looks{gap:32px;padding-bottom:28px}.pf-look{width:84px}.pf-look__ring{width:78px;height:78px}}

.pf-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
@media (min-width:768px){.pf-grid{gap:4px}}
.pf-tile a{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--linen)}
.pf-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.pf-tile__multi{position:absolute;top:8px;right:8px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.pf-tile__over{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(31,27,24,.42);color:var(--ivory);font-size:14px;opacity:0;transition:opacity .2s var(--ease);padding:8px;text-align:center}
.pf-tile a:hover .pf-tile__over,.pf-tile a:focus-visible .pf-tile__over{opacity:1}
.pf-tile a:hover img{transform:scale(1.03)}
.pf-tile__flag{position:absolute;left:6px;bottom:6px;margin:0}
@media (prefers-reduced-motion:reduce){.pf-tile img,.pf-tile__over{transition:none}.pf-tile a:hover img{transform:none}}

.pf-empty{text-align:center;padding:80px 0;display:flex;flex-direction:column;align-items:center;gap:12px}
.pf-empty__title{font-size:22px;font-weight:400}

/* Post view (modal) */
.pf-modal{border:0;padding:0;max-width:none;max-height:none;width:100%;height:100%;background:transparent}
.pf-modal::backdrop{background:rgba(20,15,13,.72)}
.pf-modal__box{position:relative;background:var(--ivory);width:100%;height:100%;display:flex;flex-direction:column;overflow:auto}
.pf-modal__close{position:absolute;top:8px;right:8px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(251,248,244,.9);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center}
.pf-modal__media{position:relative;background:var(--linen)}
.pf-modal__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.pf-modal__track::-webkit-scrollbar{display:none}
.pf-modal__track img{flex:0 0 100%;width:100%;aspect-ratio:4/5;object-fit:cover;scroll-snap-align:start}
.pf-modal__dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px}
.pf-modal__dots span{width:6px;height:6px;border-radius:50%;background:rgba(251,248,244,.55)}
.pf-modal__dots span.is-on{background:var(--ivory)}
.pf-modal__side{padding:20px var(--m) 32px;display:flex;flex-direction:column;gap:12px}
.pf-modal__who{display:flex;align-items:center;gap:10px;font-family:var(--latin);font-size:14px;padding-bottom:12px;border-bottom:1px solid var(--sand)}
.pf-modal__title{font-size:22px;font-weight:400;line-height:1.4}
.pf-modal__caption{font-size:15px;line-height:1.75;white-space:pre-line}
.pf-modal__credits{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;margin:0;font-size:14px}
.pf-modal__credits dt{color:var(--taupe)}
.pf-modal__credits dd{margin:0}
.pf-modal__nav{display:flex;gap:8px}
.pf-modal__nav .btn{flex:1;padding:0 12px;min-height:44px;font-size:14px}
@media (min-width:900px){
  .pf-modal{width:min(1100px,92vw);height:min(760px,90vh);margin:auto}
  .pf-modal__box{flex-direction:row;overflow:hidden}
  .pf-modal__media{flex:0 0 60%;display:flex;align-items:center}
  .pf-modal__track{width:100%;height:100%}
  .pf-modal__track img{height:100%;aspect-ratio:auto}
  .pf-modal__side{flex:1;overflow:auto;padding:24px 28px}
}

/* Single fallback */
.pf-single__back{display:inline-block;margin:8px 0 20px;text-decoration:none}
.pf-single__grid{display:flex;flex-direction:column;gap:24px}
.pf-single__media{display:flex;flex-direction:column;gap:4px}
.pf-single__media img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pf-single__side{display:flex;flex-direction:column;gap:12px}
@media (min-width:900px){.pf-single__grid{display:grid;grid-template-columns:3fr 2fr;gap:40px;align-items:start}.pf-single__side{position:sticky;top:24px}}

/* Home: link to portfolio under the timeline */
.day__more{display:flex;justify-content:flex-start;padding:8px 0 32px}
@media (min-width:1200px){.day__more{justify-content:flex-end;padding:40px 0 0}}

.pf-modal__who .pf-head__avatar{width:32px;height:32px;font-size:9px;letter-spacing:.14em;padding-left:.14em;box-shadow:none;flex:0 0 32px}
.site-nav a[aria-current="page"]{color:var(--rose)}
