/* Press page only. Brand: core/brand/atomic/agent/visual/colors_and_type.css @ 3a0fd98b.
   Reuses existing web typography and tokens; no added fonts or palette. */
.press-page { overflow-wrap: anywhere; }
.press-updated { color: var(--text-sub); font-size: 14px; }
.press-shortcuts { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0; }
.press-shortcuts a { padding: 12px 16px; border: 1px solid var(--primary-600); border-radius: 8px; color: var(--primary-600); }
.press-shortcuts a:last-child { background: var(--primary-600); color: var(--base-white); }
.press-page h4 { font-size: 14px; line-height: 1.5; font-weight: 500; margin: 24px 0 8px; }
.press-page h4 + blockquote { margin-top: 8px; }
.press-page section { scroll-margin-top: 80px; }
.press-table { overflow-x: auto; margin: 24px 0; }
.press-table table { margin: 0; min-width: 480px; }
.press-page .press-person { max-width: 360px; }
.press-person img { width: 100%; height: auto; }
.press-page a:focus-visible, .press-table:focus-visible { outline: 2px solid var(--primary-600); outline-offset: 4px; }
@media print {
 .site-header, .site-footer { display: none; }
 .press-page { max-width: none; padding: 0; }
 .press-table { overflow: visible; }
 .press-table table { min-width: 0; }
 tr, figure { break-inside: avoid; }
}

/* Contact form: existing web tokens and typography. */
.press-form { display: grid; gap: 12px; max-width: 640px; margin: 24px 0; }
.press-form > label { margin-top: 12px; }
.press-form input, .press-form select, .press-form textarea { width: 100%; min-width: 0; padding: 12px; font: inherit; font-size: 16px; color: var(--text-main); background: var(--base-white); border: 1px solid var(--secondary-500); border-radius: 8px; }
.press-form textarea { resize: vertical; }
.press-form .press-consent { display: flex; align-items: flex-start; gap: 12px; }
.press-form input[type="checkbox"] { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 4px; }
.press-form button { border: 0; border-radius: 8px; background: var(--primary-600); color: var(--base-white); font: inherit; padding: 14px 20px; cursor: pointer; }
.press-form button:disabled { opacity: .55; cursor: not-allowed; }
.press-form :focus-visible { outline: 2px solid var(--primary-600); outline-offset: 3px; }
.press-form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#press-message-hint { font-size: 14px; margin: 0; }
@media print { .press-form, #press-contact-status { display: none; } }

.press-form[hidden] { display: none; }

/* Link destinations remain anchors, styled as touch-friendly buttons. */
.press-page .press-link-button { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; max-width: 100%; padding: 10px 16px; margin: 4px 8px 4px 0; border: 1px solid var(--primary-600); border-radius: 8px; background: var(--base-white); color: var(--primary-600); font-size: 14px; font-weight: 500; line-height: 1.5; text-decoration: none; white-space: normal; text-align: left; vertical-align: middle; }
.press-page .press-link-button:hover { background: var(--primary-600); color: var(--base-white); }
.press-page .press-shortcuts .press-link-button { margin: 0; }
.press-page .press-shortcuts .press-link-button:last-child { background: var(--primary-600); color: var(--base-white); }
.press-page #links ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.press-page #links li, .press-page #links .press-link-button { margin: 0; }

.press-shooting-guide { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 24px; margin: 24px 0; }
.press-page .press-shooting-guide figure { margin: 0; }
.press-shooting-guide img { width: 100%; height: auto; background: var(--base-white); }
.press-shooting-guide figcaption { margin-top: 12px; font-size: 14px; line-height: 1.7; color: var(--text-main); }
.press-shooting-guide strong { font-weight: 500; }

.press-profile-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 12px; margin: 16px 0; }
.press-page .press-profile-links .press-link-button { margin: 0; text-align: center; }
.press-page .press-profile-links .press-link-button:first-child { background: var(--primary-600); color: var(--base-white); }

/* Local media-hub proposal. Reuses brand web tokens from colors_and_type.css @ 3a0fd98b. */
.press-hub-hero { padding: 32px 0 8px; }
.press-hero-summary { max-width: 720px; font-size: 20px; line-height: 1.8; }
.press-hub-hero .press-shortcuts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.press-hub-hero .press-shortcuts .press-link-button { min-height: 64px; text-align: center; }
.press-hub-index { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 20px 0; border-top: 1px solid var(--border-1); border-bottom: 1px solid var(--border-1); }
.press-hub-index a { color: var(--primary-600); font-size: 14px; text-underline-offset: 4px; }
.press-page .press-hub-section { margin: 72px 0; }
.press-section-intro { color: var(--text-sub); margin-bottom: 32px; }
.press-topic { margin: 40px 0; scroll-margin-top: 80px; }
.press-page .press-topic > h3 { font-size: 20px; margin: 40px 0 20px; }
.press-page .press-topic h4 { font-size: 17px; line-height: 1.6; margin: 28px 0 12px; }
.press-page .press-topic h5 { font-size: 14px; font-weight: 500; line-height: 1.5; margin: 24px 0 8px; }
.press-page .press-topic h5 + blockquote { margin-top: 8px; }
.press-asset-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.press-page .press-asset-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border-1); border-radius: 12px; background: var(--base-white); color: var(--text-main); text-decoration: none; }
.press-asset-preview { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bg-04); }
.press-asset-preview img { width: 100%; height: 100%; object-fit: contain; }
.press-asset-details { display: grid; gap: 8px; padding: 16px; font-size: 14px; }
.press-asset-details strong { font-weight: 500; }
.press-asset-action { color: var(--primary-600); text-decoration: underline; text-underline-offset: 4px; }
.press-asset-card:hover { border-color: var(--primary-600); }
.press-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.press-contact-actions .press-link-button { margin: 0; }
@media (max-width: 640px) {
 .press-hub-hero .press-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .press-asset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
 .press-asset-details { padding: 12px; }
 .press-hero-summary { font-size: 18px; }
}
@media (max-width: 380px) { .press-asset-grid { grid-template-columns: 1fr; } }

/* Reference information stays in the text flow; buttons mark primary actions. */
.press-reference-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.press-reference-links a, .press-contact-details a, #news li a, #links li a { text-decoration: underline; text-underline-offset: 4px; }
.press-contact-details { line-height: 2; }
.press-page #links ul { gap: 12px 24px; }

.press-page .press-feature-portrait { max-width: 320px; margin: 24px auto; }
