@layer reset,base,components;@layer reset{*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}img{display:block;max-width:100%}button,input{font:inherit}}@layer base{:root{font-family:Avenir Next,Avenir,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#082746;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #082746;--deep: #061c35;--surface: #ffffff;--surface-strong: #f1f7fa;--text: #082746;--muted: #5f7080;--line: #cfdee6;--accent: #00a6d4;--accent-hover: #008ab1;--accent-ink: #ffffff;--danger: #972f2f;--radius: 18px}body{min-width:320px;min-height:100dvh;color:var(--text);background:var(--ink)}a{color:inherit}h1,h2,p{margin-top:0}h1,h2{margin-bottom:0;letter-spacing:-.045em;line-height:1.02}button,a,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid rgba(0,166,212,.5);outline-offset:3px}}@layer components{.app-shell{min-height:100dvh;overflow-x:clip}.address-screen,.loading-screen,.selection-screen,.result-screen{min-height:100dvh}.address-screen{position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:linear-gradient(135deg,#fff,#eaf6fb)}.hero-photo{position:absolute;z-index:-2;inset:0 0 0 46%;background-image:url(/permanentlighting/images/hero-home.jpg);background-position:center;background-size:cover;filter:saturate(.72) contrast(1.03) brightness(.92)}.address-screen:before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,#fff 0% 42%,#fffffff0 57%,#ffffff2e),linear-gradient(0deg,rgba(255,255,255,.34),transparent 48%);pointer-events:none}.site-header,.result-header{position:relative;z-index:3;width:min(calc(100% - 48px),1320px);height:76px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-link,.loading-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brand-link img,.loading-brand img{width:auto;height:50px}.brand-link span,.loading-brand span{display:grid;color:var(--ink);font-size:.8rem;font-weight:700;letter-spacing:.08em;line-height:1.12;text-transform:uppercase}.brand-link strong,.loading-brand strong{color:var(--accent);font-weight:850}.address-content{width:min(100%,1320px);margin:0 auto;padding:clamp(44px,8vh,96px) 24px 80px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.address-content>*{width:min(100%,660px)}.eyebrow{margin-bottom:18px;color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.address-content h1{max-width:11ch;font-size:clamp(3.1rem,6vw,6.5rem);font-weight:760}.hero-text{max-width:570px;margin:24px 0 0;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.26rem);line-height:1.6}.address-form{margin-top:38px}.address-form>label{display:block;margin-bottom:10px;color:#274a63;font-size:.92rem;font-weight:750}.address-input-wrap{position:relative}.address-input-wrap input{width:100%;height:64px;padding:0 20px;border:1px solid #afc6d2;border-radius:var(--radius);outline:0;color:var(--ink);background:#fff;box-shadow:0 18px 48px #061c351a;font-size:1rem}.address-input-wrap input::placeholder{color:#536078}.address-input-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #00a6d429,0 18px 48px #061c351a}.address-suggestions{position:absolute;z-index:10;top:calc(100% + 8px);right:0;left:0;margin:0;padding:6px;list-style:none;overflow:hidden;border:1px solid #d8dee8;border-radius:14px;background:#fff;box-shadow:0 20px 55px #00000057}.address-suggestions li+li{border-top:1px solid #e7ebf0}.address-suggestions button{width:100%;padding:13px 14px;border:0;border-radius:10px;color:#0a1424;background:transparent;font-weight:650;line-height:1.4;text-align:left;cursor:pointer}.address-suggestions button:hover,.address-suggestions button:focus-visible{background:#e0f4fa;outline:0}.primary-button{display:inline-flex;min-height:60px;align-items:center;justify-content:center;padding:0 26px;border:0;border-radius:var(--radius);color:var(--accent-ink);background:var(--ink);box-shadow:0 14px 34px #061c352e;font-weight:850;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .18s ease,transform .18s ease}.address-form>.primary-button{width:100%;margin-top:12px}.primary-button:hover{background:var(--deep);transform:translateY(-1px)}.primary-button:active{transform:translateY(1px) scale(.99)}.form-note{margin:13px 0 0;color:var(--muted);font-size:.9rem;text-align:center}.error-message{margin:18px 0 0;padding:14px 16px;border:1px solid rgba(151,47,47,.25);border-radius:14px;color:var(--danger);background:#fff3f3;line-height:1.5}.loading-screen{position:relative;isolation:isolate;display:grid;place-items:center;padding:110px 24px 64px;background:radial-gradient(circle at 50% 46%,rgba(0,166,212,.13),transparent 27%),#f1f7fa}.loading-screen:before{position:absolute;z-index:-1;inset:0;content:"";opacity:.12;background-image:url(/permanentlighting/images/hero-home.jpg);background-position:center;background-size:cover;filter:grayscale(.35) brightness(1.08)}.loading-screen:after{position:absolute;z-index:-1;inset:0;content:"";background:#ffffffc7;backdrop-filter:blur(10px)}.loading-brand{position:absolute;top:22px;left:50%;transform:translate(-50%)}.loading-content{width:min(100%,720px);text-align:center}.loading-percent{margin-bottom:18px;color:var(--accent);font-size:clamp(4.7rem,13vw,9.5rem);font-weight:800;letter-spacing:-.07em;line-height:.84}.loading-content h1{font-size:clamp(2rem,4vw,3.7rem)}.loading-content>p:not(.loading-percent){margin:18px auto 0;color:var(--muted);line-height:1.5}.loading-content .loading-next{max-width:590px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#ffffffc7;font-weight:700}.progress-track{width:100%;height:8px;margin-top:42px;overflow:hidden;border-radius:999px;background:#cfdee6}.progress-track span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--accent);transform-origin:left center;transition:transform .18s linear}.loading-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:17px;color:#8294a2;font-size:.75rem;font-weight:700}.loading-stages .active{color:var(--ink)}.result-screen{background:radial-gradient(circle at top right,rgba(0,166,212,.08),transparent 28%),#fff}.result-header{border-bottom:1px solid var(--line)}.text-button{padding:10px 0;border:0;color:var(--muted);background:transparent;font-weight:700;cursor:pointer}.text-button:hover{color:var(--accent)}.result-content{width:min(calc(100% - 48px),1220px);margin:0 auto;padding:clamp(42px,7vw,86px) 0 80px}.result-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}.result-heading h1{font-size:clamp(2.7rem,6vw,5.6rem)}.result-address{margin:14px 0 0;color:var(--muted);line-height:1.45}.verified-view{flex:0 0 auto;padding-bottom:8px;color:var(--accent);font-size:.92rem;font-weight:800}.comparison-shell{display:grid;gap:12px}.comparison-stage{position:relative;overflow:hidden;width:100%;aspect-ratio:16 / 10;border:1px solid var(--line);border-radius:24px;background:#0a1424;box-shadow:0 28px 78px #061c3529;cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none}.comparison-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-after{clip-path:inset(0 calc(100% - var(--split, 50%)) 0 0)}.comparison-divider{position:absolute;top:0;bottom:0;left:var(--split, 50%);width:3px;transform:translate(-1.5px);background:#fff;box-shadow:0 0 0 7px #00a6d429;pointer-events:none}.comparison-handle{position:absolute;top:50%;left:50%;display:grid;width:54px;height:54px;place-items:center;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.92);border-radius:50%;color:var(--accent-ink);background:var(--accent);box-shadow:0 12px 34px #0000006b;font-size:1.3rem;font-weight:900}.comparison-tags{position:absolute;inset:18px 18px auto;display:flex;justify-content:space-between;pointer-events:none}.comparison-tags span{padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#f8fafc;background:#050c16b3;backdrop-filter:blur(8px);font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.slider-label{display:grid;gap:8px;color:var(--muted);font-size:.9rem;text-align:center}.slider-label input{width:100%;accent-color:var(--accent)}.next-step{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(32px,7vw,90px);margin-top:clamp(56px,8vw,96px);padding:clamp(30px,5vw,56px);border:1px solid var(--line);border-radius:24px;background:var(--surface);align-items:center}.quote-copy,.visit-action,.contact-form{min-width:0}.quote-copy h2{max-width:14ch;font-size:clamp(2rem,4vw,3.6rem)}.quote-copy>p:last-child{max-width:580px;margin:20px 0 0;color:var(--muted);line-height:1.65}.next-step-list{display:grid;gap:13px;margin:28px 0 0;padding:0;list-style:none;color:var(--ink);font-weight:700;line-height:1.45}.next-step-list li{display:flex;align-items:center;gap:12px}.next-step-list span{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:50%;color:#fff;background:var(--accent);font-size:.8rem}.visit-action{display:grid;gap:14px;padding-left:clamp(0px,3vw,40px);border-left:1px solid var(--line)}.visit-action .primary-button{width:100%}.visit-action p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}.contact-form{display:grid;gap:14px}.contact-form h3,.contact-success h3{margin:0;color:var(--ink);font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.15}.contact-form>p:first-of-type{margin-top:-6px}.contact-form label:not(.contact-consent){display:grid;gap:7px;color:var(--ink);font-size:.88rem;font-weight:800}.contact-form label>span{color:var(--muted);font-weight:600}.contact-form input:not([type=checkbox]){width:100%;height:52px;padding:0 14px;border:1px solid #afc6d2;border-radius:12px;color:var(--ink);background:#fff}.contact-form input:not([type=checkbox]):focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 4px #00a6d424}.contact-consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;color:var(--muted);font-size:.78rem;line-height:1.45}.contact-consent input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent)}.contact-form .primary-button:disabled{opacity:.65;cursor:wait;transform:none}.contact-form .contact-note{text-align:center}.contact-form .error-message{margin-top:0}.contact-success{display:grid;gap:12px;padding:24px;border:1px solid rgba(0,166,212,.3);border-radius:18px;background:#e9f8ff}.contact-success>span{color:var(--accent-hover);font-size:.78rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:820px){.hero-photo{inset:0;opacity:.58}.address-screen:before{background:linear-gradient(180deg,#ffffffb8,#fff 80%)}.address-content{align-items:center;padding-top:36px;text-align:center}.address-content h1{max-width:12ch}.address-form>label{text-align:left}.result-heading{display:grid;gap:14px;align-items:start}.verified-view{padding:0}.next-step{grid-template-columns:1fr}.visit-action{padding:24px 0 0;border-top:1px solid var(--line);border-left:0}}@media(max-width:560px){.site-header,.result-header{width:min(calc(100% - 32px),1320px);height:68px}.brand-link img,.loading-brand img{height:43px}.address-content{padding:48px 16px 44px;justify-content:flex-end}.address-content h1{font-size:clamp(3rem,15vw,4.4rem)}.hero-text{margin-top:18px;font-size:1rem}.address-form{margin-top:26px}.address-input-wrap input{height:60px;padding:0 16px}.loading-screen{padding-inline:18px}.loading-percent{font-size:clamp(5rem,28vw,7.5rem)}.loading-stages{grid-template-columns:1fr 1fr;row-gap:8px}.result-content{width:min(calc(100% - 28px),1220px);padding-top:38px}.text-button{max-width:116px;text-align:right;line-height:1.2}.comparison-stage{aspect-ratio:4 / 5;border-radius:18px}.comparison-tags{inset:12px 12px auto}.comparison-handle{width:48px;height:48px}.next-step{margin-top:52px;padding:26px 20px;border-radius:20px}.contact-form .primary-button{min-height:64px;padding:12px 16px;line-height:1.25;text-align:center;white-space:normal}}.loading-phase{margin-bottom:20px;color:var(--accent);font-size:.78rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.selection-screen{background:radial-gradient(circle at top right,rgba(0,166,212,.1),transparent 32%),#f7fbfd}.selection-content{width:min(calc(100% - 48px),1180px);margin:0 auto;padding:clamp(42px,7vw,82px) 0 80px}.selection-content>h1{max-width:13ch;font-size:clamp(2.8rem,6vw,5.7rem)}.selection-address,.selection-help{color:var(--muted);line-height:1.55}.selection-address{margin:18px 0 0;font-weight:750}.selection-help{max-width:650px;margin:10px 0 30px}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.candidate-card{padding:0;overflow:hidden;border:2px solid transparent;border-radius:20px;color:var(--ink);background:#fff;box-shadow:0 18px 48px #061c351f;cursor:pointer;text-align:left;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.candidate-card:hover,.candidate-card:focus-visible{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 22px 56px #061c352e}.candidate-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover;background:#dce9ef}.candidate-card span{display:block;padding:17px 20px;font-weight:850}.candidate-card .candidate-badge{padding:10px 20px;color:var(--brand);background:#e9f8ff;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.google-attribution{margin:16px 0 0;color:var(--muted);font-size:.78rem}.none-button{margin-top:26px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff;font-weight:750;cursor:pointer}@media(max-width:560px){.selection-content{width:min(calc(100% - 28px),1180px);padding-top:38px}.selection-content>h1{font-size:clamp(2.6rem,13vw,4rem)}.candidate-grid{grid-template-columns:1fr;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-button,.progress-track span{transition:none}}}
