.photo-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; }
.photo-lead { color: #69717b; font-size: 16px; line-height: 1.75; margin: 25px 0; }
.photo-lines article { border-top: 1px solid var(--line); padding: 19px 0; }
.photo-lines h3 { font-size: 21px; font-weight: 400; line-height: 1.3; letter-spacing: -.03em; margin: 0 0 9px; }
.photo-lines p { color: #69717b; font-size: 16px; line-height: 1.7; margin: 0; }
.photo-still { margin: 0; }
.photo-still img { display: block; width: 100%; height: 530px; object-fit: cover; border-radius: 15px; }
.photo-still figcaption { color: #747d88; font-size: 12px; line-height: 1.6; margin-top: 16px; }
.photo-pair,.photo-types { background: #f7f8fa; }
.photo-pair-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.photo-pair-grid figure { margin: 0; }
.photo-pair-grid img,.photo-pair-grid video { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 13px; background: #ddd; }
.photo-pair-grid figcaption { font-size: 14px; color: #646d78; margin-top: 15px; }
.photo-note { color: #69717b; font-size: 14px; line-height: 1.7; margin-top: 24px; max-width: 800px; }
.photo-detail-film { height: 600px; border-radius: 15px; overflow: hidden; background: #17171b; }
.photo-detail-film video { display: block; width: 100%; height: 100%; object-fit: cover; }
.photo-action blockquote { border-left: 2px solid #cbd1d9; padding-left: 16px; margin: 18px 0 0; color: #555e6a; font-size: 14px; line-height: 1.75; }
.photo-type-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.photo-type-grid article { border: 1px solid var(--line); border-radius: 12px; padding: 28px; background: white; }
.photo-type-grid h3 { font-size: 23px; font-weight: 400; line-height: 1.3; letter-spacing: -.03em; margin: 23px 0 16px; }
.photo-type-grid p { font-size: 16px; line-height: 1.7; color: #69717b; margin: 0; }
@media(max-width:1000px) { .photo-split { gap: 35px; } .photo-still img { height: 490px; } .photo-type-grid { gap: 16px; } .photo-type-grid article { padding: 22px; } }
@media(max-width:800px) { .photo-split { grid-template-columns: 1fr; gap: 35px; } .photo-type-grid { grid-template-columns: 1fr; } .photo-detail-film { height: 390px; } .photo-still img { height: 420px; } }
@media(max-width:650px) { .photo-pair-grid { grid-template-columns: 1fr; gap: 28px; } .photo-still img { height: 360px; } .photo-page .hub-cta h2 { font-size: 39px; } .photo-detail-film { height: 330px; } }
