
:root{
  --bg:#f4f1ea; --ink:#151515; --muted:#76736c; --line:rgba(21,21,21,.16); --soft:#e7e1d7; --panel:#fffaf1;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.25;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;}
a{color:inherit;text-decoration:none}.ps-shell{min-height:100vh}.ps-nav{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 22px;background:rgba(244,241,234,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.ps-brand{font-size:14px;letter-spacing:.01em}.ps-nav-center{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ps-nav-links{justify-self:end;display:flex;gap:16px;font-size:14px}.ps-hero{padding:clamp(70px,10vw,150px) 22px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,6vw,92px);align-items:end}.ps-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}.ps-h1{font-size:clamp(48px,9.5vw,156px);line-height:.86;letter-spacing:-.075em;font-weight:500;margin:0}.ps-lede{font-size:clamp(22px,3.1vw,48px);letter-spacing:-.055em;line-height:.95;margin:0 0 24px;max-width:940px}.ps-small{color:var(--muted);font-size:14px;max-width:560px;line-height:1.45}.ps-rule{height:1px;background:var(--line);margin:0 22px}.ps-section-head{padding:30px 22px 18px;display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.ps-section-head h2{font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:0}.ps-section-head p{margin:0;color:var(--muted);font-size:14px}.ps-filters{display:flex;gap:8px;flex-wrap:wrap;padding:0 22px 24px}.ps-filter{border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 12px;font-size:12px;cursor:pointer;color:var(--ink)}.ps-filter.active,.ps-filter:hover{background:var(--ink);color:var(--bg)}.ps-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;padding:0 12px 60px}.ps-card{grid-column:span 4;position:relative;display:block;background:var(--soft);overflow:hidden;min-height:360px}.ps-card:nth-child(1),.ps-card:nth-child(6),.ps-card:nth-child(11),.ps-card:nth-child(17),.ps-card:nth-child(22){grid-column:span 6}.ps-card img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block;filter:saturate(.98) contrast(1);transition:transform .7s var(--ease), filter .7s var(--ease)}.ps-card:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.03)}.ps-card-meta{position:absolute;inset:auto 0 0 0;padding:14px;background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,0));color:#fff;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;min-height:45%}.ps-card h3{font-size:clamp(20px,2.2vw,34px);line-height:.92;letter-spacing:-.04em;margin:0;max-width:10ch}.ps-card span{font-size:12px;color:rgba(255,255,255,.78);text-align:right}.ps-card em{font-style:normal;font-size:12px;color:rgba(255,255,255,.86)}.ps-about{padding:64px 22px 86px;display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line)}.ps-about h2{font-size:clamp(34px,5vw,86px);line-height:.92;letter-spacing:-.06em;font-weight:500;margin:0}.ps-about p{font-size:20px;letter-spacing:-.025em;line-height:1.2;margin:0 0 22px;max-width:680px}.ps-footer{padding:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}.ps-project-hero{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:24px;padding:24px 22px 60px;align-items:start}.ps-project-info{position:sticky;top:80px;min-height:calc(100vh - 120px);display:flex;flex-direction:column;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}.ps-project-info h1{font-size:clamp(44px,6vw,98px);line-height:.88;letter-spacing:-.065em;font-weight:500;margin:0 0 22px}.ps-project-info dl{display:grid;grid-template-columns:86px 1fr;gap:8px 14px;font-size:13px}.ps-project-info dt{color:var(--muted)}.ps-project-info dd{margin:0}.ps-project-summary{font-size:21px;line-height:1.08;letter-spacing:-.04em;margin:24px 0 0}.ps-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.ps-gallery figure{margin:0;background:var(--soft);grid-column:span 12}.ps-gallery figure:nth-child(4n+2),.ps-gallery figure:nth-child(4n+3){grid-column:span 6}.ps-gallery img{display:block;width:100%;height:auto;image-rendering:auto}.ps-gallery a{display:block}.ps-nextprev{display:flex;justify-content:space-between;padding:36px 22px 60px;border-top:1px solid var(--line)}.ps-cargo-note{background:#151515;color:#f4f1ea;padding:14px 22px;font-size:13px;line-height:1.4}.ps-cargo-note strong{color:#fff}
@media(max-width:900px){.ps-nav{grid-template-columns:1fr auto}.ps-nav-center{display:none}.ps-hero,.ps-about,.ps-project-hero{grid-template-columns:1fr}.ps-grid{gap:10px}.ps-card,.ps-card:nth-child(n){grid-column:span 6;min-height:300px}.ps-project-info{position:static;min-height:0}.ps-gallery figure:nth-child(n){grid-column:span 12}.ps-footer{flex-direction:column}.ps-lede{max-width:720px}}
@media(max-width:600px){body{font-size:15px}.ps-nav{padding:14px}.ps-nav-links{gap:10px}.ps-hero{padding:58px 14px 32px}.ps-section-head{padding-left:14px;padding-right:14px;display:block}.ps-filters{padding-left:14px;padding-right:14px}.ps-grid{grid-template-columns:1fr;padding-left:8px;padding-right:8px}.ps-card,.ps-card:nth-child(n){grid-column:span 1;min-height:280px}.ps-card h3{font-size:28px}.ps-about{padding-left:14px;padding-right:14px}.ps-footer{padding:14px}.ps-project-hero{padding:18px 12px 42px}.ps-project-info h1{font-size:46px}.ps-gallery{gap:8px}.ps-nextprev{padding-left:14px;padding-right:14px}}

