/* Lighting mockup layout. Shared site colors, type, buttons, header and footer retained. */
body.lighting-mockup main { color:var(--clr-espresso); }
body.lighting-mockup main .container { max-width:1200px; }
body.lighting-mockup main p { max-width:none; }
body.lighting-mockup main figure { margin:0; }
body.lighting-mockup main .lm-section { padding:48px 0; background:var(--clr-sand); }
body.lighting-mockup main h2 { font-family:var(--font-display); font-size:clamp(1.85rem,3vw,2.5rem); font-weight:600; line-height:1.15; color:var(--clr-teal); margin:0 0 16px; }
body.lighting-mockup main h3 { font-family:var(--font-display); font-size:1.35rem; font-weight:600; line-height:1.2; color:var(--clr-teal); margin:0 0 10px; }
body.lighting-mockup main p { margin:0 0 16px; }
body.lighting-mockup .lm-eyebrow { display:block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:var(--clr-terracotta); margin:0 0 10px; }
body.lighting-mockup .lm-head { max-width:850px; text-align:center; margin:0 auto 28px; }
body.lighting-mockup .lm-head p { color:var(--sr-muted); margin-bottom:0; }
body.lighting-mockup .lm-icon { display:inline-flex; color:var(--clr-terracotta); flex-shrink:0; }
body.lighting-mockup .lm-icon svg { width:38px; height:38px; }
body.lighting-mockup main .lm-intro { background:var(--clr-sand); }
body.lighting-mockup .lm-intro-grid { display:grid; grid-template-columns:.6fr 1.1fr 1.05fr; gap:28px; align-items:start; }
body.lighting-mockup .lm-intro-photo { height:100%; min-height:430px; overflow:hidden; border-radius:14px; }
body.lighting-mockup .lm-intro-photo img { width:100%; height:100%; object-fit:cover; }
body.lighting-mockup .lm-intro-copy { padding:16px 0; }
body.lighting-mockup .form-intro-features { display:grid; grid-template-columns:1fr; gap:9px; margin:20px 0 0; }
body.lighting-mockup .lm-intro-copy .form-intro-features li { color:var(--clr-espresso); }
body.lighting-mockup .lm-form { min-width:0; }
body.lighting-mockup .lm-form .estimate-card { padding:24px 20px; width:100%; }
body.lighting-mockup .lm-form .estimate-card .form-heading { font-size:clamp(1.35rem,2vw,1.65rem); color:var(--clr-white); }
body.lighting-mockup .lm-form .form-subhead { color:rgba(255,255,255,.9); font-size:var(--fs-sm); }
body.lighting-mockup .lm-form iframe { min-height:480px; }
body.lighting-mockup .lm-basics { border-top:1px solid var(--clr-limestone); }
body.lighting-mockup .lm-basics-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:28px; align-items:stretch; }
body.lighting-mockup .lm-scenes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-content:start; }
body.lighting-mockup .lm-scene { position:relative; overflow:hidden; border-radius:14px; }
body.lighting-mockup .lm-scene img { display:block; width:100%; height:440px; object-fit:cover; }
body.lighting-mockup .lm-scene figcaption { position:absolute; inset:auto 12px 14px; padding:8px 12px; border-radius:8px; background:rgba(16,42,67,.9); color:var(--clr-white); font-size:var(--fs-sm); font-weight:700; }
body.lighting-mockup .lm-scene-note { grid-column:1/-1; color:var(--sr-muted); font-size:var(--fs-sm); margin:0; }
body.lighting-mockup .lm-layer-list { display:grid; gap:14px; }
body.lighting-mockup .lm-layer-card { display:flex; gap:18px; align-items:start; border:1px solid var(--clr-limestone); border-radius:12px; background:var(--clr-white); padding:20px; box-shadow:var(--sr-shadow); }
body.lighting-mockup .lm-layer-card p { font-size:15.5px; color:var(--sr-muted); margin:0; }
body.lighting-mockup .lm-split { display:grid; grid-template-columns:1fr 1fr; background:var(--clr-teal); color:var(--clr-white); }
body.lighting-mockup .lm-split > figure { min-height:400px; position:relative; }
body.lighting-mockup .lm-split > figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
body.lighting-mockup .lm-split-copy { padding:48px clamp(24px,4vw,64px); align-self:center; }
body.lighting-mockup main .lm-split h2 { color:var(--clr-white); }
body.lighting-mockup .lm-split-copy p { color:rgba(255,255,255,.88); }
body.lighting-mockup .lm-quality-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:28px; align-items:stretch; }
body.lighting-mockup .lm-quality-grid > figure { min-height:280px; border-radius:14px; overflow:hidden; }
body.lighting-mockup .lm-quality-grid > figure img { width:100%; height:100%; object-fit:cover; }
body.lighting-mockup .lm-table-scroll { max-width:100%; overflow-x:auto; border-radius:12px; border:1px solid var(--clr-limestone); }
body.lighting-mockup .lm-table-scroll:focus-visible { outline:3px solid var(--clr-terracotta); outline-offset:3px; }
body.lighting-mockup .lm-table-scroll table { min-width:560px; margin:0; }
body.lighting-mockup .lm-table-scroll th,body.lighting-mockup .lm-table-scroll td { padding:12px 16px; }
body.lighting-mockup .lm-quality-note { display:flex; gap:14px; align-items:center; background:var(--clr-white); border-left:4px solid var(--clr-terracotta); border-radius:10px; padding:16px; margin:18px 0 0; font-size:var(--fs-sm); }
body.lighting-mockup .lm-quality-note svg { color:var(--clr-terracotta); flex:0 0 28px; width:28px; height:28px; }
body.lighting-mockup .lm-electrical { display:grid; grid-template-columns:.8fr 1.4fr; gap:36px; margin-top:36px; align-items:center; }
body.lighting-mockup .lm-electrical figure { height:360px; border-radius:14px; overflow:hidden; }
body.lighting-mockup .lm-electrical img { width:100%; height:100%; object-fit:cover; }
body.lighting-mockup .lm-electrical p { color:var(--sr-muted); }
body.lighting-mockup main .lm-options { background:var(--clr-white); }
body.lighting-mockup .lm-options-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
body.lighting-mockup .lm-option-card { display:flex; align-items:start; gap:22px; padding:24px; border:1px solid var(--clr-limestone); border-radius:14px; }
body.lighting-mockup .lm-option-card p { color:var(--sr-muted); margin:0; }
body.lighting-mockup .lm-planning-grid { display:grid; grid-template-columns:.85fr 1.3fr; gap:40px; margin-top:44px; }
body.lighting-mockup .lm-planning-grid > div:first-child { padding-right:32px; border-right:1px solid var(--clr-limestone); }
body.lighting-mockup .lm-planning-grid p { color:var(--sr-muted); }
body.lighting-mockup .lm-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; padding:0; margin:24px 0 0; }
body.lighting-mockup .lm-steps > li { position:relative; text-align:center; font-size:15px; color:var(--sr-muted); }
body.lighting-mockup .lm-steps strong { color:var(--clr-teal); display:block; margin-bottom:8px; }
body.lighting-mockup .lm-step-icon { display:inline-grid; place-items:center; width:42px; height:42px; border:1px solid var(--clr-terracotta); color:var(--clr-terracotta); border-radius:50%; margin-bottom:14px; }
body.lighting-mockup .lm-step-icon svg { width:25px; height:25px; }
body.lighting-mockup .lm-steps > li:not(:last-child)::after { content:'→'; position:absolute; top:7px; right:-14px; color:var(--clr-teal); }
body.lighting-mockup main .lm-cost { background:var(--clr-teal); color:var(--clr-white); }
body.lighting-mockup .lm-cost-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:start; }
body.lighting-mockup main .lm-cost h2 { color:var(--clr-white); }
body.lighting-mockup .lm-cost-grid > div:first-child > p:first-of-type { border-left:4px solid var(--clr-terracotta); background:rgba(255,255,255,.08); border-radius:10px; padding:20px; }
body.lighting-mockup .lm-cost a { color:var(--clr-white); text-decoration:underline; }
body.lighting-mockup .lm-cost-cards { display:grid; gap:16px; }
body.lighting-mockup .lm-cost-card { display:flex; align-items:start; gap:20px; padding:22px; border-radius:14px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05); }
body.lighting-mockup main .lm-cost-card h3 { color:var(--clr-white); }
body.lighting-mockup .lm-cost-card p,body.lighting-mockup .lm-cost-card li { color:rgba(255,255,255,.88); font-size:15.5px; }
body.lighting-mockup .lm-cost-card p:last-child { margin:0; }
body.lighting-mockup .lm-cost-card ul { padding-left:20px; margin:0 0 12px; list-style:disc; }
body.lighting-mockup .lm-cost-card li { list-style:disc; }
body.lighting-mockup .lm-cta .cta-band-actions { display:flex; flex-wrap:wrap; gap:18px; justify-content:flex-start; }
body.lighting-mockup .lm-faq-grid { display:grid; grid-template-columns:.7fr 1.4fr; gap:44px; align-items:start; }
body.lighting-mockup .lm-faq-grid > figure { border-radius:14px; overflow:hidden; height:470px; }
body.lighting-mockup .lm-faq-grid > figure img { width:100%; height:100%; object-fit:cover; }
body.lighting-mockup .lm-faq-list .faq-item { opacity:1!important; transform:none!important; }
body.lighting-mockup main .lm-intro-grid > *, body.lighting-mockup main .lm-basics-grid > *, body.lighting-mockup main .lm-quality-grid > *, body.lighting-mockup main .lm-electrical > *, body.lighting-mockup main .lm-cost-grid > *,body.lighting-mockup main .lm-faq-grid > * { min-width:0; }
@media(max-width:1050px) {
 body.lighting-mockup .lm-intro-grid { grid-template-columns:1fr 1fr; }
 body.lighting-mockup .lm-intro-photo { display:none; }
 body.lighting-mockup .lm-basics-grid { grid-template-columns:1fr; }
 body.lighting-mockup .lm-scene img { height:380px; }
 body.lighting-mockup .lm-layer-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.lighting-mockup .lm-layer-card { flex-direction:column; }
 body.lighting-mockup .lm-planning-grid { grid-template-columns:1fr; }
 body.lighting-mockup .lm-planning-grid > div:first-child { padding-right:0; border:0; }
}
@media(max-width:700px) {
 body.lighting-mockup main .lm-section { padding:36px 0; }
 body.lighting-mockup .lm-intro-grid,body.lighting-mockup .lm-options-grid,body.lighting-mockup .lm-quality-grid,body.lighting-mockup .lm-electrical,body.lighting-mockup .lm-cost-grid,body.lighting-mockup .lm-faq-grid { grid-template-columns:minmax(0,1fr); gap:26px; }
 body.lighting-mockup .lm-intro-photo { display:block; min-height:0; height:260px; }
 body.lighting-mockup .lm-intro-photo img { object-position:center 45%; }
 body.lighting-mockup .lm-intro-copy { padding:0; }
 body.lighting-mockup .lm-layer-list { grid-template-columns:1fr; }
 body.lighting-mockup .lm-layer-card { flex-direction:row; }
 body.lighting-mockup .lm-scene img { height:280px; }
 body.lighting-mockup .lm-scene figcaption { inset:auto 7px 9px; padding:7px 8px; }
 body.lighting-mockup .lm-split { grid-template-columns:1fr; }
 body.lighting-mockup .lm-split > figure { min-height:280px; }
 body.lighting-mockup .lm-split-copy { padding:36px 22px; }
 body.lighting-mockup .lm-quality-grid > figure { height:270px; }
 body.lighting-mockup .lm-electrical figure { height:260px; }
 body.lighting-mockup .lm-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 body.lighting-mockup .lm-steps > li::after { display:none; }
 body.lighting-mockup .lm-faq-grid > figure { height:280px; }
 body.lighting-mockup .lm-cta .cta-band-actions { align-items:stretch; flex-direction:column; }
}
/* Hero matches the established services and shower-remodeling hero. */

