.photocoagulation-page { color: #31596b; }
.photocoagulation-page .lower-hero-visual img { opacity: 1 !important; object-position: 50% 43%; }
.photocoagulation-page .photo-shell { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.photocoagulation-page .photo-nav { padding: 20px 0; border-bottom: 1px solid #d9eaf0; background: #fff; }
.photocoagulation-page .photo-nav .photo-shell { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; }
.photocoagulation-page .photo-nav strong { color: #0a536f; font-size: .88rem; }
.photocoagulation-page .photo-nav a { color: #306c86; font-size: .86rem; font-weight: 700; text-decoration: none; }
.photocoagulation-page .photo-nav a:hover, .photocoagulation-page .photo-rows a:hover { text-decoration: underline; }
.photocoagulation-page .photo-section { padding: clamp(58px, 7vw, 96px) 0; scroll-margin-top: 90px; }
.photocoagulation-page .photo-section--tint { background: #f2f9fb; }
.photocoagulation-page .photo-kicker { margin: 0 0 9px; color: #148dc0; font-size: .78rem; font-weight: 800; letter-spacing: .16em; }
.photocoagulation-page .photo-section h2 { margin: 0 0 24px; color: #0b506c; font-size: clamp(1.65rem, 2.7vw, 2.4rem); line-height: 1.4; }
.photocoagulation-page .photo-section h3 { margin: 0 0 10px; color: #174e67; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.5; }
.photocoagulation-page .photo-section p { line-height: 1.95; }
.photocoagulation-page .photo-lead { max-width: 750px; margin: 0 0 29px; }
.photocoagulation-page .photo-intro { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(250px, .8fr); gap: clamp(30px, 6vw, 90px); align-items: center; }
.photocoagulation-page .photo-intro p { margin: 0 0 1em; }
.photocoagulation-page .photo-keypoint { padding: 25px 28px; border-radius: 14px; background: #eaf6f9; }
.photocoagulation-page .photo-keypoint strong { color: #0b5876; }
.photocoagulation-page .photo-keypoint p { margin: 8px 0 0; }
.photocoagulation-page .photo-rows { border-top: 1px solid #cce3eb; }
.photocoagulation-page .photo-rows > div { display: grid; grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr); column-gap: 35px; padding: 25px 0; border-bottom: 1px solid #cce3eb; }
.photocoagulation-page .photo-rows h3 { grid-row: span 2; }
.photocoagulation-page .photo-rows p { margin: 0; }
.photocoagulation-page .photo-rows a { width: fit-content; margin-top: 10px; color: #007fad; font-weight: 700; text-decoration: none; }
.photocoagulation-page .photo-process { margin: 0; padding: 0; list-style: none; border-top: 1px solid #cce3eb; }
.photocoagulation-page .photo-process li { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 21px; padding: 23px 0; border-bottom: 1px solid #cce3eb; }
.photocoagulation-page .photo-process li > span { color: #168bbd; font-weight: 800; letter-spacing: .08em; }
.photocoagulation-page .photo-process h3, .photocoagulation-page .photo-process p { margin: 0; }
.photocoagulation-page .photo-process h3 { margin-bottom: 6px; }
.photocoagulation-page .photo-equipment { max-width: 650px; margin: 36px 0 0; }
.photocoagulation-page .photo-equipment img { display: block; width: 100%; height: auto; border-radius: 14px; }
.photocoagulation-page .photo-equipment figcaption { margin-top: 10px; color: #668392; font-size: .8rem; line-height: 1.6; }
.photocoagulation-page .photo-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.photocoagulation-page .photo-actions a { padding: 12px 18px; border: 1px solid #b9dce8; border-radius: 8px; color: #087ca9; font-weight: 700; text-decoration: none; }
.photocoagulation-page .photo-actions a:hover { background: #eaf7fb; }
.photocoagulation-page .photo-section .photo-source { margin: 42px 0 0; padding-top: 18px; border-top: 1px solid #d9eaf0; color: #6a8592; font-size: .78rem; line-height: 1.8; }
.photocoagulation-page .photo-source a { color: inherit; }
@media (max-width: 760px) {
  .photocoagulation-page .photo-shell { width: min(100% - 32px, 640px); }
  .photocoagulation-page .photo-nav .photo-shell { gap: 10px 18px; }
  .photocoagulation-page .photo-nav strong { flex-basis: 100%; }
  .photocoagulation-page .photo-intro, .photocoagulation-page .photo-rows > div { grid-template-columns: 1fr; }
  .photocoagulation-page .photo-keypoint { padding: 20px; }
  .photocoagulation-page .photo-rows h3 { grid-row: auto; }
  .photocoagulation-page .photo-process li { grid-template-columns: 38px minmax(0, 1fr); gap: 10px; }
  .photocoagulation-page .photo-actions a { width: 100%; }
}