/* Revision 02: cleaner copy + upscaled local preview images. */
.ps-add-note{margin:0 22px 70px;padding:18px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.45}


/* Password gate — REV03 */
html.ps-auth-pending body > :not(.ps-password-gate){opacity:0;pointer-events:none;user-select:none;}
.ps-password-gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--bg);color:var(--ink);padding:22px;}
.ps-password-panel{width:min(520px,100%);border-top:1px solid var(--line);padding-top:20px;}
.ps-password-panel h1{font-size:clamp(46px,8vw,88px);line-height:.86;letter-spacing:-.065em;font-weight:500;margin:0 0 24px;}
.ps-password-panel p{font-size:18px;letter-spacing:-.02em;line-height:1.25;margin:0 0 22px;color:var(--muted);}
.ps-password-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:28px;}
.ps-password-form input,.ps-password-form button{font:inherit;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:13px 16px;}
.ps-password-form input{width:100%;outline:none;}
.ps-password-form input:focus{border-color:var(--ink);}
.ps-password-form button{cursor:pointer;background:var(--ink);color:var(--bg);padding-left:22px;padding-right:22px;}
.ps-password-error{min-height:1.4em;margin-top:14px!important;color:#9b2e2e!important;font-size:14px!important;}
@media(max-width:520px){.ps-password-form{grid-template-columns:1fr}.ps-password-form button{width:100%;}}

/* Revision 04 */
.ps-nda-note{margin-top:18px;color:var(--muted);font-size:13px;letter-spacing:0;line-height:1.4;}



/* Revision 06 — larger organic index, more curated teaser crops, refined project flow */
.ps-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));max-width:1520px;margin:0 auto;padding:0 22px 76px;gap:16px;align-items:start;}
.ps-card{position:relative;display:block;background:var(--soft);overflow:hidden;border-radius:0;min-height:0;grid-column:span 4;aspect-ratio:4/3;}
.ps-card:nth-child(9n+1){grid-column:span 5;aspect-ratio:5/4;}
.ps-card:nth-child(9n+2){grid-column:span 3;aspect-ratio:4/5;}
.ps-card:nth-child(9n+3){grid-column:span 4;aspect-ratio:4/3;}
.ps-card:nth-child(9n+4){grid-column:span 4;aspect-ratio:5/4;}
.ps-card:nth-child(9n+5){grid-column:span 4;aspect-ratio:1/1;}
.ps-card:nth-child(9n+6){grid-column:span 4;aspect-ratio:4/3;}
.ps-card:nth-child(9n+7){grid-column:span 3;aspect-ratio:1/1;}
.ps-card:nth-child(9n+8){grid-column:span 5;aspect-ratio:5/4;}
.ps-card:nth-child(9n+9){grid-column:span 4;aspect-ratio:4/3;}
.ps-card img{width:100%;height:100%;object-fit:cover;display:block;min-height:0;user-select:none;-webkit-user-drag:none;filter:saturate(1) contrast(1.01);transition:transform .7s var(--ease), filter .7s var(--ease);}
.ps-card:hover img{transform:scale(1.03);filter:saturate(1.03) contrast(1.04);}
.ps-card-meta{position:absolute;inset:auto 0 0 0;padding:16px;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.08) 55%,rgba(0,0,0,0));color:#fff;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;min-height:42%;}
.ps-card h3{font-size:clamp(22px,2vw,34px);line-height:.92;letter-spacing:-.04em;margin:0;max-width:12ch;}
.ps-card span{font-size:12px;color:rgba(255,255,255,.8);text-align:right;}
.ps-card em{font-style:normal;font-size:12px;color:rgba(255,255,255,.86);}
.ps-project-hero{grid-template-columns:minmax(250px,360px) minmax(0,1fr);gap:clamp(18px,3vw,40px);padding:24px 22px 66px;}
.ps-project-info{min-height:calc(100vh - 120px);}
.ps-project-info h1{font-size:clamp(40px,4.9vw,74px);letter-spacing:-.06em;}
.ps-project-summary{font-size:clamp(18px,2vw,24px);line-height:1.13;max-width:720px;}
.ps-gallery{display:flex;flex-direction:column;gap:clamp(18px,2vw,28px);align-items:center;}
.ps-gallery figure,.ps-gallery figure:nth-child(n){width:100%;margin:0;background:transparent;display:flex;justify-content:center;align-items:center;grid-column:auto;}
.ps-gallery img{display:block;width:auto;max-width:min(100%,1180px);height:auto;max-height:84vh;object-fit:contain;user-select:none;-webkit-user-drag:none;box-shadow:none;}
.ps-gallery a{pointer-events:none;cursor:default;}
@media(min-width:1600px){.ps-grid{max-width:1560px;}.ps-gallery img{max-width:1220px;}}
@media(max-width:1100px){.ps-grid{grid-template-columns:repeat(8,minmax(0,1fr));padding-left:16px;padding-right:16px;gap:14px;}.ps-card:nth-child(9n+1),.ps-card:nth-child(9n+8){grid-column:span 5;}.ps-card:nth-child(9n+2),.ps-card:nth-child(9n+7){grid-column:span 3;}.ps-card:nth-child(9n+3),.ps-card:nth-child(9n+4),.ps-card:nth-child(9n+5),.ps-card:nth-child(9n+6),.ps-card:nth-child(9n+9){grid-column:span 4;}.ps-card:nth-child(9n+2),.ps-card:nth-child(9n+4),.ps-card:nth-child(9n+7){aspect-ratio:4/5;}}
@media(max-width:900px){.ps-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:12px;padding-right:12px;gap:12px;}.ps-card,.ps-card:nth-child(n){grid-column:span 1;aspect-ratio:4/3;}.ps-project-hero{grid-template-columns:1fr;padding:18px 12px 48px;}.ps-project-info{position:static;min-height:0;margin-bottom:10px;}.ps-gallery img{max-width:100%;max-height:76vh;}}
@media(max-width:600px){.ps-grid{grid-template-columns:1fr;gap:11px;padding-left:10px;padding-right:10px;}.ps-card,.ps-card:nth-child(n){grid-column:span 1;aspect-ratio:4/3;}.ps-card-meta{min-height:48%;padding:14px;}.ps-project-info h1{font-size:42px;}.ps-project-summary{font-size:18px;letter-spacing:-.025em;}.ps-gallery{gap:14px;}.ps-gallery img{max-height:72vh;}}


