.portfolio-press { background: #101010; padding: 90px 0; scroll-margin-top: 110px; color: #c8c8c8; }
.portfolio-press .section-header { margin-bottom: 36px; }
.portfolio-press .section-title { color: #fff; }
.portfolio-press .section-sub-title, .portfolio-press .press-source { color: #fc9a4b; }
.portfolio-press .section-header p { max-width: 620px; margin: 16px auto; color: #c8c8c8; }
.portfolio-press .press-source { display: inline-block; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.press-status { color: #aaa; font-size: 14px; margin-bottom: 22px; }
.press-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; align-items: start; }
.press-clipping { min-width: 0; overflow: hidden; border: 1px solid #ffffff18; border-radius: 22px; background: #191919; }
.press-clipping-image { display: block; position: relative; width: 100%; padding: 16px; border: 0; background: transparent; cursor: zoom-in; }
.press-clipping-image img { display: block; width: 100%; height: auto; min-height: 120px; border-radius: 10px; background: #242424; }
.press-read { display: block; padding-top: 14px; text-align: right; color: #fc9a4b; font-size: 13px; }
.press-clipping-content { padding: 4px 22px 24px; }
.press-category { color: #fc9a4b; font-size: 11px; text-transform: uppercase; letter-spacing: 1.4px; }
.press-clipping h3 { color: #f4f4f4; font-size: 18px; line-height: 1.5; margin: 9px 0 0; overflow-wrap: anywhere; }
.press-clipping:hover { border-color: #fc9a4b70; }
.portfolio-press a:focus-visible, .portfolio-press button:focus-visible, .press-dialog :focus-visible { outline: 2px solid #fc9a4b; outline-offset: -3px; }
.press-dialog { position: fixed; inset: 0; width: min(1200px, 96vw); height: 94vh; height: 94dvh; max-width: 96vw; max-height: 94dvh; margin: auto; padding: 18px; border: 1px solid #ffffff30; border-radius: 18px; background: #141414; color: #fff; z-index: 10000; }
.press-dialog[open] { display: flex; flex-direction: column; gap: 14px; }
.press-dialog::backdrop { background: #000e; }
.press-dialog-toolbar { display: flex; gap: 14px; align-items: center; flex-shrink: 0; }
.press-dialog-toolbar button, .press-dialog-toolbar a { border: 1px solid #ffffff35; border-radius: 8px; background: #242424; color: #fff; padding: 10px 14px; font: inherit; font-size: 14px; cursor: pointer; }
.press-dialog-toolbar .press-close { margin-left: auto; }
.press-preview-media { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; display: flex; justify-content: center; align-items: center; }
.press-preview-media img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.press-dialog.is-zoomed .press-preview-media { display: block; }
.press-dialog.is-zoomed img { max-width: none; max-height: none; margin: auto; }
#press-preview-title { flex-shrink: 0; margin: 0; color: #ddd; font-size: 14px; line-height: 1.5; text-align: center; }
@media (min-width: 992px) { .header-container .main-menu > ul { gap: clamp(10px, 1.1vw, 21px); } }
@media (max-width: 991px) { .press-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .portfolio-press { padding: 60px 0; } }
@media (max-width: 575px) {
  .press-grid { grid-template-columns: 1fr; gap: 22px; }
  .portfolio-press .section-title { font-size: 30px; }
  .press-dialog { padding: 10px; gap: 10px; }
  .press-dialog-toolbar { gap: 6px; }
  .press-dialog-toolbar button, .press-dialog-toolbar a { font-size: 12px; padding: 10px 8px; }
  #press-preview-title { font-size: 12px; }
}
