/* Portafolio · Flama rows · Fruttiflow purple */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav a[aria-current="page"]{color:var(--accent-soft)}

.pf-hero{
  padding:clamp(110px,16vh,160px) var(--pad) clamp(40px,6vh,64px);
  max-width:1200px;margin:0 auto;
}
.pf-hero .eyebrow{margin-bottom:14px}
.pf-hero h1{font-size:clamp(28px,6.25vw,90px);line-height:.92;letter-spacing:-.06em;font-weight:750;text-transform:uppercase;margin:0 0 18px;max-width:min(1320px,96vw)}
.pf-hero-sub{
  margin:22px 0 0;max-width:52ch;
  font-size:clamp(16px,1.5vw,19px);color:rgba(244,241,234,.78);line-height:1.55;
}

.pf-list{
  display:flex;flex-direction:column;
  gap:clamp(72px,10vw,140px);
  padding:clamp(24px,4vh,48px) 0 clamp(80px,12vh,140px);
  max-width:100%;
}

.pf-row{
  display:grid;
  grid-template-columns:minmax(240px,32%) minmax(0,1fr);
  gap:clamp(28px,4vw,64px);
  align-items:center;
  padding:0 0 0 var(--pad);
}

.pf-info{padding-right:8px;max-width:420px}
.pf-info h2{
  font-size:clamp(34px,3.6vw,56px);
  font-weight:800;letter-spacing:-.04em;line-height:.95;margin:0;
}
.pf-info h2 a{color:inherit;text-decoration:none}
.pf-info h2 a:hover{color:var(--accent-soft)}

.pf-meta{
  margin:14px 0 0;
  font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent-soft);
}

.pf-desc{
  margin:18px 0 0;
  font-size:16px;line-height:1.65;
  color:rgba(244,241,234,.78);max-width:36ch;
}

.pf-go{
  display:inline-flex;align-items:center;gap:8px;margin-top:26px;
  font-size:15px;font-weight:600;color:var(--paper);
  border-bottom:1px solid rgba(244,241,234,.35);padding-bottom:3px;
  text-decoration:none;
}
.pf-go:hover{color:var(--accent-soft);border-color:var(--accent-soft)}

.pf-gallery-wrap{min-width:0;position:relative}
.pf-gallery{
  display:flex;gap:14px;
  overflow-x:auto;overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  padding:6px var(--pad) 10px 0;
  cursor:grab;
  scrollbar-width:none; /* firefox — custom bar below */
  -ms-overflow-style:none;
}
.pf-gallery::-webkit-scrollbar{display:none}
.pf-gallery.is-dragging{cursor:grabbing;scroll-snap-type:none}
.pf-gallery.is-dragging *{pointer-events:none;user-select:none}

.pf-shot{
  flex:none;margin:0;scroll-snap-align:start;
  border-radius:18px;overflow:hidden;
  background:var(--ink-2);
  border:1px solid rgba(244,241,234,.06);
  box-shadow:0 18px 40px -28px rgba(0,0,0,.85);
}
.pf-shot img{
  display:block;
  height:clamp(240px,28vw,380px);
  width:auto;max-width:none;
  object-fit:cover;
  transition:transform .7s var(--ease,cubic-bezier(.22,1,.36,1));
}
.pf-shot:hover img{transform:scale(1.03)}

/* Custom thin scrollbar under gallery (Flama-like) */
.pf-scroll{
  display:flex;align-items:center;gap:10px;
  padding:6px var(--pad) 0 0;
  max-width:100%;
}
.pf-arr{
  flex:none;width:28px;height:28px;border-radius:50%;
  border:1px solid rgba(244,241,234,.18);
  background:transparent;color:var(--paper);
  font-size:18px;line-height:1;cursor:pointer;
  display:grid;place-items:center;padding:0;font-family:inherit;
}
.pf-arr:hover{border-color:var(--accent-soft);color:var(--accent-soft)}
.pf-arr:disabled{opacity:.25;cursor:default}

.pf-track{
  position:relative;flex:1;height:3px;
  background:rgba(244,241,234,.12);
  border-radius:999px;overflow:hidden;
  cursor:pointer;
}
.pf-thumb{
  position:absolute;left:0;top:0;bottom:0;
  width:28%;min-width:48px;
  background:rgba(244,241,234,.55);
  border-radius:999px;
  pointer-events:none;
  transition:background .2s;
}
.pf-track:hover .pf-thumb{background:rgba(244,241,234,.85)}

.pf-cta{text-align:center;padding:clamp(80px,12vh,140px) var(--pad);border-top:1px solid var(--line);position:relative;overflow:hidden}
.pf-cta::before{content:"";position:absolute;left:50%;bottom:-40%;width:90vw;aspect-ratio:2;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(75,29,107,.45),transparent 60%);z-index:-1}
.pf-cta h2{font-size:clamp(40px,6vw,88px);font-weight:800;letter-spacing:-.045em;margin:0}
.pf-cta p{color:rgba(244,241,234,.78);margin:18px auto 0;max-width:520px;font-size:18px}
.pf-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}

@media (max-width:900px){
  .pf-row{grid-template-columns:1fr;gap:20px;padding-right:0}
  .pf-info{max-width:none;padding-right:var(--pad)}
  .pf-desc{max-width:none}
  .pf-shot img{height:220px}
  .pf-list{gap:64px}
}
@media (prefers-reduced-motion:reduce){
  .pf-shot img{transition:none}
}