/* Revision 09 — Sharp & Shout rebrand, About page, refreshed footer */
.ps-nav{grid-template-columns:auto 1fr;align-items:center;}
.ps-nav-center{display:none!important;}
.ps-brand-logo{display:inline-flex;align-items:center;max-width:270px;}
.ps-brand-logo img{display:block;width:100%;height:auto;max-width:270px;}
.ps-hero .ps-kicker{letter-spacing:.08em;text-transform:uppercase;}
.ps-about-teaser{padding:64px 22px 82px;display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line);}
.ps-about-teaser h2{font-size:clamp(34px,4.6vw,72px);line-height:.92;letter-spacing:-.06em;font-weight:500;margin:0;max-width:10ch;}
.ps-about-teaser p{font-size:20px;letter-spacing:-.025em;line-height:1.2;margin:0 0 22px;max-width:680px;}
.ps-about-page{padding:56px 22px 86px;}
.ps-about-head{padding:0 0 40px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(260px,480px) 1fr;gap:30px;align-items:end;}
.ps-about-head h1{font-size:clamp(44px,5.2vw,84px);line-height:.9;letter-spacing:-.065em;font-weight:500;margin:0;max-width:10ch;}
.ps-about-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:48px;padding-top:28px;}
.ps-about-main p{font-size:22px;line-height:1.14;letter-spacing:-.03em;margin:0 0 18px;}
.ps-about-meta{display:grid;gap:14px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);}
.ps-about-meta div{display:grid;gap:4px;}
.ps-about-meta span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
.ps-about-meta strong,.ps-about-meta a{font-size:16px;color:var(--ink);text-decoration:none;}
.ps-cv-block{border-top:1px solid var(--line);padding-top:16px;margin-bottom:26px;}
.ps-cv-block h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;}
.ps-cv-list,.ps-simple-list{list-style:none;padding:0;margin:0;display:grid;gap:18px;}
.ps-cv-list li{display:grid;gap:4px;}
.ps-cv-list strong{font-size:16px;line-height:1.15;}
.ps-cv-list span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
.ps-cv-list p,.ps-simple-list li{margin:0;font-size:14px;line-height:1.45;color:var(--ink);}
.ps-cv-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.ps-footer{padding:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px;}
@media(max-width:900px){.ps-about-teaser,.ps-about-head,.ps-about-grid{grid-template-columns:1fr;}.ps-about-teaser h2{max-width:none;}.ps-cv-columns{grid-template-columns:1fr;}.ps-about-page{padding:34px 14px 60px;}.ps-about-teaser{padding:48px 14px 60px;}}


