@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#173f63;--ink:#142e43;--blue:#58b9d4;--orange:#ee9a35;--paper:#f7f6f2;--line:#dce2e5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}.topline{background:var(--navy);color:white;padding:12px 5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:12px 5%;background:white;border-bottom:1px solid var(--line)}.logo{width:155px;height:75px;object-fit:contain}nav{display:flex;gap:30px;font-size:13px}nav a:hover,.textlink:hover{color:#318daa}.btn{border:0;background:var(--navy);color:white;padding:18px 25px;border-radius:3px;display:inline-block;font-size:13px;font-weight:600}.btn:hover{background:#285e89}.btn.small{padding:14px 20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px}.hero-copy{padding:70px 7% 55px 10%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#397d99;margin-bottom:22px}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-2px;margin:0}h1{font-size:clamp(42px,4.5vw,70px);line-height:1.1}h1 em{font-style:normal;color:#3286a3}p{font-size:15px;line-height:1.8;color:#61717d}.hero-copy>p{max-width:445px;margin:25px 0 30px}.actions{display:flex;align-items:center;gap:25px}.textlink{font-size:13px;font-weight:600}.hero-note{border-top:1px solid var(--line);margin-top:45px;padding-top:22px;font-size:12px;color:#63717a}.spark{color:var(--orange);font-size:23px;margin-right:10px}.hero-photo{position:relative;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;left:30px;top:30px;color:white;font-size:9px;letter-spacing:2px;text-shadow:0 1px 5px black}.photo-card{position:absolute;bottom:25px;left:25px;background:#ffffffec;padding:25px;width:270px;border-left:3px solid var(--orange)}.photo-card span,.card-copy>span{font-size:9px;letter-spacing:1.5px;color:#648399}.photo-card strong{display:block;font-size:23px;margin:12px 0 20px;font-weight:500}.photo-card a{font-size:11px}.service-strip{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-around;padding:25px 5%;font-size:11px;letter-spacing:1.6px}.service-strip i{color:var(--blue);font-style:normal}.section{padding:85px 5%}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px}.section-head p{max-width:340px;margin:0}h2{font-size:43px;line-height:1.2}h3{font-size:23px;letter-spacing:-.7px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-grid article{background:white;border:1px solid var(--line)}.service-grid img,.lighting-art{width:100%;height:220px;object-fit:cover}.card-copy{padding:25px 22px}.card-copy h3{margin-top:15px;font-size:22px}.card-copy p{font-size:13px;line-height:1.8;min-height:95px}.card-copy a{font-size:12px;border-top:1px solid var(--line);padding-top:18px;display:block}.caption{font-size:10px;margin-top:20px}.lighting-art{background:linear-gradient(#142c46,#294d67);position:relative;overflow:hidden}.roof{position:absolute;width:200px;height:200px;transform:rotate(45deg);background:#183149;left:calc(50% - 100px);top:65px}.lit-house{position:absolute;display:flex;align-items:center;justify-content:space-around;left:12%;width:76%;top:112px;height:110px;background:#61747e}.lit-window{height:40px;width:35px;background:#eecb88;box-shadow:0 0 25px #eecb8855}.lit-door{height:65px;width:32px;background:#324452;align-self:end}.lights{position:absolute;left:12%;right:12%;top:106px;color:#f0c486;white-space:nowrap;letter-spacing:3px;font-size:10px;text-shadow:0 0 10px #fff}.visual-section{background:#eaf0f2;padding:80px 5%}.visual-layout{display:grid;grid-template-columns:300px 1fr;background:white;border:1px solid #d0dade;border-radius:5px;overflow:hidden}.controls{padding:25px;border-right:1px solid var(--line)}label{display:block;font-size:12px;font-weight:600;margin-bottom:18px}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #ccd6dc;border-radius:3px;padding:12px;background:white;color:var(--ink)}input[type=range]{padding:0;accent-color:var(--navy)}.upload{padding:15px;background:#eef5f8;border:1px dashed #9bb3c2}.upload input{padding:0;border:0;background:none;font-size:11px}.upload span{display:block;font-size:10px;font-weight:400;margin-top:10px}#instructions,.privacy-note{font-size:11px;line-height:1.6}.control-buttons{display:flex;gap:8px;margin:15px 0}.outline{padding:12px 16px;border:1px solid #9baebb;background:transparent;color:var(--navy);font-size:12px;border-radius:3px}.controls>.btn{width:100%;margin:8px 0 20px}.canvas-wrap{position:relative;align-self:center;background:#f0f1ef;min-height:500px;display:flex;flex-direction:column;justify-content:center}canvas{display:block;width:100%;height:auto;touch-action:none}#empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}#empty span{font-size:45px;color:var(--blue)}#empty p{font-size:13px;max-width:370px}.canvas-footer{display:flex;justify-content:space-between;padding:15px;font-size:9px;letter-spacing:1px;background:white}#status{letter-spacing:0;text-align:center}.approach{display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach>div>p{max-width:400px}.approach ol{list-style:none;padding:0;margin:0}.approach li{display:flex;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.approach li>span{font-size:12px;color:#479bbb}.approach li p{font-size:13px;margin-bottom:0}.quote-section{padding:75px 5%;display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--navy);color:white}.quote-section .eyebrow{color:#8dd8ec}.quote-section p{color:#bfd0dc}.quote-section>div>a{display:block;font-size:19px;margin:18px 0}.quote-section .btn{background:var(--orange);color:#142e43}.quote-section label{font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.check{display:flex;align-items:center;gap:10px;font-size:11px;margin-top:15px}.check input{accent-color:var(--orange)}.fine{font-size:11px;line-height:1.7}.form-status{font-size:12px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:70px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{font-size:15px;cursor:pointer}details p{font-size:13px}.contact{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact p{max-width:350px}footer{background:white;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:40px 5%;gap:25px}footer p{font-size:13px}footer p span{font-size:11px}footer>div>a{display:block;font-size:12px;margin:10px 0}footer small{border-top:1px solid var(--line);width:100%;padding-top:20px;font-size:10px;display:flex;justify-content:space-between}.skip{position:absolute;left:10px;top:-100px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}@media(max-width:1000px){nav{gap:14px}.hero-copy{padding:50px 8%}.actions{align-items:start;flex-direction:column;gap:20px}.service-grid{grid-template-columns:repeat(2,1fr)}.visual-layout{grid-template-columns:260px 1fr}.quote-section{gap:40px}}@media(max-width:700px){.topline{font-size:8px;letter-spacing:.4px}.topline a{font-size:9px}header{height:auto;flex-wrap:wrap;padding:10px 5%;gap:10px}.logo{width:115px;height:60px}nav{order:3;width:100%;justify-content:space-between;font-size:10px;padding:10px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6%}.hero-copy h1{font-size:46px}.hero-photo{height:400px}.actions{flex-direction:row;align-items:center;gap:15px}.actions .btn{padding:16px;font-size:11px}.hero-note{margin-top:25px}.service-strip{gap:10px;font-size:8px;padding:20px 4%;letter-spacing:.4px}.service-strip i{display:none}.section,.visual-section{padding:55px 6%}h2{font-size:34px}.section-head{display:block}.section-head p{margin-top:20px}.service-grid{gap:12px}.service-grid img,.lighting-art{height:160px}.card-copy{padding:18px 14px}.card-copy h3{font-size:20px}.card-copy p{min-height:150px;font-size:12px}.card-copy a{font-size:10px}.visual-layout{display:flex;flex-direction:column}.controls{border:0;width:100%}.canvas-wrap{width:100%;min-height:280px}.canvas-footer{font-size:8px}#empty h3{font-size:20px}#empty p{font-size:11px}.approach,.quote-section,.faq,.contact{grid-template-columns:1fr;gap:30px}.quote-section{padding:55px 6%}.form-grid{gap:0 12px}footer{padding:30px 6%}.photo-card{width:230px}.canvas-footer #status{max-width:55%}}
