/* Portfolio update: media, four firsts, and streaming video gallery. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.press-section{background:#202722;color:var(--paper);padding:85px 7% 35px;position:relative;overflow:hidden}.press-section::before{content:"";position:absolute;top:0;left:7%;height:6px;width:90px;background:var(--red)}.press-top{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}.press-section .eyebrow{color:#cbd0c5}.press-section h2{font-size:clamp(38px,4.5vw,68px);margin-bottom:20px;line-height:1.28}.press-section h2 .serif{color:#e4cfad}.press-intro{font-size:13px;color:#b8c0b5;margin:0}.press-numbers{display:flex;gap:40px;padding-bottom:4px}.press-numbers strong{font-family:Arial,var(--sans);font-weight:500;font-size:75px;letter-spacing:-.06em;line-height:1.2}.press-numbers strong span{font-size:17px;margin-left:6px;letter-spacing:0}.press-numbers p{font-size:11px;color:#b8c0b5;margin-top:6px}.press-mastheads{border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;display:flex;gap:25px;flex-wrap:wrap;justify-content:space-between;padding:30px 0;margin-top:40px}.press-mastheads span{font-family:var(--serif);font-size:clamp(18px,2vw,29px);font-weight:600}.press-stories{margin-top:20px}.press-story{display:grid;grid-template-columns:235px 1fr 30px;gap:25px;align-items:center;border-bottom:1px solid #ffffff25;padding:26px 0;transition:color .2s,padding .2s}.press-story:hover{color:#e4cfad;padding-left:8px}.press-source{font-size:12px;font-weight:600}.press-source small{display:block;font-size:9px;font-weight:400;color:#a1aa9e;margin-top:8px}.press-story h3{font-size:18px;font-weight:500;line-height:1.6;margin:0}.press-arrow{font-size:24px;color:#d1b58e}.press-footnote{font-size:9px;color:#899585;margin:25px 0 0}
.firsts-section{border-bottom:1px solid var(--line)}.firsts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:40px}.first-visual{position:relative;height:235px;background:#dfdfd3;overflow:hidden}.first-visual img{height:100%;width:100%;object-fit:cover;object-position:center 35%;filter:saturate(.8)}.first-visual span{position:absolute;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--red);color:var(--paper);height:44px;width:44px;font-family:Arial;font-size:18px}.first-rank img{object-position:50% 0}.first-item .first-type{font-size:10px;color:var(--red);letter-spacing:.1em;margin:23px 0 12px}.first-item h3{font-size:21px;line-height:1.5;min-height:63px;margin-bottom:15px}.first-item h4{font-size:12px;font-weight:500;margin:0 0 10px;line-height:1.8}.first-item>p:not(.first-type){font-size:11px;color:var(--muted);min-height:63px;margin-bottom:10px}.first-item .text-link{font-size:11px}.firsts-note{font-size:9px;color:var(--muted);margin:30px 0 0}
.video-gallery-section{background:#ecece3;border-top:1px solid var(--line);max-width:none}.video-toolbar{display:flex;gap:30px;align-items:center;justify-content:space-between;margin-top:35px;border-bottom:1px solid #c8ccc1}.video-filters{display:flex;gap:24px;overflow:auto;white-space:nowrap}.video-filters button{border:0;background:none;border-bottom:2px solid transparent;padding:15px 0;font-size:11px;color:var(--muted)}.video-filters button.active{color:var(--red);border-bottom-color:var(--red)}.video-filters sup{font-size:9px;margin-left:4px}.video-search{display:flex;align-items:center;max-width:210px;border-bottom:1px solid #8e968a;gap:10px}.video-search input{min-width:0;width:100%;padding:7px 0;font:inherit;font-size:11px;border:0;background:none;color:var(--ink);outline:0}.video-search:focus-within{outline:2px solid var(--red);outline-offset:4px}.video-search>span:last-child{font-size:23px}.gallery-count{font-size:10px;color:var(--muted);margin:18px 0 24px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}.video-card{border:0;background:none;text-align:left;padding:0;min-width:0}.video-thumb{position:relative;aspect-ratio:16/9;background:#202722;overflow:hidden}.video-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .45s}.video-card:hover img{transform:scale(1.035);filter:brightness(.8)}.video-card-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:48px;width:48px;border:1px solid #ffffffaa;border-radius:50%;color:white;display:grid;place-items:center;background:#20272255;font-size:14px;padding-left:2px;backdrop-filter:blur(3px)}.video-card:hover .video-card-play{background:var(--red);border-color:var(--red)}.video-duration{position:absolute;right:10px;bottom:10px;font-family:Arial;font-size:10px;color:#fff;background:#0009;padding:4px 6px}.video-card-meta{display:flex;justify-content:space-between;color:var(--red);font-size:9px;margin-top:14px}.video-card-meta>span:last-child{color:var(--muted)}.video-card h3{font-size:17px;line-height:1.6;margin:9px 0 4px}.video-card>p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.gallery-more{text-align:center;margin-top:35px}.video-rights{text-align:center;font-size:10px;color:var(--muted);margin:25px 0 0}
.factory-visual img{width:100%;height:auto;aspect-ratio:auto;max-height:760px;object-fit:contain;background:#e7e6df}
.video-dialog{max-width:1100px;background:#171d19;color:#f6f3ec}.video-dialog .dialog-content{padding:0}.video-dialog .dialog-close{background:#f6f3ec;color:#202321;z-index:5}.screening-header{display:flex;justify-content:space-between;margin:0;padding:24px 75px 22px 30px;color:#bdc7b6;font-size:9px;letter-spacing:.12em}.screening-stage{position:relative;background:#080b09;width:100%;overflow:hidden}.screening-stage video{display:block;width:100%;aspect-ratio:16/9;max-height:60vh;object-fit:contain;background:#080b09}.player-watermark{pointer-events:none;position:absolute;top:18px;right:20px;font-size:11px;letter-spacing:.07em;opacity:.62;text-shadow:0 1px 4px #000;color:white;z-index:1}.video-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;background:#0008;padding:10px 18px;color:white;pointer-events:none}.screening-details{padding:24px 30px 30px}.screening-details .dialog-category{color:#dfa88b;margin-top:0}.screening-details h2{font-size:27px;color:white;margin-bottom:10px}.screening-details>p{color:#aeb9a7;font-size:12px}.screening-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff20;margin-top:22px;padding-top:20px;gap:20px}.screening-footer>span{font-size:10px;color:#889781}.screening-footer>div{display:flex;gap:20px}.screening-footer button{border:0;border-bottom:1px solid #ffffff55;padding:5px 0;background:none;color:#f6f3ec;font-size:11px}.screening-footer button:disabled{opacity:.3;cursor:default}.screening-footer button:hover:not(:disabled){color:#e4cfad}
@media(max-width:1100px){nav{gap:19px}.press-numbers{gap:25px}.press-numbers strong{font-size:60px}.firsts-grid{gap:20px}.first-visual{height:200px}.first-item h3{font-size:18px}.press-story{grid-template-columns:200px 1fr 25px;gap:20px}.video-toolbar{flex-wrap:wrap;gap:10px}.video-search{margin-bottom:12px;max-width:240px}.video-filters{width:100%}}
@media(max-width:760px){.press-section{padding:55px 6% 28px}.press-top{display:block}.press-section h2{font-size:40px}.press-intro{font-size:12px}.press-numbers{margin-top:25px;gap:45px}.press-numbers strong{font-size:58px}.press-numbers p{font-size:10px}.press-mastheads{margin-top:20px;padding:22px 0;justify-content:flex-start;gap:17px 24px}.press-mastheads span{font-size:20px}.press-story{grid-template-columns:1fr 25px;gap:9px 15px;padding:23px 0}.press-source{grid-column:1;font-size:12px}.press-source small{font-size:8px;margin-top:5px}.press-story h3{font-size:16px;grid-column:1;grid-row:2}.press-arrow{grid-column:2;grid-row:1/3}.press-footnote{font-size:8px}.firsts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.first-visual{height:210px}.first-item h3{font-size:18px;min-height:54px}.first-item>p:not(.first-type){font-size:11px;min-height:72px}.first-item h4{font-size:11px;min-height:38px}.first-item .text-link{font-size:10px;gap:15px}.first-visual span{height:36px;width:36px;font-size:15px}.firsts-note{font-size:8px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 17px}.video-filters{gap:22px}.video-filters button{font-size:10px}.video-search{max-width:none;width:100%;margin:5px 0 12px}.video-card h3{font-size:15px}.video-card>p{font-size:10px}.video-card-meta{font-size:8px}.video-card-meta>span:last-child{display:none}.video-card-play{height:38px;width:38px;font-size:12px}.video-duration{font-size:9px;padding:3px 5px;bottom:7px;right:7px}.video-rights{font-size:9px}.screening-header{font-size:8px;padding:22px 65px 18px 18px;gap:12px;letter-spacing:.02em}.screening-details{padding:20px}.screening-details h2{font-size:23px}.screening-footer{align-items:flex-start;flex-direction:column;gap:15px}.screening-footer button{font-size:11px}.player-watermark{font-size:8px;top:10px;right:12px}.screening-stage video{min-height:200px;max-height:55vh}.factory-visual img{aspect-ratio:auto;max-height:none;object-fit:contain}}
@media(max-width:400px){.firsts-grid{gap:28px 15px}.first-visual{height:170px}.first-item h3{font-size:16px}.video-grid{grid-template-columns:1fr}.video-card h3{font-size:17px}.video-card-meta>span:last-child{display:inline}.video-thumb{aspect-ratio:1.77}.video-card-play{height:45px;width:45px}}

/* Keep mobile media and filters within the viewport. */
@media(max-width:700px){.hero-photo,.founder-image{width:100%;min-width:0}.founder-section{grid-template-columns:minmax(0,1fr)}.work-filters{overflow-x:auto;white-space:nowrap}.work-filters button{flex-shrink:0}}