/* Revision 15 — refined index motion, video features, S&S favicon */
.ps-card{
  transform:translateY(18px);
  opacity:0;
  transition:
    transform .75s var(--ease),
    opacity .75s var(--ease),
    filter .75s var(--ease);
}
.ps-card.ps-inview{
  transform:translateY(0);
  opacity:1;
}
.ps-card:nth-child(3n+1){transition-delay:.02s;}
.ps-card:nth-child(3n+2){transition-delay:.08s;}
.ps-card:nth-child(3n+3){transition-delay:.14s;}
.ps-card:hover{
  z-index:3;
}
.ps-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.16), rgba(255,255,255,0) 28%);
  opacity:0;
  transition:opacity .35s var(--ease);
  pointer-events:none;
  mix-blend-mode:soft-light;
}
.ps-card:hover::after{opacity:1;}
.ps-card:hover img{
  transform:scale(1.045);
}
.ps-card-meta{
  transform:translateY(6px);
  transition:transform .45s var(--ease);
}
.ps-card:hover .ps-card-meta{transform:translateY(0);}
.ps-video-feature{
  width:100%!important;
  max-width:1180px;
  margin:0 auto!important;
  display:block!important;
  background:#111!important;
  position:relative;
}
.ps-video-feature video,
.ps-youtube-wrap iframe{
  width:100%;
  display:block;
  border:0;
  background:#111;
}
.ps-video-feature video{
  height:auto;
  max-height:84vh;
  object-fit:contain;
}
.ps-youtube-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#111;
}
.ps-youtube-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.ps-video-feature figcaption{
  font-size:12px;
  color:var(--muted);
  padding:8px 0 0;
  background:var(--bg);
}
@media(max-width:700px){
  .ps-card{transition-delay:0s!important;}
  .ps-video-feature figcaption{padding-left:0;}
}


