*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#111111;--black:#000000;--ink2:#1c1c1c;--beige:#d8c3b0;--taupe:#7f6a55;--tan:#a39782;--charcoal:#585755;--text:#151515;--muted:#585755;--cream:#f5f0ea;--line:#e6ded4;--onDark:#e9e3dc;--onDark2:#bdb5ab;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);line-height:1.6;background:#fff}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header{background:var(--ink);position:sticky;top:0;z-index:10;border-bottom:1px solid #262626}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{color:#fff;font-weight:800;font-size:1.1rem;text-decoration:none;letter-spacing:2.5px;text-transform:uppercase}
.logo{display:flex;align-items:center;gap:12px}.logo img{width:48px;height:48px;display:block}.logo span span{color:var(--beige)}
.nav ul{display:flex;gap:24px;list-style:none;align-items:center}
.nav ul a{color:var(--onDark);text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}
.nav ul a:hover{color:var(--beige)}
.btn{display:inline-block;background:var(--beige);color:var(--black);font-weight:700;padding:14px 28px;border-radius:2px;text-decoration:none;border:0;font-size:.9rem;cursor:pointer;text-transform:uppercase;letter-spacing:1.5px;transition:background .2s,color .2s}
.btn:hover{background:var(--taupe);color:#fff}
.btn.ghost{background:transparent;color:#fff;border:1px solid #fff;margin-left:10px}
.btn.ghost:hover{background:#fff;color:var(--black)}
.hero{background:var(--black);color:#fff;padding:104px 0 96px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:url("images/outdoor-led-steps-dusk.jpg") center 60%/cover no-repeat;z-index:0}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.78) 45%,rgba(0,0,0,.45) 100%);z-index:0}
.hero > .wrap{position:relative;z-index:1}
.tag{color:var(--taupe);font-weight:700;text-transform:uppercase;letter-spacing:3px;font-size:.75rem}
.hero .tag,.motto .tag{color:var(--beige)}
h1,h2{font-family:var(--serif);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.hero h1{font-size:clamp(2.1rem,5.2vw,3.6rem);line-height:1.1;margin:14px 0 20px;max-width:760px}
.hero p{font-size:1.12rem;color:var(--onDark);max-width:600px;margin-bottom:32px}
.badges{display:flex;flex-wrap:wrap;gap:20px;margin-top:40px;color:var(--onDark);font-size:.88rem}
.badges div:before{content:"✓ ";color:var(--beige);font-weight:700}
section{padding:84px 0}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.15;margin:10px 0 18px;color:var(--black)}
.lead{color:var(--muted);max-width:640px;margin-bottom:40px}
.lead a{color:var(--taupe);text-decoration-color:var(--beige)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--beige);border-radius:3px;padding:26px}
.card .ic{font-size:1.8rem}
.card h3{margin:8px 0 6px;color:var(--black);font-size:1.05rem;letter-spacing:.3px}
.card p{color:var(--muted);font-size:.95rem}
.alt{background:var(--cream)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.photo{background:var(--ink2);color:var(--onDark2);border-radius:4px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;border:2px dashed var(--charcoal)}
.about ul{list-style:none;margin-top:18px}
.about li{padding:6px 0}.about li:before{content:"⚡ "}
.areas{display:flex;flex-wrap:wrap;gap:12px}
.areas span{background:var(--ink);color:#fff;padding:10px 20px;border-radius:2px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:.85rem}
.quote{display:grid;grid-template-columns:1fr 1.3fr;gap:48px}
form{background:#fff;padding:30px;border-radius:4px;box-shadow:0 8px 30px rgba(0,0,0,.07);border:1px solid var(--line)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-weight:600;font-size:.9rem;margin:12px 0 4px}
input,select,textarea{width:100%;padding:12px;border:1px solid #8a847d;border-radius:2px;font:inherit;background:#fff}
textarea{min-height:120px}
form .btn{width:100%;margin-top:18px}
.info p{margin:10px 0}.info strong{color:var(--black)}
footer{background:var(--ink);color:var(--onDark2);padding:40px 0 32px;font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.aboutimg img{width:100%;height:auto;border-radius:4px;display:block;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.logofig{background:#fff;border-radius:4px;padding:40px;text-align:center;border:1px solid var(--line)}.logofig img{max-width:320px;margin:0 auto;box-shadow:none!important}
.aboutimg figcaption{margin-top:10px;font-weight:600;color:var(--black);text-align:center;letter-spacing:.5px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery figure{background:#fff;border-radius:3px;overflow:hidden;border:1px solid var(--line)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;display:block}.gallery img[src*="bathroom-lighting"],.gallery img[src*="pantry-led-tape"]{object-position:center top}.gallery img[src*="outdoor-led-steps-dusk"]{object-position:center 70%}.gallery img[src*="chandelier-entry-crystal"],.gallery img[src*="chandelier-entry-gold"]{object-position:center 30%}.gallery img[src*="ev-outdoor-post"],.gallery img[src*="ev-tesla"],.gallery img[src*="pentair-intellicenter"]{object-position:center center}
.gallery figcaption{padding:10px 14px;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:600}
.hp{position:absolute;left:-9999px}
@media(max-width:800px){.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.gallery{grid-template-columns:1fr}}
@media(max-width:800px){.nav ul{display:none}.about,.quote{grid-template-columns:1fr}.row{grid-template-columns:1fr}.hero{padding:64px 0}.btn.ghost{margin:12px 0 0}section{padding:56px 0}}

.topbar{background:var(--black);color:var(--onDark2);font-size:.8rem;letter-spacing:.5px}.topbar .wrap{display:flex;justify-content:space-between;gap:10px;padding:6px 20px;flex-wrap:wrap}.topbar a{color:var(--beige);font-weight:700;text-decoration:none}
.navcta{background:var(--beige);color:var(--black)!important;padding:9px 16px;border-radius:2px;font-weight:700}.navcta:hover{background:var(--taupe);color:#fff!important}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;counter-reset:s}
.step{background:#fff;border:1px solid var(--line);border-radius:3px;padding:24px;position:relative}
.step:before{counter-increment:s;content:counter(s);display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--beige);font-size:1rem;font-weight:700;margin-bottom:12px}
.step h3{color:var(--black);margin-bottom:4px;font-size:1.05rem}.step p{color:var(--muted);font-size:.95rem}
.faq details{background:#fff;border:1px solid var(--line);border-radius:3px;padding:16px 20px;margin-bottom:12px}
.faq summary{font-weight:700;color:var(--black);cursor:pointer}.faq summary::marker{color:var(--taupe)}.faq details p{color:var(--muted);margin-top:8px}
.ctaband{background:var(--beige);padding:48px 0;text-align:center}.ctaband h2{margin:0 0 16px;color:var(--black)}.ctaband .btn{background:var(--black);color:#fff;margin:6px}.ctaband .btn:hover{background:var(--taupe);color:#fff}
.gallery .ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--cream);border:2px dashed var(--tan);color:var(--muted);font-size:.9rem;text-align:center;padding:10px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.fgrid h4{color:var(--beige);margin-bottom:10px;text-transform:uppercase;letter-spacing:2px;font-size:.8rem}.fgrid a{color:var(--onDark)}.fgrid a:hover{color:var(--beige)}.fgrid ul{list-style:none}.fgrid li{padding:2px 0}
.fcopy{width:100%;border-top:1px solid #2e2e2e;margin-top:24px;padding-top:16px}
.mcall{display:none}
.subhead{color:var(--black);margin:36px 0 14px;font-size:1.05rem;display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:2.5px}.subhead:first-of-type{margin-top:0}.subhead:after{content:"";flex:1;height:1px;background:var(--beige)}
.statement{background:#fff;border-left:3px solid var(--beige);padding:16px 20px;border-radius:2px;margin-top:18px;color:var(--text);font-style:italic}
.name{max-width:820px;margin:0 auto;text-align:center}.name p{color:var(--muted);font-size:1.05rem}
.motto{background:var(--black);color:#fff;padding:52px 0;text-align:center}.motto blockquote{font-family:var(--serif);font-size:clamp(1.4rem,3.2vw,2.1rem);font-weight:600;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:var(--beige)}.motto blockquote:before{content:"“";color:var(--beige)}.motto blockquote:after{content:"”";color:var(--beige)}.motto .tag{margin-bottom:12px;color:var(--onDark2)}
.g4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.rgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.socials{display:flex;gap:10px;margin-top:12px}.soc{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#2a2a2a;color:#fff!important;text-decoration:none}.soc:hover{background:var(--beige);color:var(--black)!important}
.info .socials .soc{background:var(--ink)}.info .socials .soc:hover{background:var(--taupe);color:#fff!important}
.fmotto{color:var(--beige);font-family:var(--serif);font-style:italic;font-size:1.1rem;margin-top:6px}
@media(max-width:800px){.rgrid{grid-template-columns:1fr}}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--taupe);outline-offset:2px}
header a:focus-visible,.hero a:focus-visible,footer a:focus-visible,.topbar a:focus-visible,.mcall a:focus-visible{outline-color:var(--beige)}
@media(max-width:800px){.fgrid{grid-template-columns:1fr}.mcall{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;box-shadow:0 -4px 16px rgba(0,0,0,.25)}.mcall a{flex:1;text-align:center;padding:14px;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:1.5px;font-size:.85rem}.mcall .c{background:var(--beige);color:var(--black)}.mcall .q{background:var(--black);color:#fff}body{padding-bottom:52px}.topbar .hide-m{display:none}.logo{font-size:.95rem;letter-spacing:1.8px}}

.feature{padding:84px 0}
.feature .pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.feature .shot{position:relative;border-radius:3px;overflow:hidden;border:1px solid var(--line);background:#fff}
.feature .shot img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;display:block}
.feature .badge{position:absolute;top:14px;left:14px;background:var(--beige);color:var(--black);font-weight:700;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;padding:7px 12px;border-radius:2px}
.feature .desc{color:var(--muted);max-width:720px}
@media(max-width:800px){.feature .pair{grid-template-columns:1fr}.feature{padding:56px 0}}
/* ---- v2 additions ---- */
.nav ul li{position:relative}
.dd>a:after{content:" ▾";color:var(--beige);font-size:.7rem}
.dd ul{display:none;position:absolute;top:100%;left:-14px;background:var(--ink);border:1px solid #262626;border-top:2px solid var(--beige);padding:10px 0;min-width:270px;flex-direction:column;gap:0;z-index:30}
.dd:hover ul,.dd:focus-within ul{display:flex}
.dd ul li{width:100%}.dd ul a{display:block;padding:9px 18px;letter-spacing:1.2px;font-size:.78rem}
.nav ul a.on{color:var(--beige)}
.mnav{display:none}
.trust{background:var(--cream);border-bottom:1px solid var(--line)}
.trust .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 36px;padding:16px 20px}
.trust a,.trust span{color:var(--black);font-weight:700;font-size:.8rem;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none}
.trust a:before,.trust span:before{content:"✓ ";color:var(--taupe)}
.trust a{border-bottom:1px solid var(--beige)}.trust a:hover{color:var(--taupe)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tile{position:relative;display:block;aspect-ratio:4/3;border-radius:3px;overflow:hidden;color:#fff;text-decoration:none;background:var(--ink)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.92) 100%)}
.tile .tx{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;z-index:1}
.tile h3{font-family:var(--serif);font-size:1.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1.1;color:#fff}
.tile p{color:var(--onDark);font-size:.9rem;margin-top:6px;line-height:1.45}
.tile .more{display:inline-block;margin-top:10px;color:var(--beige);font-weight:700;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid var(--beige)}
.tile:hover img{transform:scale(1.05)}.tile:hover .more{color:#fff;border-color:#fff}
.tile.plain{background:radial-gradient(circle at 70% 25%,#2a2723 0,var(--ink) 60%,var(--black) 100%);border:1px solid #2a2a2a}
.tile.plain:after{display:none}
.tile .icons{position:absolute;top:24px;left:22px;display:flex;gap:16px;color:var(--beige);z-index:1}
.tile .icons svg{width:38px;height:38px}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mini .card{padding:18px 20px;border-top-width:2px}.mini .card h3{margin-top:0;font-size:1rem}.mini .card p{font-size:.9rem}
.mini a.card{text-decoration:none;display:block}.mini a.card:hover{border-color:var(--beige)}
.brands{background:var(--ink);padding:40px 0;text-align:center}
.brands .tag{color:var(--onDark2);margin-bottom:14px}
.brands ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0}
.brands li{font-family:var(--serif);font-size:1.3rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--onDark);padding:0 18px;border-left:1px solid #3a3a3a}
.brands li:first-child{border-left:0}
.seeall{text-align:center;margin-top:30px}
.btn.dark{background:var(--black);color:#fff}.btn.dark:hover{background:var(--taupe)}
.phero{background:var(--black);color:#fff;padding:84px 0 76px;position:relative;overflow:hidden}
.phero:before{content:"";position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:var(--pos,center);z-index:0}
.phero:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.8) 50%,rgba(0,0,0,.5) 100%);z-index:0}
.phero.noimg:before{background:radial-gradient(circle at 80% 20%,#2a2723 0,var(--black) 65%)}
.phero>.wrap{position:relative;z-index:1}
.phero h1{font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.1;margin:12px 0 18px;max-width:780px}
.phero p{font-size:1.08rem;color:var(--onDark);max-width:640px;margin-bottom:28px}
.phero .tag{color:var(--beige)}
.crumbs{font-size:.78rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--onDark2)}.crumbs a{color:var(--onDark2);text-decoration:none}.crumbs a:hover{color:var(--beige)}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.checks{list-style:none;margin-top:14px}.checks li{padding:8px 0 8px 28px;border-bottom:1px solid var(--line);position:relative}.checks li:before{content:"✓";position:absolute;left:4px;color:var(--taupe);font-weight:700}
.checks a{color:var(--taupe)}
.aside{background:var(--cream);border-top:3px solid var(--beige);padding:28px;border-radius:3px}
.aside h3{font-family:var(--serif);text-transform:uppercase;letter-spacing:.06em;font-size:1.4rem;color:var(--black);margin-bottom:8px}
.aside p{color:var(--muted);margin-bottom:16px}.aside .btn{width:100%;text-align:center;margin:6px 0 0}
.aside .btn.ghost2{background:transparent;border:1px solid var(--black);color:var(--black)}.aside .btn.ghost2:hover{background:var(--black);color:#fff}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pgrid figure,.wgal figure{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.pgrid img,.wgal img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.pgrid figcaption,.wgal figcaption{padding:10px 14px;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:600}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.filters button{background:#fff;border:1px solid var(--black);color:var(--black);padding:10px 18px;border-radius:2px;font:inherit;font-size:.78rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}
.filters button:hover{background:var(--cream)}
.filters button[aria-pressed="true"]{background:var(--black);color:var(--beige)}
.wgal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.wgal a{display:block;cursor:zoom-in}.wgal figure[hidden]{display:none}
.lb{border:0;padding:0;background:transparent;max-width:94vw;max-height:94vh}
.lb::backdrop{background:rgba(0,0,0,.88)}
.lb img{max-width:94vw;max-height:84vh;display:block;margin:0 auto;border-radius:2px}
.lb p{color:var(--onDark);text-align:center;margin-top:10px;font-size:.85rem;letter-spacing:1.2px;text-transform:uppercase}
.lb button{position:fixed;top:14px;right:18px;background:var(--beige);color:var(--black);border:0;border-radius:2px;font-weight:800;padding:8px 14px;cursor:pointer;letter-spacing:1.5px}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc .card .ic svg{width:34px;height:34px;color:var(--taupe)}
.related{display:flex;flex-wrap:wrap;gap:10px}.related a{border:1px solid var(--black);padding:10px 16px;border-radius:2px;text-decoration:none;font-weight:700;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase}.related a:hover{background:var(--black);color:var(--beige)}
.fgrid.f4{grid-template-columns:1.6fr 1fr 1fr 1fr}
@media(max-width:900px){.tiles,.pgrid,.wgal,.svc,.mini{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.fgrid.f4{grid-template-columns:1fr 1fr}}
@media(max-width:800px){
.mnav{display:block;position:relative}
.mnav summary{list-style:none;cursor:pointer;color:var(--black);background:var(--beige);font-weight:800;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;padding:9px 14px;border-radius:2px}
.mnav summary::-webkit-details-marker{display:none}
.mnav[open] summary{background:#fff}
.mnav .panel{position:absolute;right:0;top:calc(100% + 10px);background:var(--ink);border:1px solid #2a2a2a;border-top:2px solid var(--beige);width:min(86vw,320px);padding:8px 0;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.mnav .panel a{display:block;padding:11px 20px;color:var(--onDark);text-decoration:none;font-size:.85rem;letter-spacing:1.3px;text-transform:uppercase;font-weight:600}
.mnav .panel a.sub{padding-left:34px;font-size:.78rem;color:var(--onDark2)}
.mnav .panel a:hover{color:var(--beige)}
.phero{padding:56px 0 52px}.trust .wrap{gap:8px 22px;justify-content:flex-start}
.fgrid.f4{grid-template-columns:1fr}
}
@media(max-width:560px){.tiles,.pgrid,.svc,.mini{grid-template-columns:1fr}.wgal{grid-template-columns:1fr 1fr;gap:10px}.wgal figcaption{font-size:.7rem;padding:8px 10px}.brands li{font-size:1.1rem;padding:0 12px}.tile h3{font-size:1.4rem}}

.pgrid.p5{grid-template-columns:repeat(6,1fr)}.pgrid.p5 figure{grid-column:span 2}.pgrid.p5 figure:nth-child(n+4){grid-column:span 3}
@media(max-width:800px){.pgrid.p5{grid-template-columns:1fr 1fr}.pgrid.p5 figure,.pgrid.p5 figure:nth-child(n+4){grid-column:auto}.pgrid.p5 figure:last-child{grid-column:1/-1}}
@media(max-width:560px){.pgrid.p5{grid-template-columns:1fr}}

@media(max-width:800px){.mcall .t{background:var(--taupe);color:#fff}.mcall a{padding:14px 6px}}
