/* RC1.3-P — all-exposed, series-aware portfolio composition. */
:root{--p-ink:#e9e8e2;--p-muted:#999990;--p-line:rgba(233,232,226,.16);--p-gap:clamp(18px,2vw,30px)}
.p-portfolio{background:#090909;color:var(--p-ink)}
.p-section{padding:112px 0 150px}
.p-section__inner{width:min(1320px,calc(100% - 160px));margin:auto}
.p-section__header{display:grid;grid-template-columns:170px minmax(0,1fr);gap:28px;margin:0 0 76px;padding-bottom:22px;border-bottom:1px solid var(--p-line)}
.p-section__header p,.p-project__number,.p-project__level3,.p-project__role span{margin:0;color:var(--p-muted);font-size:10px;font-weight:550;letter-spacing:.15em;line-height:1.5;text-transform:uppercase}
.p-section__header h2{margin:0;font-size:clamp(42px,5vw,72px);font-weight:470;letter-spacing:-.05em;line-height:.96}
.p-project-list{display:grid;gap:clamp(106px,9vw,150px)}
.p-project{min-width:0;scroll-margin-top:88px}
.p-project__header{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;width:min(940px,100%);margin:0 0 38px;padding-top:15px;border-top:1px solid var(--p-line)}
.p-project__title{margin:0;font-size:clamp(28px,3.15vw,44px);font-weight:470;letter-spacing:-.04em;line-height:1.08}
.p-project__level3{margin-top:11px}
.p-project__role{margin:17px 0 0;color:#c8c7c0;font-size:12px;line-height:1.7}
.p-project__role span{display:block;margin-bottom:4px}
.p-series-list{display:grid;gap:0}
.p-series{display:grid;gap:clamp(34px,3.2vw,52px)}
.p-series+.p-series{margin-top:clamp(52px,5vw,78px);padding-top:clamp(24px,2vw,34px);border-top:1px solid rgba(233,232,226,.08)}
.p-row{display:grid;gap:var(--p-gap);align-items:start;justify-content:center;width:100%}
.p-row--1{grid-template-columns:minmax(0,800px)}
.p-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.p-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.p-media{min-width:0;margin:0;background:#050505}
.p-media img{display:block;width:100%;height:auto;object-fit:contain;background:#050505}
.p-row--1.p-row--vertical{grid-template-columns:minmax(0,500px)}
.p-row--2.p-row--vertical{grid-template-columns:repeat(2,minmax(0,500px))}
.p-row--3.p-row--vertical{grid-template-columns:repeat(3,minmax(0,410px))}

@media (min-width:821px) and (max-width:1179px){
  .p-section__inner{width:calc(100% - 72px)}
  .p-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:820px){
  .p-section{padding:66px 0 82px}
  .p-section:first-child{padding-top:54px}
  .p-section__inner{width:calc(100% - 40px)}
  .p-section__header{display:block;margin-bottom:54px;padding-bottom:16px}
  .p-section__header p{margin-bottom:12px}
  .p-section__header h2{font-size:clamp(34px,10vw,52px)}
  .p-project-list{gap:78px}
  .p-project__header{grid-template-columns:28px minmax(0,1fr);gap:10px;margin-bottom:26px;padding-top:13px}
  .p-project__title{font-size:clamp(24px,7vw,30px);line-height:1.12}
  .p-project__level3{margin-top:8px;font-size:9px}
  .p-project__role{margin-top:14px;font-size:11px;line-height:1.65}
  .p-series{gap:18px}
  .p-series+.p-series{margin-top:30px;padding-top:18px}
  .p-row{gap:10px 8px}
  .p-row--1,.p-row--1.p-row--vertical{grid-template-columns:1fr}
  .p-row--1.p-row--vertical .p-media{width:min(78%,380px);justify-self:center}
  .p-row--2,.p-row--2.p-row--vertical{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-row--3,.p-row--3.p-row--vertical{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-row--3>.p-media:first-child{grid-column:1/-1;width:min(84%,520px);justify-self:center}
  .p-project[data-project-id="hazy11-music-visual"] .p-row--2{grid-template-columns:1fr;gap:18px}
  .p-project[data-project-id="hazy11-music-visual"] .p-row--2>.p-media{width:min(76%,330px);justify-self:start}
  .p-project[data-project-id="hazy11-music-visual"] .p-row--2>.p-media:nth-child(even){justify-self:end}
}

@media (max-width:430px){
  .p-section__inner{width:calc(100% - 32px)}
  .p-row--1.p-row--landscape{margin-inline:0}
}

/* RC1.3-Q progressive Motion layer. Static and no-JS content is visible. */
.portfolio-motion-enabled .p-media{
  transition:opacity 440ms cubic-bezier(.22,.72,.2,1),transform 440ms cubic-bezier(.22,.72,.2,1);
}
.portfolio-motion-enabled .p-media[data-reveal-state="pending"]{
  opacity:.001;
  transform:translateY(8px);
}
.portfolio-motion-enabled .p-media[data-reveal-state="visible"]{
  opacity:1;
  transform:none;
}
.portfolio-motion-enabled .p-row>.p-media:nth-child(2){transition-delay:35ms}
.portfolio-motion-enabled .p-row>.p-media:nth-child(3){transition-delay:70ms}

@media (hover:hover) and (pointer:fine) and (min-width:821px){
  .p-media{overflow:hidden}
  .p-media img{transition:transform 420ms cubic-bezier(.22,.72,.2,1),filter 420ms ease}
  .p-media:hover img{transform:scale(1.006);filter:brightness(1.02)}
}

@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse),(max-width:820px){
  .portfolio-motion-enabled .p-media,
  .portfolio-motion-enabled .p-media[data-reveal-state="pending"]{
    opacity:1;
    transform:none;
    transition:none;
  }
  .p-media img{transform:none!important;transition:none!important;filter:none!important}
}