/* Revision 18 — editorial moodboard homepage */
.ps-grid.ps-grid-moodboard{
  grid-template-columns:repeat(16,minmax(0,1fr));
  max-width:1680px;
  gap:16px;
  padding:8px 22px 96px;
  align-items:start;
}
.ps-grid-moodboard .ps-card{
  margin-top:var(--board-offset,0px);
  position:relative;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(0,0,0,.04);
  background:#ebe8e1;
  transform:translate3d(0,18px,0);
  transition:transform .75s var(--ease), opacity .75s var(--ease), box-shadow .45s var(--ease), filter .45s var(--ease);
}
.ps-grid-moodboard .ps-card.ps-inview{transform:translate3d(0,0,0);}
.ps-grid-moodboard .ps-card:nth-child(12n+1){grid-column:span 7; aspect-ratio:5/4; --board-offset:0px;}
.ps-grid-moodboard .ps-card:nth-child(12n+2){grid-column:span 4; aspect-ratio:4/5; --board-offset:42px;}
.ps-grid-moodboard .ps-card:nth-child(12n+3){grid-column:span 5; aspect-ratio:1/1; --board-offset:18px;}
.ps-grid-moodboard .ps-card:nth-child(12n+4){grid-column:span 6; aspect-ratio:4/3; --board-offset:52px;}
.ps-grid-moodboard .ps-card:nth-child(12n+5){grid-column:span 4; aspect-ratio:3/4; --board-offset:8px;}
.ps-grid-moodboard .ps-card:nth-child(12n+6){grid-column:span 6; aspect-ratio:1/1; --board-offset:28px;}
.ps-grid-moodboard .ps-card:nth-child(12n+7){grid-column:span 5; aspect-ratio:4/5; --board-offset:74px;}
.ps-grid-moodboard .ps-card:nth-child(12n+8){grid-column:span 3; aspect-ratio:3/4; --board-offset:18px;}
.ps-grid-moodboard .ps-card:nth-child(12n+9){grid-column:span 8; aspect-ratio:16/10; --board-offset:36px;}
.ps-grid-moodboard .ps-card:nth-child(12n+10){grid-column:span 4; aspect-ratio:1/1; --board-offset:0px;}
.ps-grid-moodboard .ps-card:nth-child(12n+11){grid-column:span 4; aspect-ratio:4/5; --board-offset:46px;}
.ps-grid-moodboard .ps-card:nth-child(12n+12){grid-column:span 8; aspect-ratio:5/4; --board-offset:18px;}
.ps-grid-moodboard .ps-card img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:translate3d(0,var(--parallax,0px),0) scale(1.035);
  transition:transform .8s var(--ease), filter .6s var(--ease);
  filter:saturate(1.01) contrast(1.015);
}
.ps-grid-moodboard .ps-card:hover{box-shadow:0 14px 38px rgba(0,0,0,.11), 0 0 0 1px rgba(0,0,0,.045);}
.ps-grid-moodboard .ps-card:hover img{
  transform:translate3d(0,calc(var(--parallax,0px) - 4px),0) scale(1.075);
  filter:saturate(1.04) contrast(1.04);
}
.ps-grid-moodboard .ps-card-meta{
  min-height:34%;
  padding:15px 16px;
  background:linear-gradient(to top,rgba(0,0,0,.76),rgba(0,0,0,.18) 54%,rgba(0,0,0,0));
}
.ps-grid-moodboard .ps-card-meta div{align-self:end;}
.ps-grid-moodboard .ps-card h3{max-width:13ch;}
.ps-grid-moodboard .ps-card span{align-self:end;}
.ps-grid-moodboard .ps-card::before{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 26%);
  pointer-events:none; z-index:1; opacity:.55;
}
.ps-grid-moodboard .ps-card-meta, .ps-grid-moodboard .ps-card::after{z-index:2;}
@media (max-width:1300px){
  .ps-grid.ps-grid-moodboard{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;}
  .ps-grid-moodboard .ps-card:nth-child(12n+1), .ps-grid-moodboard .ps-card:nth-child(12n+9), .ps-grid-moodboard .ps-card:nth-child(12n+12){grid-column:span 7;}
  .ps-grid-moodboard .ps-card:nth-child(12n+2), .ps-grid-moodboard .ps-card:nth-child(12n+5), .ps-grid-moodboard .ps-card:nth-child(12n+8), .ps-grid-moodboard .ps-card:nth-child(12n+10), .ps-grid-moodboard .ps-card:nth-child(12n+11){grid-column:span 5;}
  .ps-grid-moodboard .ps-card:nth-child(12n+3), .ps-grid-moodboard .ps-card:nth-child(12n+4), .ps-grid-moodboard .ps-card:nth-child(12n+6), .ps-grid-moodboard .ps-card:nth-child(12n+7){grid-column:span 6;}
}
@media (max-width:900px){
  .ps-grid.ps-grid-moodboard{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 12px 72px;gap:12px;}
  .ps-grid-moodboard .ps-card,.ps-grid-moodboard .ps-card:nth-child(n){grid-column:span 1;aspect-ratio:4/3;--board-offset:0px;margin-top:0;}
  .ps-grid-moodboard .ps-card img{transform:scale(1.03);}
}
@media (max-width:600px){
  .ps-grid.ps-grid-moodboard{grid-template-columns:1fr;padding:6px 10px 58px;gap:12px;}
  .ps-grid-moodboard .ps-card,.ps-grid-moodboard .ps-card:nth-child(n){grid-column:span 1;aspect-ratio:4/3;}
  .ps-grid-moodboard .ps-card-meta{min-height:42%; padding:14px;}
}


