/* V12.17: model-specific photo story. The approved IM C2010 V16 is untouched. */
.detail-photo-story-v17 .v17-product-intro { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; background:linear-gradient(120deg,#f7fbff 0%,#edf6fd 62%,#f7fafd 100%); }
.detail-photo-story-v17 .v17-intro-copy { min-width:0; padding:48px 20px 48px 48px; }
.detail-photo-story-v17 .v17-category { color:#436882; font-size:18px; font-weight:650; line-height:1.5; }
.detail-photo-story-v17 .v17-maker { color:#1760ca; font-size:25px; font-weight:700; margin-top:28px; }
.detail-photo-story-v17 .v17-intro-copy h2 { font-size:58px; font-weight:800; letter-spacing:-.055em; line-height:1.18; margin-top:9px; }
.detail-photo-story-v17 .v17-intro-description { font-size:21px; color:#536e85; line-height:1.8; margin-top:27px; max-width:660px; }
.detail-photo-story-v17 .v17-intro-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:29px; }
.detail-photo-story-v17 .v17-intro-facts>div { display:grid; grid-template-columns:34px minmax(0,1fr); gap:3px 13px; align-items:center; min-width:0; background:#ffffffe6; border:1px solid #e8eff7; border-radius:10px; padding:18px 15px; }
.detail-photo-story-v17 .v17-intro-facts svg { color:#0a58da; grid-row:1/3; width:32px; height:32px; }
.detail-photo-story-v17 .v17-intro-facts strong { font-size:19px; line-height:1.5; letter-spacing:-.025em; }
.detail-photo-story-v17 .v17-intro-facts span { font-size:14px; line-height:1.5; color:#7390a6; }
.detail-photo-story-v17 :is(.v17-product-photo,.v17-feature-photo) { min-width:0; margin:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:34px; }
.detail-photo-story-v17 .v17-product-photo img { display:block; width:100%; height:520px; object-fit:contain; mix-blend-mode:multiply; }
.detail-photo-story-v17 :is(.v17-product-photo,.v17-feature-photo) figcaption { color:#426d91; font-size:16px; font-weight:650; text-align:center; line-height:1.6; padding:11px 18px; border:1px solid #d9e7f3; border-radius:100px; margin-top:18px; background:#ffffffb3; }
.detail-photo-story-v17 .v17-mono-paper img { filter:grayscale(1); }
.detail-photo-story-v17 .v15-condition-row p { overflow-wrap:anywhere; }
.detail-photo-story-v17 .v17-features { background:#f8fbff; }
.detail-photo-story-v17 .v17-feature-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; }
.detail-photo-story-v17 .v17-feature-copy { min-width:0; padding:45px 30px 42px 46px; }
.detail-photo-story-v17 .v17-feature-copy h2 { font-size:39px; }
.detail-photo-story-v17 .v17-feature-rows { display:grid; gap:27px; margin-top:34px; }
.detail-photo-story-v17 .v17-feature-rows article { display:flex; align-items:flex-start; gap:19px; }
.detail-photo-story-v17 .v17-feature-rows svg { width:34px; height:34px; flex:none; padding:12px; box-sizing:content-box; border-radius:50%; background:#e8f3ff; color:#0a58da; }
.detail-photo-story-v17 .v17-feature-rows h3 { font-size:23px; line-height:1.45; font-weight:700; margin:4px 0 9px; }
.detail-photo-story-v17 .v17-feature-rows p { color:#5f788f; font-size:18px; line-height:1.85; }
.detail-photo-story-v17 .v17-feature-photo img { display:block; width:100%; height:430px; object-fit:contain; mix-blend-mode:multiply; }
.detail-photo-story-v17 .v17-specifications { padding:0 46px 42px; }
.detail-photo-story-v17 .v17-spec-heading { color:#183e5e; font-size:24px; font-weight:700; line-height:1.5; margin-bottom:18px; }
.detail-photo-story-v17 .v17-specifications .detail-guidance { margin:0; }
.detail-photo-story-v17 .v17-specifications .detail-specs { margin:0; }
.detail-photo-story-v17 .v17-office-fit { padding:40px 44px; background:#fff; }
.detail-photo-story-v17 .v17-office-heading { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:26px; }
.detail-photo-story-v17 .v17-office-heading h2 { font-size:31px; }
.detail-photo-story-v17 .v17-office-heading .v15-button { flex:none; font-size:16px; }
.detail-photo-story-v17 .v17-office-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.detail-photo-story-v17 .v17-office-cards article { padding:25px 24px; border:1px solid #e0eaf5; border-radius:9px; background:#f8fbff; min-width:0; }
.detail-photo-story-v17 .v17-office-cards svg { color:#135bca; width:32px; height:32px; margin-bottom:18px; }
.detail-photo-story-v17 .v17-office-cards h3 { font-size:21px; font-weight:700; line-height:1.5; margin-bottom:13px; }
.detail-photo-story-v17 .v17-office-cards p { color:#607b92; font-size:17px; line-height:1.85; }
.detail-photo-story-v17 .v17-contract-note { color:#6a849a; font-size:15px; line-height:1.75; margin-top:22px; }
@media(max-width:1200px) {
 .detail-photo-story-v17 .v17-intro-copy { padding:35px 15px 35px 31px; }
 .detail-photo-story-v17 .v17-intro-copy h2 { font-size:46px; }
 .detail-photo-story-v17 .v17-intro-description { font-size:19px; margin-top:22px; }
 .detail-photo-story-v17 .v17-intro-facts { gap:9px; margin-top:23px; }
 .detail-photo-story-v17 .v17-intro-facts>div { padding:14px 11px; gap:2px 8px; grid-template-columns:27px minmax(0,1fr); }
 .detail-photo-story-v17 .v17-intro-facts strong { font-size:16px; }
 .detail-photo-story-v17 .v17-intro-facts svg { width:26px; height:26px; }
 .detail-photo-story-v17 .v17-intro-facts span { font-size:13px; }
 .detail-photo-story-v17 :is(.v17-product-photo,.v17-feature-photo) { padding:25px; }
 .detail-photo-story-v17 .v17-product-photo img { height:440px; }
 .detail-photo-story-v17 .v17-feature-copy { padding:33px 26px; }
 .detail-photo-story-v17 .v17-feature-copy h2 { font-size:33px; }
 .detail-photo-story-v17 .v17-feature-rows { gap:24px; }
 .detail-photo-story-v17 .v17-feature-rows article { gap:14px; }
 .detail-photo-story-v17 .v17-feature-rows svg { width:27px; height:27px; padding:9px; }
 .detail-photo-story-v17 .v17-feature-rows h3 { font-size:21px; }
 .detail-photo-story-v17 .v17-feature-rows p { font-size:17px; }
 .detail-photo-story-v17 .v17-feature-photo img { height:370px; }
 .detail-photo-story-v17 .v17-specifications { padding:0 30px 32px; }
 .detail-photo-story-v17 .v17-office-fit { padding:32px 30px; }
 .detail-photo-story-v17 .v17-office-heading { gap:20px; }
 .detail-photo-story-v17 .v17-office-heading h2 { font-size:28px; }
 .detail-photo-story-v17 .v17-office-cards article { padding:22px 18px; }
 .detail-photo-story-v17 .v17-office-cards h3 { font-size:19px; }
 .detail-photo-story-v17 .v17-office-cards p { font-size:16px; }
}
@media(max-width:760px) {
 .detail-photo-story-v17 .v17-product-intro { grid-template-columns:minmax(0,1fr); }
 .detail-photo-story-v17 .v17-intro-copy { padding:28px 23px 15px; }
 .detail-photo-story-v17 .v17-category { font-size:16px; }
 .detail-photo-story-v17 .v17-maker { font-size:21px; margin-top:19px; }
 .detail-photo-story-v17 .v17-intro-copy h2 { font-size:39px; line-height:1.22; }
 .detail-photo-story-v17 .v17-intro-description { font-size:17px; line-height:1.8; }
 .detail-photo-story-v17 .v17-intro-facts { gap:10px; }
 .detail-photo-story-v17 .v17-intro-facts>div { display:flex; flex-direction:column; text-align:center; padding:17px 9px; gap:7px; }
 .detail-photo-story-v17 .v17-intro-facts svg { width:29px; height:29px; margin-bottom:4px; }
 .detail-photo-story-v17 .v17-intro-facts strong { font-size:16px; }
 .detail-photo-story-v17 .v17-product-photo { padding:18px 23px 28px; }
 .detail-photo-story-v17 .v17-product-photo img { height:335px; }
 .detail-photo-story-v17 :is(.v17-product-photo,.v17-feature-photo) figcaption { font-size:14px; margin-top:8px; padding:9px 15px; }
 .detail-photo-story-v17 .v17-feature-layout { grid-template-columns:minmax(0,1fr); }
 .detail-photo-story-v17 .v17-feature-copy { padding:28px 23px 10px; }
 .detail-photo-story-v17 .v17-feature-copy h2 { font-size:29px; }
 .detail-photo-story-v17 .v17-feature-rows { margin-top:25px; gap:23px; }
 .detail-photo-story-v17 .v17-feature-rows h3 { font-size:20px; }
 .detail-photo-story-v17 .v17-feature-rows p { font-size:16px; }
 .detail-photo-story-v17 .v17-feature-rows svg { width:25px; height:25px; padding:8px; }
 .detail-photo-story-v17 .v17-feature-photo { padding:20px 23px 26px; }
 .detail-photo-story-v17 .v17-feature-photo img { height:285px; }
 .detail-photo-story-v17 .v17-specifications { padding:0 23px 27px; }
 .detail-photo-story-v17 .v17-spec-heading { font-size:23px; }
 .detail-photo-story-v17 .v17-office-fit { padding:28px 23px; }
 .detail-photo-story-v17 .v17-office-heading { display:block; margin-bottom:22px; }
 .detail-photo-story-v17 .v17-office-heading h2 { font-size:27px; }
 .detail-photo-story-v17 .v17-office-heading .v15-button { margin-top:18px; width:100%; font-size:16px; }
 .detail-photo-story-v17 .v17-office-cards { grid-template-columns:minmax(0,1fr); gap:13px; }
 .detail-photo-story-v17 .v17-office-cards article { padding:23px 21px; }
 .detail-photo-story-v17 .v17-office-cards h3 { font-size:20px; }
 .detail-photo-story-v17 .v17-office-cards p { font-size:16px; }
 .detail-photo-story-v17 .v17-contract-note { font-size:14px; }
}
@media(max-width:380px) {
 .detail-photo-story-v17 .v17-intro-copy { padding-inline:18px; }
 .detail-photo-story-v17 .v17-intro-copy h2 { font-size:34px; }
 .detail-photo-story-v17 .v17-intro-description { font-size:16px; }
 .detail-photo-story-v17 .v17-intro-facts>div { padding-inline:7px; }
 .detail-photo-story-v17 .v17-intro-facts strong { font-size:15px; }
 .detail-photo-story-v17 .v17-feature-copy { padding-inline:18px; }
 .detail-photo-story-v17 .v17-feature-copy h2 { font-size:27px; }
 .detail-photo-story-v17 .v17-feature-rows article { gap:11px; }
 .detail-photo-story-v17 .v17-feature-rows svg { width:22px; height:22px; padding:7px; }
 .detail-photo-story-v17 .v17-specifications,.detail-photo-story-v17 .v17-office-fit { padding-inline:18px; }
}
/* These official landscape files contain wide white margins; keep the full device larger on narrow phones. */
@media(max-width:480px) {
 .detail-photo-story-v17[data-detail-model^="canon-"] :is(.v17-product-photo,.v17-feature-photo) img { object-fit:cover; object-position:50% 50%; }
 .detail-photo-story-v17[data-detail-model="epson-emc800"] :is(.v17-product-photo,.v17-feature-photo) img { object-fit:cover; object-position:55% 50%; }
 .detail-photo-story-v17[data-detail-model="epson-emc800"] .v17-product-photo img { height:300px; }
}
