/* Lighting-page additions; shared service pages retain their existing styles. */
.lighting-page { --lp-text: #c6cfd5; }
.lighting-page section[id] { scroll-margin-top: 105px; }
.lighting-page p { text-wrap: pretty; }
.lp-hero { min-height: 720px; }
.lp-hero .service-hero-copy { padding-bottom: 75px; }
.lp-hero h1 { max-width: 830px; font-size: clamp(3rem, 6.4vw, 5.7rem); }
.lp-hero .service-hero-shade { background: linear-gradient(90deg,rgba(9,14,19,.96),rgba(9,14,19,.75) 48%,rgba(9,14,19,.24)),linear-gradient(0deg,#0f1419,transparent 45%); }
.lp-hero-note { color: #d5dce0; font-size: .88rem; margin-top: 24px; }
.lp-benefits { border-block: 1px solid var(--line); background: #121b21; }
.lp-benefits > div { display:flex; justify-content:space-between; gap:20px; padding-block:22px; flex-wrap:wrap; }
.lp-benefits span { color:#dbe5e9; font-weight:600; font-size:.9rem; }
.lp-benefits span::before { content:'✓'; color:var(--teal-light); margin-right:10px; }
.lp-section { padding-block:90px; }
.lp-alternate { background:#151d24; }
.lp-heading { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; margin-bottom:36px; }
.lp-heading h2 { margin-bottom:0; }
.lp-heading p { color:var(--lp-text); margin:0; }
.lp-package-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.lp-package { display:flex; flex-direction:column; padding:26px 22px; border:1px solid #35414b; background:#182129; text-decoration:none; transition:border-color .2s,transform .2s; }
.lp-package:hover { border-color:var(--teal-light); transform:translateY(-3px); }
.lp-package-featured { border-color:var(--teal); background:linear-gradient(145deg,#17343a,#182129 80%); }
.lp-label { color:var(--teal-light); font-size:.74rem; text-transform:uppercase; letter-spacing:.09em; font-weight:700; margin-bottom:16px; }
.lp-package h3 { font-size:1.28rem; line-height:1.2; min-height:3rem; margin-bottom:20px; }
.lp-package strong { font-size:2.5rem; line-height:1.2; letter-spacing:-.04em; }
.lp-package strong small { display:block; font-size:.83rem; font-weight:400; letter-spacing:0; margin-top:7px; color:var(--lp-text); }
.lp-package strong.lp-quote { font-size:1.5rem; min-height:4.1rem; letter-spacing:-.02em; }
.lp-package p { color:var(--lp-text); font-size:.9rem; }
.lp-link { color:var(--teal-light); font-size:.87rem; font-weight:700; margin-top:auto; padding-top:15px; }
.lp-conditions { font-size:.85rem; color:var(--lp-text); margin:25px 0 0; padding-left:18px; border-left:3px solid var(--teal); }
.lp-conditions strong { color:#e1e8ec; }
.lp-detail-header { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.lp-detail-header h2 { font-size:clamp(2.3rem,4.5vw,4.1rem); }
.lp-intro { font-size:1.17rem; color:#e1e7ec; }
.lp-price { font-size:clamp(3rem,5vw,4.5rem); font-weight:750; letter-spacing:-.05em; white-space:nowrap; }
.lp-price span { display:block; font-size:.95rem; font-weight:400; color:var(--lp-text); letter-spacing:0; text-align:right; }
.lp-description { max-width:890px; color:var(--lp-text); margin:20px 0 35px; }
.lp-scenes { display:grid; grid-template-columns:1fr 1fr; column-gap:42px; }
.lp-scene { padding:24px 0; border-top:1px solid #35414b; }
.lp-scene h4 { margin:0 0 10px; color:#fff; font-size:1.08rem; line-height:1.35; }
.lp-scene h4::before { content:'•'; color:var(--teal-light); margin-right:10px; }
.lp-scene p { margin:0; color:var(--lp-text); font-size:.94rem; }
.lp-kit { border:1px solid #35414b; margin:20px 0; padding:0 22px; background:rgba(0,0,0,.1); }
.lp-kit summary { padding:19px 0; font-weight:650; color:#e5edf2; cursor:pointer; }
.lp-kit p,.lp-kit ul { color:var(--lp-text); font-size:.93rem; }
.lp-kit ul { padding-left:21px; }
.lp-kit li { margin-bottom:7px; }
.lp-small { color:var(--lp-text); font-size:.84rem; }
.lp-small a { text-underline-offset:3px; }
.lp-section > .button,.lp-section > .wrap > .button { margin-top:12px; }
.lp-bespoke-image { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.lp-bespoke-image img { width:100%; height:430px; object-fit:cover; }
.lp-bespoke-image p { color:var(--lp-text); }
.lp-bespoke-image .eyebrow { color:var(--teal-light); }
.lp-bespoke-image strong { color:var(--teal-light); }
.lp-subheading { margin-top:50px; font-size:1.5rem; }
.lp-value-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.lp-value-grid h2 { font-size:clamp(2.2rem,3.5vw,3.4rem); }
.lp-value-grid p:not(.eyebrow) { color:var(--lp-text); }
.lp-install { background:#19252c; border-left:3px solid var(--teal); padding:30px; }
.lp-install h3 { font-size:1.5rem; }
.lp-install p,.lp-install li { color:var(--lp-text); }
.lp-install strong { color:#f0f4f6; }
.lp-install ul { padding-left:20px; margin-bottom:0; }
.lp-install li { margin-bottom:12px; }
.lp-how { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:50px; }
.lp-how span { display:block; color:var(--teal-light); margin-bottom:18px; font-weight:750; }
.lp-how p { color:var(--lp-text); font-size:.95rem; }
.lp-final { padding:80px 0; background:radial-gradient(ellipse at right bottom,#16414a,#132029 60%); text-align:center; }
.lp-final h2 { font-size:clamp(2.5rem,5vw,4.5rem); }
.lp-final p:not(.eyebrow) { color:var(--lp-text); }
.lp-final .button { margin:12px 0; }
@media(max-width:1100px) { .lp-package-grid { grid-template-columns:repeat(2,1fr); } .lp-package h3 { min-height:0; } }
@media(max-width:700px) { .lp-section { padding-block:58px; } .lp-heading,.lp-value-grid,.lp-bespoke-image { grid-template-columns:1fr; gap:25px; } .lp-detail-header { align-items:flex-start; flex-direction:column; gap:10px; } .lp-price { font-size:3rem; display:flex; gap:12px; align-items:baseline; } .lp-price span { text-align:left; } .lp-scenes { grid-template-columns:1fr; } .lp-how { grid-template-columns:1fr; gap:22px; } .lp-bespoke-image img { height:280px; } .lp-hero { min-height:660px; } .lp-benefits > div { display:grid; grid-template-columns:1fr 1fr; gap:14px; } .lp-install { padding:24px 20px; } }
@media(max-width:420px) { .lp-package-grid { grid-template-columns:1fr; } .lp-benefits span { font-size:.8rem; } .lp-hero h1 { font-size:2.8rem; } }
@media(prefers-reduced-motion:reduce) { .lp-package { transition:none; } }