/* Revision 19 — fashion / editorial index */
.ps-section-head{
  padding-top:42px;
}
.ps-section-head h2{
  font-family:var(--font);
  letter-spacing:.16em;
}
.ps-filters{
  max-width:1680px;
  margin:0 auto;
  padding:0 22px 34px;
  opacity:.72;
}
.ps-filter{
  border-color:rgba(0,0,0,.12);
  padding:7px 11px;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ps-grid.ps-grid-editorial{
  grid-template-columns:repeat(18,minmax(0,1fr));
  max-width:1740px;
  gap:18px;
  padding:14px 22px 118px;
  align-items:start;
}
.ps-grid-editorial .ps-card{
  box-shadow:none;
  background:#e8e4dc;
  isolation:isolate;
  overflow:hidden;
}
.ps-grid-editorial .ps-card::before{
  content:attr(data-index);
  position:absolute;
  top:12px;
  left:12px;
  z-index:4;
  color:rgba(255,255,255,.88);
  font-size:11px;
  letter-spacing:.16em;
  mix-blend-mode:difference;
}
.ps-grid-editorial .ps-card::after{
  background:
    radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.18), rgba(255,255,255,0) 24%),
    linear-gradient(to bottom, rgba(255,255,255,.05), rgba(0,0,0,.05));
  mix-blend-mode:soft-light;
}
.ps-grid-editorial .ps-card img{
  transform:translate3d(0,var(--parallax,0px),0) scale(1.04);
  filter:saturate(.98) contrast(1.03);
}
.ps-grid-editorial .ps-card:hover img{
  transform:translate3d(0,calc(var(--parallax,0px) - 6px),0) scale(1.09);
  filter:saturate(1.02) contrast(1.06);
}
.ps-grid-editorial .ps-card-meta{
  padding:18px;
  min-height:36%;
  background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.18) 55%,rgba(0,0,0,0));
  grid-template-columns:1fr;
}
.ps-grid-editorial .ps-card-meta span{
  display:none;
}
.ps-grid-editorial .ps-card em{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.ps-grid-editorial .ps-card h3{
  font-size:clamp(25px,2.5vw,54px);
  line-height:.86;
  letter-spacing:-.065em;
  max-width:9ch;
  margin-top:5px;
}
.ps-grid-editorial .ps-card:nth-child(18n+1){
  grid-column:1 / span 10;
  aspect-ratio:16/11;
  --board-offset:0px;
}
.ps-grid-editorial .ps-card:nth-child(18n+2){
  grid-column:12 / span 5;
  aspect-ratio:4/5;
  --board-offset:82px;
}
.ps-grid-editorial .ps-card:nth-child(18n+3){
  grid-column:4 / span 5;
  aspect-ratio:1/1;
  --board-offset:-10px;
}
.ps-grid-editorial .ps-card:nth-child(18n+4){
  grid-column:10 / span 8;
  aspect-ratio:16/10;
  --board-offset:16px;
}
.ps-grid-editorial .ps-card:nth-child(18n+5){
  grid-column:1 / span 4;
  aspect-ratio:3/4;
  --board-offset:50px;
}
.ps-grid-editorial .ps-card:nth-child(18n+6){
  grid-column:5 / span 7;
  aspect-ratio:5/4;
  --board-offset:18px;
}
.ps-grid-editorial .ps-card:nth-child(18n+7){
  grid-column:13 / span 4;
  aspect-ratio:3/4;
  --board-offset:-28px;
}
.ps-grid-editorial .ps-card:nth-child(18n+8){
  grid-column:2 / span 6;
  aspect-ratio:16/10;
  --board-offset:38px;
}
.ps-grid-editorial .ps-card:nth-child(18n+9){
  grid-column:9 / span 4;
  aspect-ratio:4/5;
  --board-offset:8px;
}
.ps-grid-editorial .ps-card:nth-child(18n+10){
  grid-column:13 / span 5;
  aspect-ratio:1/1;
  --board-offset:72px;
}
.ps-grid-editorial .ps-card:nth-child(18n+11){
  grid-column:1 / span 8;
  aspect-ratio:5/4;
  --board-offset:18px;
}
.ps-grid-editorial .ps-card:nth-child(18n+12){
  grid-column:10 / span 6;
  aspect-ratio:4/5;
  --board-offset:-18px;
}
.ps-grid-editorial .ps-card:nth-child(18n+13){
  grid-column:4 / span 5;
  aspect-ratio:1/1;
  --board-offset:64px;
}
.ps-grid-editorial .ps-card:nth-child(18n+14){
  grid-column:10 / span 8;
  aspect-ratio:16/10;
  --board-offset:24px;
}
.ps-grid-editorial .ps-card:nth-child(18n+15){
  grid-column:1 / span 5;
  aspect-ratio:4/5;
  --board-offset:4px;
}
.ps-grid-editorial .ps-card:nth-child(18n+16){
  grid-column:7 / span 5;
  aspect-ratio:1/1;
  --board-offset:44px;
}
.ps-grid-editorial .ps-card:nth-child(18n+17){
  grid-column:12 / span 3;
  aspect-ratio:3/4;
  --board-offset:12px;
}
.ps-grid-editorial .ps-card:nth-child(18n+18){
  grid-column:15 / span 4;
  aspect-ratio:4/5;
  --board-offset:86px;
}
.ps-grid-editorial .ps-card:nth-child(1) .ps-card-meta{
  min-height:42%;
}
.ps-grid-editorial .ps-card:nth-child(1) h3{
  font-size:clamp(54px,7.4vw,132px);
  max-width:7ch;
}
.ps-grid-editorial .ps-card:nth-child(1) em{
  font-size:12px;
}
.ps-grid-editorial .ps-card:nth-child(1)::before{
  top:18px;
  left:18px;
}
@media(max-width:1300px){
  .ps-grid.ps-grid-editorial{
    grid-template-columns:repeat(12,minmax(0,1fr));
  }
  .ps-grid-editorial .ps-card:nth-child(n){
    grid-column:auto;
  }
  .ps-grid-editorial .ps-card:nth-child(9n+1){grid-column:span 7; aspect-ratio:5/4; --board-offset:0px;}
  .ps-grid-editorial .ps-card:nth-child(9n+2){grid-column:span 5; aspect-ratio:4/5; --board-offset:44px;}
  .ps-grid-editorial .ps-card:nth-child(9n+3){grid-column:span 4; aspect-ratio:1/1; --board-offset:8px;}
  .ps-grid-editorial .ps-card:nth-child(9n+4){grid-column:span 8; aspect-ratio:16/10; --board-offset:28px;}
  .ps-grid-editorial .ps-card:nth-child(9n+5){grid-column:span 5; aspect-ratio:4/5; --board-offset:18px;}
  .ps-grid-editorial .ps-card:nth-child(9n+6){grid-column:span 7; aspect-ratio:5/4; --board-offset:0px;}
  .ps-grid-editorial .ps-card:nth-child(9n+7){grid-column:span 6; aspect-ratio:1/1; --board-offset:38px;}
  .ps-grid-editorial .ps-card:nth-child(9n+8){grid-column:span 3; aspect-ratio:3/4; --board-offset:0px;}
  .ps-grid-editorial .ps-card:nth-child(9n+9){grid-column:span 3; aspect-ratio:4/5; --board-offset:50px;}
}
@media(max-width:900px){
  .ps-grid.ps-grid-editorial{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:8px 12px 76px;
  }
  .ps-grid-editorial .ps-card:nth-child(n){
    grid-column:span 1;
    aspect-ratio:4/3;
    --board-offset:0px;
    margin-top:0;
  }
  .ps-grid-editorial .ps-card:nth-child(1){
    grid-column:1 / -1;
    aspect-ratio:4/3;
  }
  .ps-grid-editorial .ps-card:nth-child(1) h3{
    font-size:clamp(42px,12vw,86px);
  }
}
@media(max-width:600px){
  .ps-filters{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:20px;
  }
  .ps-grid.ps-grid-editorial{
    grid-template-columns:1fr;
    padding:6px 10px 60px;
    gap:12px;
  }
  .ps-grid-editorial .ps-card:nth-child(n){
    grid-column:1;
    aspect-ratio:4/3;
  }
}


/* Revision 21 — keep Balmain video embedded, normalize first index title */
.ps-grid-editorial .ps-card:nth-child(1) h3{
  font-size:clamp(25px,2.5vw,54px)!important;
  line-height:.86!important;
  letter-spacing:-.065em!important;
  max-width:9ch!important;
}
.ps-grid-editorial .ps-card:nth-child(1) em{
  font-size:10px!important;
  letter-spacing:.18em!important;
}
