/* Only lighting-specific composition; shared components remain in services.css. */
.lighting-cards{gap:1rem;margin-top:3rem}.lighting-card{overflow:hidden;border:1px solid var(--color-line);border-radius:.65rem}.lighting-card img{aspect-ratio:1.03;object-fit:cover}.lighting-card>.stack{padding:1.5rem;gap:.75rem}.lighting-card h3{font:600 var(--text-lead)/1.3 var(--font-body)}.lighting-card p{line-height:1.4}.lighting-card .number{display:flex;align-items:center;gap:1rem;color:var(--color-muted);font-size:2.5rem}.lighting-card .number::after{content:'';width:5rem;height:1px;background:var(--color-line)}
.lighting-process{background:radial-gradient(ellipse at top right,#06384c,var(--color-night))}.lighting-stages{display:grid;gap:2.5rem;margin-block:3rem}.lighting-stages article{align-items:center;text-align:center;gap:1rem}.lighting-stage-icon{position:relative;display:grid;place-items:center;width:8rem;height:8rem;border-radius:50%;border:1px solid var(--color-cyan);box-shadow:inset 0 0 1rem #00c4e522,0 0 1rem #00c4e522}.lighting-stage-icon .icon{width:3.5rem;height:3.5rem;stroke-width:1}.lighting-stage-icon::after{content:'';position:absolute;width:1px;height:1rem;top:calc(100% + .3rem);background:var(--color-cyan)}.lighting-stages h3{font:600 1rem/1.4 var(--font-body);margin-top:.75rem}.lighting-stages h3::after{content:'';display:block;width:2.5rem;height:2px;background:var(--color-cyan);margin:1rem auto 0}.lighting-stages p{max-width:22ch;color:var(--color-muted);line-height:1.4}.lighting-process .services-signature{flex-wrap:wrap;font-size:.65rem}.lighting-process .services-signature span{margin-left:auto}.lighting-portfolio{background:radial-gradient(ellipse at top,#084358,var(--color-night))}.lighting-portfolio::after{display:none}.lighting-page .services-estimate h2{font-size:var(--text-h2)}
@media(min-width:48rem){.lighting-stages{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem}.lighting-stage-icon{width:6rem;height:6rem}.lighting-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){
.lighting-page .services-hero{min-height:calc(950 * var(--service-unit))}.lighting-page .services-hero-copy{width:60%;gap:calc(25 * var(--service-unit));padding-top:calc(190 * var(--service-unit))}.lighting-page .services-hero h1{font-size:clamp(3rem,4.55vw,6rem)}.lighting-page .services-hero-copy>p{font-size:clamp(1rem,1.2vw,1.45rem)}.lighting-page .services-hero::after{background:linear-gradient(90deg,#00152455,transparent 65%)}
.lighting-directions{min-height:calc(1120 * var(--service-unit))}.lighting-directions h2,.lighting-process h2{font-size:clamp(3rem,5.5vw,6.5rem)}.lighting-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.lighting-card>.stack{padding:calc(26 * var(--service-unit));gap:.65rem}.lighting-card h3{font-size:clamp(1rem,1.5vw,1.8rem)}.lighting-card p{font-size:clamp(1rem,1.25vw,1.5rem)}
.lighting-process{min-height:calc(945 * var(--service-unit));display:flex;flex-direction:column}.lighting-process>.split{grid-template-columns:1.2fr 1fr;align-items:center}.lighting-process>.split>p{max-width:35ch}.lighting-stages{margin-block:calc(55 * var(--service-unit));gap:3rem}.lighting-stage-icon{width:calc(155 * var(--service-unit));height:calc(155 * var(--service-unit))}.lighting-stage-icon .icon{width:50%;height:50%}.lighting-stages article{position:relative}.lighting-stages h3{font-size:clamp(1rem,1.4vw,1.65rem)}.lighting-stages p{font-size:clamp(1rem,1.2vw,1.45rem)}.lighting-process .services-signature{margin-top:auto}.lighting-page .services-questions>.split{grid-template-columns:1.2fr 1fr;align-items:center}.lighting-page .services-questions>.split>p{border-left:1px solid var(--color-line);padding-left:3rem;max-width:45ch}.lighting-page .services-estimate h2{font-size:clamp(2.75rem,5.45vw,6.5rem)}
}
@media(max-width:47.999rem){.lighting-page .services-hero h1{font-size:clamp(2rem,8.7vw,3.6rem)}.lighting-page .services-hero-copy>p br{display:none}.lighting-stages{grid-template-columns:1fr}.lighting-page .services-signature span{margin-left:0}.lighting-page .service-project img{aspect-ratio:3/4;object-fit:contain;background:var(--color-night)}}


/* Stage artwork and connectors share the same column centres. */
.lighting-stages{--stage-size:8rem;--stage-gap:1.25rem;gap:2.5rem var(--stage-gap);isolation:isolate}
.lighting-stages article{position:relative;display:grid;grid-template-rows:var(--stage-size) auto 1fr;justify-items:center;align-items:start;align-content:start;gap:0;min-width:0}
.lighting-stage-icon{box-sizing:border-box;width:var(--stage-size);height:var(--stage-size);background:radial-gradient(circle at 45% 35%,#06384c,#002335 75%);border:2px solid #00b4d4;border-top-color:#c6f5ff;z-index:1}
.lighting-stage-icon img{display:block;width:82%;height:82%;object-fit:contain}
.lighting-stage-icon::after{height:1.5rem;top:calc(100% + .6rem);left:calc(50% - .5px)}
.lighting-stages h3{width:100%;margin:3rem 0 0;line-height:1.4}
.lighting-stages h3::after{margin:1.1rem auto 0}
.lighting-stages p{width:100%;max-width:22ch;margin:1.25rem 0 0;text-align:center}
.lighting-stage-link,.lighting-stage-node{display:none}
@media(min-width:48rem){
 .lighting-stages{--stage-size:clamp(6rem,9.15vw,11rem);grid-template-rows:auto auto 1fr;row-gap:0}
 .lighting-stages article{grid-row:span 3;grid-template-rows:subgrid}
 .lighting-stage-link{display:block;position:absolute;z-index:-1;pointer-events:none;left:50%;top:0;width:calc(100% + var(--stage-gap));height:var(--stage-size);overflow:visible}
 .lighting-stage-link path{fill:none;stroke:#00d5f5;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px #00c4e566)}
 .lighting-stages article:nth-child(even) .lighting-stage-link{transform:scaleY(-1)}
 .lighting-stage-node{display:block;position:absolute;left:calc(100% + var(--stage-gap)/2);top:calc(var(--stage-size)/2);width:.65rem;height:.65rem;border-radius:50%;background:#efffff;transform:translate(-50%,-50%);box-shadow:0 0 6px #00dcff,0 0 16px #00dcff;pointer-events:none}
}

.lighting-directions .lighting-card{background:#f2f2f2}

/* Decorative foliage anchored to opposite corners of the directions section. */
.lighting-directions{
 background-color:#f2f2f2;
 background-image:url("../lighting-page/lighting-directions-bg01.webp"),url("../lighting-page/lighting-directions-bg02.webp");
 background-position:right top,left bottom;
 background-repeat:no-repeat;
 background-size:clamp(12rem,25vw,25rem) auto,clamp(9rem,18vw,18rem) auto;
 background-blend-mode:normal;
}
@media(max-width:47.999rem){
 .lighting-directions{background-size:9rem auto,7rem auto}
}

/* Details from the lighting layout, using the water page's service patterns. */
.lighting-portfolio-intro{display:grid;gap:2rem}
.lighting-values{list-style:none;display:flex;flex-wrap:wrap;gap:1.5rem;padding:0;margin:0}
.lighting-values li{display:flex;align-items:center;gap:.75rem}
.lighting-values .icon{width:2rem;height:2rem;flex-shrink:0;color:var(--color-cyan);stroke-width:1.1}
.lighting-portfolio::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("../lighting-page/lighting-directions-bg02.webp") left bottom / clamp(7rem,15vw,16rem) auto no-repeat,url("../lighting-page/lighting-directions-bg01.webp") right bottom / clamp(9rem,20vw,22rem) auto no-repeat;opacity:.65}
.lighting-process .services-signature{justify-content:flex-start}
.lighting-process .services-signature::before{flex:0 0 3rem;background:var(--color-cyan)}
.lighting-process .services-signature::after{display:none}
.lighting-process .services-signature span{display:flex;align-items:center;gap:1.5rem}
.lighting-process .services-signature span::before{content:'';height:1px;width:clamp(3rem,24vw,30rem);background:var(--color-cyan)}
@media(min-width:48rem){
 .lighting-portfolio-intro{grid-template-columns:1.2fr 1fr;align-items:center}
 .lighting-values{grid-column:1/-1}
}
@media(min-width:64rem){
 .lighting-portfolio-intro{grid-template-columns:1.5fr 1fr .45fr;gap:calc(50 * var(--service-unit))}
 .lighting-portfolio-intro>.quote{border-left:1px solid var(--color-line);padding-left:calc(50 * var(--service-unit));font-size:clamp(1rem,1.1vw,1.3rem)!important;line-height:1.5}
 .lighting-values{grid-column:auto;flex-direction:column;gap:1rem;border-left:1px solid var(--color-line);padding-left:calc(30 * var(--service-unit));font-size:.65rem}
}
@media(max-width:47.999rem){
 .lighting-process .services-signature span::before{width:3rem}
}

@media(min-width:64rem){
 .lighting-portfolio h2{font-size:clamp(2.75rem,4.5vw,5.4rem)}
}

/* New mobile hero is supplied at 3:2; square direction artwork stays intact. */
.lighting-card img{aspect-ratio:1}
@media(max-width:63.999rem){.lighting-page .services-hero>.services-backdrop{aspect-ratio:3/2}}
@media(max-width:47.999rem){.lighting-page .service-project img{aspect-ratio:3/2;object-fit:contain}}
.lighting-directions{background-image:url('/assets/lighting-page/lighting-directions-bg01.webp'),url('/assets/lighting-page/lighting-directions-bg02.webp')}
.lighting-portfolio::before{background-image:url('/assets/lighting-page/lighting-directions-bg02.webp'),url('/assets/lighting-page/lighting-directions-bg01.webp')}
