
.pwa-ios-install{margin:1.5rem 0 0;border:2px solid #e7c369;border-radius:1.25rem;padding:1.2rem;background:#fff8e5}.pwa-ios-install h2{max-width:none;margin:.1rem 0 1rem;font-size:1.55rem;line-height:1.1;letter-spacing:-.02em}.pwa-ios-install ol{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.pwa-ios-install li{display:grid;grid-template-columns:2.5rem 1fr;gap:0 .75rem;align-items:center;border-radius:.85rem;padding:.7rem;background:#fff}.pwa-ios-install li>span{grid-row:1/3;display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.75rem;background:var(--amber);color:#503a0d;font-size:1.15rem;font-weight:950}.pwa-ios-install li strong{font-size:1.05rem}.pwa-ios-install li small{color:var(--soft)}.pwa-ios-note{margin:1rem 0 0!important;color:var(--ink)!important;font-weight:750}.pwa-ios-install+.pwa-status{margin-top:1rem}
.pwa-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);gap:1rem;align-items:stretch}.pwa-rings{grid-column:1/-1;border:2px solid var(--amber);background:linear-gradient(135deg,#fff7dd,#fffdf8)}.pwa-ring{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem 1rem;padding:.5rem 0}.pwa-ring+.pwa-ring{margin-top:1rem;border-top:1px solid var(--line);padding-top:1.25rem}.pwa-ring h2,.pwa-ring p{margin:0}.pwa-ring p,.pwa-ring small{color:var(--soft)}.pwa-ring button{grid-column:2;grid-row:1/4;min-width:12rem;min-height:4rem;font-size:1.05rem}.pwa-hero{position:relative;overflow:hidden;border-radius:2rem;padding:clamp(1.5rem,6vw,4rem);background:linear-gradient(145deg,#fffdf8 0 58%,#dceee6);box-shadow:var(--shadow)}.pwa-hero h1{max-width:12ch;margin:.2rem 0 1rem;font-size:clamp(2.5rem,7vw,5rem);line-height:.95;letter-spacing:-.055em}.pwa-bell{display:grid;width:5rem;height:5rem;place-items:center;margin-bottom:2rem;border-radius:1.5rem;background:var(--green);color:#fff;font-size:2.8rem;box-shadow:inset 0 -.4rem 0 var(--dark)}.pwa-bell i{position:absolute;width:1rem;height:1rem;margin:2.1rem 0 0 2.1rem;border-radius:50%;background:var(--amber)}.pwa-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.2rem}.pwa-status{max-width:42rem;margin-top:1.5rem;border-left:.35rem solid var(--green);border-radius:.4rem;padding:1rem;background:#ffffffc7;font-weight:750}.pwa-status.good{background:var(--mint)}.pwa-status.warn{border-color:var(--amber);background:var(--amber-soft)}.pwa-status.ringing{border-color:var(--amber);background:#fff2ce;font-size:1.12rem}.pwa-houses{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,2.4rem)}.pwa-houses h2{margin:.1rem 0 .8rem;font-size:2rem}.pwa-houses ul{list-style:none;margin:.5rem 0 1.5rem;padding:0}.pwa-houses li{display:flex;gap:.6rem;margin:.55rem 0;font-weight:800}.pwa-houses li span{color:var(--green)}.pwa-fallback{margin:1rem 0;padding:1rem;border-radius:1rem;background:var(--mint);color:var(--ink)!important}button:disabled,.button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}@media(max-width:760px){.pwa-shell{grid-template-columns:1fr}.pwa-hero{border-radius:1.35rem}.pwa-ring{grid-template-columns:1fr}.pwa-ring button{grid-column:1;grid-row:auto;width:100%;margin-top:.65rem}.pwa-hero h1{font-size:clamp(2.35rem,13vw,4rem)}}
.pwa-devices{grid-column:1/-1}.pwa-devices-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.pwa-devices-head h2{margin:.1rem 0 .35rem;font-size:2rem}.pwa-devices-head p{margin-bottom:0}.pwa-device-status{min-height:1.6rem;margin:.75rem 0;font-weight:750}.pwa-device-status.good{color:var(--green)}.pwa-device-status.warn{color:var(--danger)}.pwa-device-list{display:grid;gap:.75rem}.pwa-device{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:1rem;padding:1rem;background:#fff}.pwa-device-icon{display:grid;width:3rem;height:3rem;place-items:center;border-radius:.9rem;background:var(--mint);color:var(--green);font-size:2rem;font-weight:900}.pwa-device-info h3,.pwa-device-info p{margin:0}.pwa-device-info p,.pwa-device-info small{color:var(--soft)}.pwa-device-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:.5rem}.pwa-device-actions .button,.pwa-device-actions button{min-height:2.5rem;padding:.45rem .7rem;box-shadow:none}.danger-text{color:var(--danger)!important}.pwa-device-rename{display:flex;flex-wrap:wrap;justify-content:end;gap:.5rem}.pwa-device-rename input{min-height:2.7rem;border:1px solid #bdb4a5;border-radius:.7rem;padding:.55rem .7rem}.pwa-device-rename button{min-height:2.7rem;padding:.5rem .75rem}@media(max-width:760px){.pwa-devices-head{align-items:flex-start}.pwa-device{grid-template-columns:auto 1fr}.pwa-device-actions,.pwa-device-rename{grid-column:1/-1;justify-content:stretch}.pwa-device-actions button,.pwa-device-rename input{flex:1 1 9rem}}
:root{--ink:#17352d;--soft:#4e635c;--paper:#f6f0e5;--card:#fffdf8;--green:#176b51;--dark:#0d4d3a;--mint:#dceee6;--amber:#f2b84b;--amber-soft:#fff2ce;--line:#d8d0c1;--danger:#a5412c;--shadow:0 1.4rem 4rem #19352d1f;--radius:1.35rem;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);text-rendering:optimizeLegibility}a{color:var(--dark);text-underline-offset:.16em}a:hover{color:var(--green)}img,svg{max-width:100%;height:auto}button,input,select{font:inherit}button,.button{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:.8rem;padding:.7rem 1.1rem;background:var(--green);color:#fff;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 .25rem 0 var(--dark);transition:.15s ease}button:hover,.button:hover{background:#1b7a5d;color:#fff}.button.secondary{background:transparent;color:var(--dark);border:2px solid var(--green);box-shadow:none}.button.ghost{background:transparent;color:var(--dark);box-shadow:none;padding-inline:.6rem}.button.danger,button.danger{background:var(--danger);box-shadow:0 .25rem 0 #733022}button:active,.button:active{transform:translateY(.15rem);box-shadow:0 .1rem 0 var(--dark)}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:.22rem solid #82bca9;outline-offset:.18rem}.site-header{position:sticky;z-index:20;top:0;border-bottom:1px solid #d8d0c1cc;background:#fffdf8eb;backdrop-filter:blur(14px)}.nav-wrap{width:min(72rem,calc(100% - 2rem));min-height:4.5rem;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.62rem;color:var(--ink);font-size:1.18rem;font-weight:900;text-decoration:none;letter-spacing:-.025em}.brand-mark{display:grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:.75rem;background:var(--green);color:#fff;box-shadow:inset 0 -.18rem 0 var(--dark)}.nav-links{display:flex;align-items:center;gap:.55rem}.nav-links a:not(.button){padding:.6rem;color:var(--ink);font-weight:700;text-decoration:none}.page{width:min(72rem,calc(100% - 2rem));margin:auto;padding:2.5rem 0 5rem}.page.narrow{width:min(40rem,calc(100% - 2rem))}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:center;gap:clamp(2rem,7vw,6rem);min-height:calc(100svh - 8rem);padding:3rem 0}.eyebrow{margin:0 0 .75rem;color:var(--green);font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.hero h1{max-width:12ch;margin:.1rem 0 1.15rem;font-size:clamp(2.8rem,7vw,5.4rem);line-height:.95;letter-spacing:-.055em}.lead{max-width:39rem;color:var(--soft);font-size:clamp(1.15rem,2.2vw,1.38rem)}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.7rem 0}.plain-note,.muted{color:var(--soft)}.pilot-note{margin:1.5rem 0;padding:1rem 1.1rem;border:1px solid #e7c369;border-radius:1rem;background:var(--amber-soft);color:#684d12}.door-demo{position:relative;max-width:25rem;margin:auto;padding:1.6rem;border:.75rem solid #b88255;border-bottom-width:1.2rem;border-radius:1.2rem;background:#2d684f;box-shadow:var(--shadow);transform:rotate(1.5deg)}.door-demo:before{content:"";position:absolute;right:1rem;top:50%;width:.7rem;height:.7rem;border-radius:50%;background:var(--amber);box-shadow:0 0 0 .25rem #0003}.qr-plaque{padding:1.35rem;border-radius:1rem;background:#fff;color:#111;text-align:center;box-shadow:0 .8rem 2rem #0003}.fake-qr{display:grid;width:10rem;aspect-ratio:1;margin:.6rem auto 1rem;padding:.65rem;grid-template-columns:repeat(7,1fr);gap:.18rem;background:#fff;border:.18rem solid #111}.fake-qr i{background:var(--ink)}.fake-qr i:nth-child(3n),.fake-qr i:nth-child(5n+1){background:transparent}.qr-plaque strong{display:block;color:var(--ink);font-size:1.2rem}.section{padding:5rem 0}.section-heading{max-width:44rem;margin-bottom:2rem}.section h2{margin:.2rem 0 .7rem;font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;letter-spacing:-.04em}.section-heading p{color:var(--soft);font-size:1.1rem}.steps,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card,.panel{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;background:var(--card);box-shadow:0 .55rem 1.6rem #19352d0f}.panel{padding:clamp(1.25rem,4vw,2rem);box-shadow:var(--shadow)}.step-number{display:grid;width:3rem;height:3rem;place-items:center;border-radius:1rem;background:var(--amber);color:#503a0d;font-size:1.25rem;font-weight:950}.card h3{margin:.9rem 0 .35rem;font-size:1.25rem}.card p{margin:.35rem 0;color:var(--soft)}.reassurance{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;border-radius:2rem;padding:clamp(1.5rem,5vw,4rem);background:var(--dark);color:#fff}.reassurance p{color:#dcebe6}.check-list{list-style:none;padding:0}.check-list li{position:relative;margin:.8rem 0;padding-left:2rem}.check-list li:before{content:"✓";position:absolute;left:0;display:grid;width:1.4rem;height:1.4rem;place-items:center;border-radius:50%;background:var(--amber);color:#422f08;font-weight:900}.cta-panel{border:1px solid var(--line);border-radius:2rem;padding:clamp(1.5rem,5vw,4rem);background:linear-gradient(135deg,#fffdf8,#e3f1e9);text-align:center}.cta-panel h2{max-width:18ch;margin:.2rem auto 1rem}.site-footer{border-top:1px solid var(--line);background:#eee5d7}.footer-wrap{width:min(72rem,calc(100% - 2rem));margin:auto;padding:2.5rem 0;display:flex;justify-content:space-between;gap:2rem;color:var(--soft);font-size:.9rem}.panel h1{margin-top:0;font-size:clamp(2rem,5vw,3rem);line-height:1}.form-grid{display:grid;gap:1rem}.form-grid.two{grid-template-columns:1fr 1fr}.field{display:grid;gap:.35rem;color:var(--ink);font-weight:750}.field small{color:var(--soft);font-weight:500}.field-spacer{visibility:hidden}.field input,.field select{width:100%;min-height:3rem;border:1px solid #bdb4a5;border-radius:.7rem;padding:.7rem .8rem;background:#fff;color:var(--ink)}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.form-error{border-left:.35rem solid var(--danger);padding:.8rem 1rem;background:#fff0ec;color:#742e20}.form-success{border-left:.35rem solid var(--green);padding:.8rem 1rem;background:var(--mint)}.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important}.dashboard-head{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.dashboard-head h1{margin:.2rem 0;font-size:clamp(2rem,5vw,3.4rem);line-height:1}.house-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.house-card{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;background:var(--card);color:var(--ink);text-decoration:none;box-shadow:0 .45rem 1.5rem #19352d0f}.house-card:hover{border-color:#9dbdaf;transform:translateY(-.1rem)}.role{color:var(--green);font-size:.78rem;font-weight:900;text-transform:uppercase}.onboarding{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin:0 0 2rem;padding:1.15rem;border:1px solid #e7c369;border-radius:1rem;background:var(--amber-soft)}.onboarding .step-number{width:2.5rem;height:2.5rem}.subnav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}.subnav a{border-radius:.7rem;padding:.55rem .75rem;background:#fff;color:var(--ink);font-weight:750;text-decoration:none}.subnav a.active{background:var(--green);color:#fff}.settings-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);gap:1rem}.status-pill{display:inline-flex;border-radius:999px;padding:.25rem .55rem;background:#ece7de;color:var(--soft);font-size:.78rem;font-weight:850}.status-pill.good{background:var(--mint);color:var(--dark)}.status-pill.warn{background:var(--amber-soft);color:#684d12}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.75rem .55rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{color:var(--soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.empty{border:1px dashed #bcb3a4;border-radius:1rem;padding:1.4rem;color:var(--soft);text-align:center}.qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}.qr-card img{display:block;width:min(100%,20rem);margin:1rem auto}.link-row{display:flex;flex-wrap:wrap;gap:.5rem}.link-row a{border-radius:.55rem;padding:.4rem .65rem;background:var(--mint);font-weight:750;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.nav-links .hide-mobile{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:3rem}.door-demo{width:min(21rem,90%)}.steps,.feature-grid,.reassurance,.settings-grid,.form-grid.two{grid-template-columns:1fr}.section{padding:3.5rem 0}.onboarding{grid-template-columns:auto 1fr}.onboarding .button{grid-column:1/-1}.dashboard-head,.footer-wrap{align-items:flex-start;flex-direction:column}.data-table{display:block;overflow-x:auto}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