/* Honors & Credentials Section */
.honors-section{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.honors-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin:35px 0}
.honors-stat strong{font-family:Arial,var(--sans);font-size:clamp(32px,3.2vw,46px);font-weight:500;letter-spacing:-.05em;line-height:1.15;display:block;color:var(--ink)}
.honors-stat strong span{font-size:14px;color:var(--red);margin-left:4px;letter-spacing:0;font-weight:600}
.honors-stat p{font-size:11px;color:var(--muted);margin:8px 0 0}
.honors-filters{display:flex;gap:24px;overflow-x:auto;white-space:nowrap;border-bottom:1px solid var(--line);margin-bottom:35px}
.honors-filters button{border:0;background:none;border-bottom:2px solid transparent;padding:14px 0;font-size:12px;color:var(--muted);transition:color .2s,border-color .2s}
.honors-filters button:hover{color:var(--ink)}
.honors-filters button.active{color:var(--red);border-bottom-color:var(--red);font-weight:600}
.honors-filters sup{font-size:9px;margin-left:3px}
.honors-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}
.honor-card{border:1px solid var(--line);background:#fff;text-align:left;padding:0;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;position:relative;overflow:hidden;border-radius:2px}
.honor-card:hover{transform:translateY(-4px);border-color:#b5b8aa;box-shadow:0 12px 28px rgba(0,0,0,.08)}
.honor-card-visual{position:relative;aspect-ratio:4/3;background:#eceae3;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px}
.honor-card-visual img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.08));transition:transform .35s ease}
.honor-card:hover .honor-card-visual img{transform:scale(1.05)}
.honor-card-tag{position:absolute;top:10px;left:10px;background:rgba(32,39,34,.9);color:#f6f3ec;font-size:9px;letter-spacing:.08em;padding:4px 8px;border-radius:1px;backdrop-filter:blur(4px);z-index:2}
.honor-card-body{padding:18px 16px 16px;display:flex;flex-direction:column;flex:1;background:#faf8f4}
.honor-card-org{font-size:10px;color:var(--muted);margin-bottom:6px;line-height:1.4}
.honor-card h3{font-size:13px;font-weight:600;line-height:1.55;margin:0 0 14px;color:var(--ink);flex:1}
.honor-card-action{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ebe8df;padding-top:10px;margin-top:auto;font-size:10px;color:var(--muted)}
.honor-card:hover .honor-card-action{color:var(--red)}
.honor-card-action span:last-child{color:var(--red);font-weight:600}
.honors-footnote{font-size:10px;color:var(--muted);margin:32px 0 0;text-align:left}

/* Honor Dialog / Lightbox */
.honor-dialog-open{max-width:960px!important;max-height:92vh!important;overflow-y:auto!important;padding:0;border:0;background:#181b19!important;color:#f6f3ec!important;box-shadow:0 25px 60px rgba(0,0,0,.45)}
.honor-dialog-open .dialog-content{padding:0}
.honor-dialog-open .dialog-close{background:#f6f3ec!important;color:#202321!important;display:grid!important;place-items:center!important;font-size:26px;line-height:1}
.honor-dialog-frame{display:flex;flex-direction:column}
.honor-dialog-top{padding:18px 75px 16px 25px;border-bottom:1px solid #ffffff18;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#b9c2b4}
.honor-dialog-stage{background:#0b0d0c;display:flex;align-items:center;justify-content:center;padding:20px;max-height:55vh;overflow:hidden}
.honor-dialog-stage img{max-height:50vh;max-width:100%;object-fit:contain;box-shadow:0 8px 30px rgba(0,0,0,.6);background:transparent;margin-bottom:0}
.honor-dialog-info{padding:22px 28px 24px;background:#181b19}
.honor-dialog-badge{font-size:11px;color:#dfa88b;margin-bottom:8px;font-weight:500;letter-spacing:.05em}
.honor-dialog-info h2{font-size:20px;line-height:1.45;color:#fff;margin:0 0 10px}
.honor-dialog-desc{font-size:13px;line-height:1.75;color:#c0c8bb;margin:0 0 16px}
.honor-dialog-meta{display:flex;justify-content:space-between;border-top:1px solid #ffffff18;padding-top:12px;font-size:10px;color:#8e9988}
.honor-dialog-nav{display:flex;gap:20px;margin-top:16px;border-top:1px solid #ffffff18;padding-top:14px}
.honor-dialog-nav button{background:none;border:0;border-bottom:1px solid #ffffff40;color:#f6f3ec;padding:4px 0;font-size:12px;transition:color .2s;cursor:pointer}
.honor-dialog-nav button:hover:not(:disabled){color:#dfa88b;border-bottom-color:#dfa88b}
.honor-dialog-nav button:disabled{opacity:.25;cursor:default}

@media(max-width:1100px){
  .honors-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
}
@media(max-width:760px){
  .honors-stats{grid-template-columns:repeat(2,1fr);gap:20px 15px}
  .honors-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .honor-card-body{padding:14px 12px}
  .honor-card h3{font-size:12px}
  .honor-dialog-info{padding:18px}
  .honor-dialog-info h2{font-size:18px}
  .honor-dialog-stage{padding:15px;max-height:50vh}
  .honor-dialog-stage img{max-height:48vh}
}
@media(max-width:480px){
  .honors-grid{grid-template-columns:1fr}
}

/* Standard Showcase Banner in Factory */
.standard-banner {
  margin-top: 45px;
  background: #f0eee7;
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 40px;
  padding: 35px 40px;
  align-items: center;
  position: relative;
  border-radius: 2px;
}
.standard-cover-frame {
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
  aspect-ratio: 1 / 1.414;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.standard-cover-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.standard-banner:hover .standard-cover-frame img {
  transform: scale(1.03);
}
.standard-pill {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(32,39,34,.9);
  color: #f6f3ec;
  font-size: 9px;
  letter-spacing: .08em;
  padding: 4px 8px;
  backdrop-filter: blur(4px);
}
.standard-content {
  display: flex;
  flex-direction: column;
}
.standard-content h3 {
  font-size: clamp(22px, 2.3vw, 32px);
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 12px;
  color: var(--ink);
}
.standard-desc {
  font-size: 13px;
  line-height: 1.85;
  color: var(--muted);
  margin: 0 0 20px;
  max-width: 780px;
}
.standard-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 16px 0;
  margin-bottom: 24px;
}
.standard-meta-grid span {
  display: block;
  font-size: 10px;
  color: var(--muted);
  margin-bottom: 4px;
}
.standard-meta-grid strong {
  font-size: 12px;
  color: var(--ink);
  font-weight: 500;
  line-height: 1.4;
}
.standard-actions {
  display: flex;
  gap: 20px;
  align-items: center;
}
.button-outline {
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  transition: background .2s, color .2s, border-color .2s;
}
.button-outline:hover {
  background: var(--ink);
  color: var(--paper);
}
.dialog-pdf-link {
  color: #dfa88b;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  font-weight: 500;
  transition: opacity .2s;
}
.dialog-pdf-link:hover {
  opacity: .8;
}

@media(max-width: 1000px) {
  .standard-banner {
    grid-template-columns: 200px 1fr;
    gap: 30px;
    padding: 28px;
  }
  .standard-meta-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}
@media(max-width: 720px) {
  .standard-banner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 22px 18px;
  }
  .standard-cover-frame {
    max-width: 220px;
    margin: 0 auto;
  }
  .standard-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .standard-actions .button {
    justify-content: center;
  }
}
