/* Existing Light editorial modules, scoped to the four service Pages. */
.eyecareEditorialView .childHero h1 { font-family:var(--display); font-size:clamp(50px,4.8vw,76px); font-weight:400; line-height:.94; letter-spacing:-.035em; margin:0 0 24px; overflow-wrap:normal; }
.eyecareEditorialView .childHero .kicker { font-size:10px; line-height:1.2; letter-spacing:.13em; margin-bottom:22px; }
.eyecareEditorialView .childHero .innerCopy > p:not(.kicker) { font-size:16px; line-height:1.58; max-width:39ch; }
.eyecareEditorialView .childBack { border-bottom:1px solid var(--b-line); min-height:auto; padding-bottom:8px; gap:8px; }
.eyecareEditorialView .childBack span { width:auto; height:auto; background:none; color:var(--accent); font-size:15px; }
.eyecareEditorialView .jmmStoryCopy p { max-width:52ch; }
.eyecareEditorialView .jmmStoryCopy h2 { overflow-wrap:anywhere; }
.eyecareEditorialView .eyecareServiceStory--reverse .jmmStoryImage { order:-1; }
.eyecareEditorialView .jmmStoryImage { margin:0; }
.eyecareEditorialView .jmmStoryImage img { display:block; }
.eyecareEditorialView .jmmStoryImage figcaption { padding:12px 20px; font-size:11px; line-height:1.5; background:var(--b-white,#faf9f6); }
.eyecareEditorialView .eyecareServiceInterlude { margin:0; padding:48px 5vw; background:var(--b-white,#faf9f6); }
.eyecareEditorialView .eyecareServiceInterlude img { display:block; width:100%; height:clamp(320px,42vw,620px); object-fit:cover; }
.eyecareEditorialView .eyecareServiceInterlude figcaption { margin-top:14px; font-size:11px; line-height:1.5; }
.eyecareEditorialView .eyecareServiceBooking { padding:72px 5vw; background:var(--b-white,#faf9f6); }
.eyecareEditorialView .eyecareServiceBooking h2 { font-family:var(--display); font-size:clamp(36px,4vw,64px); font-weight:400; line-height:1.05; margin:18px 0 28px; }
.eyecareEditorialView .eyecareServiceReview { padding:12px 5vw; font-size:12px; line-height:1.5; border-block:1px solid var(--b-line,rgba(25,24,21,.15)); background:var(--b-white,#faf9f6); }
.eyecareEditorialView .eyecareServiceInlineNote { font-size:11px; line-height:1.5; max-width:65ch; padding-left:12px; border-left:2px solid var(--accent,#704214); }
.eyecareEditorialView .linkrow { flex-wrap:wrap; }
@media(max-width:960px) {
 .eyecareEditorialView .eyecareServiceStory--reverse .jmmStoryImage { order:initial; }
 .eyecareEditorialView .eyecareServiceInterlude { padding:32px 20px; }
 .eyecareEditorialView .eyecareServiceInterlude img { height:360px; }
 .eyecareEditorialView .eyecareServiceBooking { padding:48px 20px; }
}
.eyecareEditorialView .jmmStoryImage { position:relative; }
.eyecareEditorialView .jmmStoryImage figcaption { position:absolute; inset:auto 0 0; }

@media(max-width:960px) { .eyecareEditorialView .childHero h1 { font-size:clamp(40px,8.2vw,58px); } }
@media(max-width:560px) { .eyecareEditorialView .childHero h1 { font-size:clamp(36px,10.5vw,46px); } }