body.page-lighting.lighting-mockup main .hero-page { min-height: clamp(540px, 74vh, 660px); }
body.page-lighting.lighting-mockup main .hero-page .hero-image-wrap img { filter: none; object-position: 70% center; }
body.page-lighting.lighting-mockup main .hero-page .hero-overlay {
  background: linear-gradient(90deg, rgba(16,42,67,.96) 0%, rgba(16,42,67,.92) 32%, rgba(16,42,67,.74) 48%, rgba(16,42,67,.28) 64%, rgba(16,42,67,0) 80%),
              linear-gradient(0deg, rgba(16,42,67,.35) 0%, transparent 30%);
}
body.page-lighting.lighting-mockup main .hero-page .hero-inner { padding-top: clamp(7.5rem, 12vw, 9.5rem); padding-bottom: clamp(3rem, 5vw, 4.2rem); }
body.page-lighting.lighting-mockup main .hero-page .hero-content { max-width: 600px; }
body.page-lighting.lighting-mockup main .hero-page .hero-title { margin: 0 0 20px; line-height: 1.02; }
body.page-lighting.lighting-mockup main .hero-page .hero-title-serif, body.page-lighting.lighting-mockup main .hero-page .hero-title-accent {
  display: block; font-family: var(--font-display); font-style: normal; font-weight: 600; color: #fff;
  font-size: clamp(2.6rem, 5.2vw, 4.2rem); line-height: 1.02; letter-spacing: -.012em; margin: 0;
}
body.page-lighting.lighting-mockup main .hero-page .hero-title-accent { color: var(--clr-terracotta); }
body.page-lighting.lighting-mockup main .hero-page .hero-intro { color: rgba(255,255,255,.90); font-size: 17px; line-height: 1.7; max-width: 52ch; margin: 0 0 30px; }
body.page-lighting.lighting-mockup main .hero-page .hero-actions { gap: 14px; }
body.page-lighting.lighting-mockup main .hero-page .hero-actions .btn-primary:nth-child(n) { background: var(--clr-terracotta); border-color: var(--clr-terracotta); color: var(--clr-teal); border-radius: 8px; padding: 15px 26px; font-weight: 700; }
body.page-lighting.lighting-mockup main .hero-page .hero-actions .btn-outline-light[href^="tel:"]:nth-child(n) { border: 1.5px solid rgba(255,255,255,.9); border-radius: 8px; padding: 13px 24px; min-height: 0; gap: 10px; color: #fff; background: transparent; font-weight: 700; }
body.page-lighting.lighting-mockup main .hero-page .hero-actions .btn-outline-light[href^="tel:"]:nth-child(n)::before {
  flex: 0 0 18px; width: 18px; height: 18px; border: 0; border-radius: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / 18px no-repeat;
}
body.page-lighting.lighting-mockup main .hero-page .hero-actions .btn-outline-light[href^="tel:"]:nth-child(n):hover { background: rgba(255,255,255,.12); color: #fff; }
body.page-lighting.lighting-mockup main .hero-page .hero-actions .btn-outline-light[href^="tel:"]:nth-child(n):focus-visible { border-radius: 8px; }
@media (max-width: 1100px) and (min-width: 761px) {
  body.page-lighting.lighting-mockup main .hero-page .hero-overlay { background: linear-gradient(90deg, rgba(16,42,67,.96) 0%, rgba(16,42,67,.92) 40%, rgba(16,42,67,.78) 62%, rgba(16,42,67,.25) 82%, rgba(16,42,67,.05) 100%), linear-gradient(0deg, rgba(16,42,67,.35) 0%, transparent 30%); }
}
@media (max-width: 760px) {
  body.page-lighting.lighting-mockup main .hero-page { min-height: 0; }
  body.page-lighting.lighting-mockup main .hero-page .hero-overlay { background: linear-gradient(180deg, rgba(16,42,67,.80) 0%, rgba(16,42,67,.86) 55%, rgba(16,42,67,.94) 100%); }
  body.page-lighting.lighting-mockup main .hero-page .hero-inner { padding-top: 7rem; padding-bottom: 2.4rem; }
  body.page-lighting.lighting-mockup main .hero-page .hero-title-serif, body.page-lighting.lighting-mockup main .hero-page .hero-title-accent { font-size: clamp(2.3rem, 10vw, 2.9rem); }
  body.page-lighting.lighting-mockup main .hero-page .hero-intro { font-size: 16px; }
  body.page-lighting.lighting-mockup main .hero-page .hero-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  body.page-lighting.lighting-mockup main .hero-page .hero-actions a { width: 100%; justify-content: center; text-align: center; }
}
body.page-lighting.lighting-mockup main .hero-page .hero-inner { max-width:1180px; }

/* Remove the two requested photo placements and match the homepage FAQ layout. */
body.page-lighting.lighting-mockup main .lm-intro-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; }
body.page-lighting.lighting-mockup main .lm-faq { background:var(--clr-white); padding:clamp(56px,6.5vw,84px) 0; }
body.page-lighting.lighting-mockup main .lm-faq-grid { display:block; }
body.page-lighting.lighting-mockup main .lm-faq .section-intro { margin-bottom:44px; }
body.page-lighting.lighting-mockup main .lm-faq .section-intro h2 { font-family:var(--font-body); font-size:var(--fs-h2); font-weight:700; line-height:1.15; margin-bottom:16px; }
body.page-lighting.lighting-mockup main .lm-faq .section-intro h2::after { content:""; display:block; width:56px; height:3px; border-radius:2px; background:var(--clr-terracotta); margin:16px auto 0; }
body.page-lighting.lighting-mockup main .lm-faq .faq-list { max-width:860px; margin:0 auto; }
@media(max-width:700px) { body.page-lighting.lighting-mockup main .lm-intro-grid { grid-template-columns:minmax(0,1fr); gap:26px; } }
