PageSourceSearch

https://cove.is/

html cove.is collected 2026-10-01 11:33:49 UTC 344,844 bytes, 5,030 lines download raw bytes

1<!doctype html><html lang="en" class="cove"><head>
2    <meta charset="utf-8">
3    <title>Unified Commercial Property Management Software | Cove</title>
4    
5    <link rel="shortcut icon" href="https://cove.is/hubfs/Favicon-01.png">
6    
7
8    <meta name="description" content="Run your building from one place with Cove’s Commercial Property Management Software — seamless operations and tenant experience in one platform.">
9    
10    
11    
12    
13    
14    
15        
16    
17    
18    
19    
19<script src="https://code.jquery.com/jquery-3.7.0.js" integrity="sha256-JlqSTELeR4TLqP0OG9dxM7yDPqX1ox/HfgiSLBj8+kM=" crossorigin="anonymous"></script>
19
20    
21    
22    <meta name="viewport" content="width=device-width, initial-scale=1">
23
24    
25    <meta property="og:description" content="Run your building from one place with Cove’s Commercial Property Management Software — seamless operations and tenant experience in one platform.">
26    <meta property="og:title" content="Unified Commercial Property Management Software | Cove">
27    <meta name="twitter:description" content="Run your building from one place with Cove’s Commercial Property Management Software — seamless operations and tenant experience in one platform.">
28    <meta name="twitter:title" content="Unified Commercial Property Management Software | Cove">
29
30    
31
32    
33    <style>
34a.cta_button{-moz-box-sizing:content-box !important;-webkit-box-sizing:content-box !important;box-sizing:content-box !important;vertical-align:middle}.hs-breadcrumb-menu{list-style-type:none;margin:0px 0px 0px 0px;padding:0px 0px 0px 0px}.hs-breadcrumb-menu-item{float:left;padding:10px 0px 10px 10px}.hs-breadcrumb-menu-divider:before{content:'›';padding-left:10px}.hs-featured-image-link{border:0}.hs-featured-image{float:right;margin:0 0 20px 20px;max-width:50%}@media (max-width: 568px){.hs-featured-image{float:none;margin:0;width:100%;max-width:100%}}.hs-screen-reader-text{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}
35</style>
36
37<link rel="stylesheet" href="https://cove.is/hubfs/hub_generated/template_assets/1/187406797743/1784748286877/template_main.min.css">
38<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css">
39<link rel="stylesheet" href="https://cove.is/hubfs/hub_generated/template_assets/1/187426391356/1784748285838/template_theme-overrides.min.css">
40<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:regular,500,600,700%7CSora:regular,500,600">
41<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700">
42<link rel="stylesheet" href="https://cove.is/hubfs/hub_generated/template_assets/1/187426190621/1784748291870/template_child.min.css">
43<link rel="stylesheet" href="https://cove.is/hubfs/hub_generated/module_assets/1/215778434909/1783691999062/module_HP_Site_Page_-_June_2026.min.css">
44<link rel="stylesheet" href="https://cove.is/hubfs/hub_generated/module_assets/1/187406764215/1742187094760/module_footer-section.min.css">
45
46    <style>
47      @import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.0.1/css/font-awesome.css');
48
49      
50      .footer.footer_section__2 .footer-section-1 {
51        padding-top:80px;
52        padding-bottom:80px;
53      }
54      .footer.footer_section__2 .footer-section-1  .flex_row {
55        border-top: px solid ;
56      }
57
58
59      
60
61      
62      @media(max-width:767px){
63        .footer.footer_section__2 .footer-section-1 {
64          padding-top:48px;
65          padding-bottom:48px;
66        }
67      }
68      
69
70      
71      .footer.footer_section__2 .footer-section-2 {
72        padding-top:0px;
73        padding-bottom:80px;
74      }
75      .footer.footer_section__2 .footer-section-2  .flex_row {
76        border-top: 0px solid rgba(0, 0, 0, 1.0);
77      }
78
79
80      
81
82      
83      @media(max-width:767px){
84        .footer.footer_section__2 .footer-section-2 {
85          padding-top:0px;
86          padding-bottom:48px;
87        }
88      }
89      
90
91      
92
93
94      
95      
96      
97      
98      
99      
100
101      .footer.footer_section__2 .footer-section-1 .col-section.num1 .footer-row.row1{
102        padding-top: 0px;
103        padding-bottom:0px;
104      }
105
106
107      
108
109      
110
111      
112
113      
114
115      
116      .footer.footer_section__2 .footer-section-1 .num1 .row1 .footer-image img{
117        max-width: 	50px;
118      }
119
120      
121      
122
123      .footer.footer_section__2 .footer-section-1 .col-section.num1 .footer-row.row2{
124        padding-top: 0px;
125        padding-bottom:0px;
126      }
127
128
129      
130
131      
132
133      
134
135      
136
137      
138      .footer.footer_section__2 .footer-section-1 .num1 .row2 .footer-image img{
139        max-width: 	50px;
140      }
141
142      
143      
144
145      .footer.footer_section__2 .footer-section-1 .col-section.num1 .footer-row.row3{
146        padding-top: 1px;
147        padding-bottom:1px;
148      }
149
150
151      
152
153      
154
155      
156
157      
158
159      
160      .footer.footer_section__2 .footer-section-1 .num1 .row3 .footer-image img{
161        max-width: 	50px;
162      }
163
164      
165      
166      
167      
168      
169
170      .footer.footer_section__2 .footer-section-1 .col-section.num2 .footer-row.row1{
171        padding-top: 0px;
172        padding-bottom:0px;
173      }
174
175
176      
177
178      
179
180      
181
182      
183
184      
185      .footer.footer_section__2 .footer-section-1 .num2 .row1 .footer-image img{
186        max-width: 	50px;
187      }
188
189      
190      
191
192      .footer.footer_section__2 .footer-section-1 .col-section.num2 .footer-row.row2{
193        padding-top: 0px;
194        padding-bottom:0px;
195      }
196
197
198      
199
200      
201
202      
203
204      
205
206      
207      .footer.footer_section__2 .footer-section-1 .num2 .row2 .footer-image img{
208        max-width: 	50px;
209      }
210
211      
212      
213
214      .footer.footer_section__2 .footer-section-1 .col-section.num2 .footer-row.row3{
215        padding-top: 0px;
216        padding-bottom:0px;
217      }
218
219
220      
221
222      
223
224      
225
226      
227
228      
229      .footer.footer_section__2 .footer-section-1 .num2 .row3 .footer-image img{
230        max-width: 	50px;
231      }
232
233      
234      
235      
236      
237      
238
239      .footer.footer_section__2 .footer-section-1 .flex_row.primary_font{
240        color: rgba(255, 255, 255, 1.0);
241      }
242
243      
244      
245      
246      
247      
248      
249
250      .footer.footer_section__2 .footer-section-2 .col-section.num1 .footer-row.row1{
251        padding-top: 0px;
252        padding-bottom:0px;
253      }
254
255
256      
257
258      
259
260      
261
262      
263
264      
265      .footer.footer_section__2 .footer-section-2 .num1 .row1 .footer-image img{
266        max-width: 	50px;
267      }
268
269      
270      
271
272      .footer.footer_section__2 .footer-section-2 .col-section.num1 .footer-row.row2{
273        padding-top: 0px;
274        padding-bottom:0px;
275      }
276
277
278      
279
280      
281
282      
283
284      
285
286      
287      .footer.footer_section__2 .footer-section-2 .num1 .row2 .footer-image img{
288        max-width: 	50px;
289      }
290
291      
292      
293
294      .footer.footer_section__2 .footer-section-2 .flex_row.primary_font{
295        color: rgba(255, 255, 255, 1.0);
296      }
297
298      
299
300
301
302      
303
304
305      
306      
307      
308
309
310
311      @media(min-width:768px)  {
312        .footer.footer_section__2 .footer-section-1 .col-section.num1{
313          width: 100%;
314        }
315      }
316
317      
318
319      @media(max-width:767px)  {
320        .footer.footer_section__2 .footer-section-1 .col-section.num1{
321          width: %;
322        }
323      }
324      
325
326
327
328      @media(min-width:768px)  {
329        .footer.footer_section__2 .footer-section-1 .col-section.num2{
330          width: 100%;
331        }
332      }
333
334      
335
336      @media(max-width:767px)  {
337        .footer.footer_section__2 .footer-section-1 .col-section.num2{
338          width: 100%;
339        }
340      }
341      
342
343
344
345      @media(min-width:768px)  {
346        .footer.footer_section__2 .footer-section-1 .col-section.num3{
347          width: 33.333%;
348        }
349      }
350
351      
352
353      @media(max-width:767px)  {
354        .footer.footer_section__2 .footer-section-1 .col-section.num3{
355          width: 100%;
356        }
357      }
358      
359      
360      
361      
362
363
364
365      @media(min-width:768px)  {
366        .footer.footer_section__2 .footer-section-2 .col-section.num1{
367          width: 100%;
368        }
369      }
370
371      
372
373      @media(max-width:767px)  {
374        .footer.footer_section__2 .footer-section-2 .col-section.num1{
375          width: 100%;
376        }
377      }
378      
379      
380    </style>
381    
382<style>
383  @font-face {
384    font-family: "Roboto";
385    font-weight: 400;
386    font-style: normal;
387    font-display: swap;
388    src: url("/_hcms/googlefonts/Roboto/regular.woff2") format("woff2"), url("/_hcms/googlefonts/Roboto/regular.woff") format("woff");
389  }
390  @font-face {
391    font-family: "Roboto";
392    font-weight: 700;
393    font-style: normal;
394    font-display: swap;
395    src: url("/_hcms/googlefonts/Roboto/700.woff2") format("woff2"), url("/_hcms/googlefonts/Roboto/700.woff") format("woff");
396  }
397  @font-face {
398    font-family: "Inter";
399    font-weight: 400;
400    font-style: normal;
401    font-display: swap;
402    src: url("/_hcms/googlefonts/Inter/regular.woff2") format("woff2"), url("/_hcms/googlefonts/Inter/regular.woff") format("woff");
403  }
404  @font-face {
405    font-family: "Inter";
406    font-weight: 700;
407    font-style: normal;
408    font-display: swap;
409    src: url("/_hcms/googlefonts/Inter/700.woff2") format("woff2"), url("/_hcms/googlefonts/Inter/700.woff") format("woff");
410  }
411  @font-face {
412    font-family: "Oswald";
413    font-weight: 500;
414    font-style: normal;
415    font-display: swap;
416    src: url("/_hcms/googlefonts/Oswald/500.woff2") format("woff2"), url("/_hcms/googlefonts/Oswald/500.woff") format("woff");
417  }
418  @font-face {
419    font-family: "Oswald";
420    font-weight: 400;
421    font-style: normal;
422    font-display: swap;
423    src: url("/_hcms/googlefonts/Oswald/regular.woff2") format("woff2"), url("/_hcms/googlefonts/Oswald/regular.woff") format("woff");
424  }
425  @font-face {
426    font-family: "Oswald";
427    font-weight: 700;
428    font-style: normal;
429    font-display: swap;
430    src: url("/_hcms/googlefonts/Oswald/700.woff2") format("woff2"), url("/_hcms/googlefonts/Oswald/700.woff") format("woff");
431  }
432  @font-face {
433    font-family: "Sora";
434    font-weight: 400;
435    font-style: normal;
436    font-display: swap;
437    src: url("/_hcms/googlefonts/Sora/regular.woff2") format("woff2"), url("/_hcms/googlefonts/Sora/regular.woff") format("woff");
438  }
439  @font-face {
440    font-family: "Sora";
441    font-weight: 700;
442    font-style: normal;
443    font-display: swap;
444    src: url("/_hcms/googlefonts/Sora/700.woff2") format("woff2"), url("/_hcms/googlefonts/Sora/700.woff") format("woff");
445  }
446</style>
447
448<!-- Editor Styles -->
449<style id="hs_editor_style" type="text/css">
450.banner_area-row-0-force-full-width-section > .row-fluid {
451  max-width: none !important;
452}
453</style>
454    
455
456    
457    <link rel="canonical" href="https://cove.is">
458
459<!-- Google tag (gtag.js) -->
vendor: 64 bytes, line 459
459 <script async src="https://www.googletagmanager.com/gtag/js?id=
459G-5XH7ZQ403K
vendor: 12 bytes, line 459
459"></script> 
459<script> 
vendor: 127 bytes, line 459
459window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '
459G-5XH7ZQ403K
vendor: 4 bytes, line 459
459'); 
459</script>
459
460<!-- Google Tag Manager -->
461<script>
vendor: 327 bytes, lines 461-465
461(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
462new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
463j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
464'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
465})(window,document,'script','dataLayer','
465GTM-KF26Z399
vendor: 3 bytes, line 465
465');
465</script>
465
466<!-- End Google Tag Manager -->
467<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 467-468
467
468<script async src="https://www.googletagmanager.com/gtag/js?id=
468AW-11154263867
vendor: 13 bytes, lines 468-469
468">
469</script>
470<script>
471  
vendor: 134 bytes, lines 471-475
471window.dataLayer = window.dataLayer || [];
472  function gtag(){dataLayer.push(arguments);}
473  gtag('js', new Date());
474
475  gtag('config', '
475AW-11154263867
vendor: 4 bytes, line 475
475');
476</script>
476
477<meta property="og:image" content="https://cove.is/hubfs/Property%20Management%20Software%20for%20CRE.jpg">
478<meta property="og:image:width" content="2250">
479<meta property="og:image:height" content="1176">
480<meta property="og:image:alt" content="Property management software for CRE">
481<meta name="twitter:image" content="https://cove.is/hubfs/Property%20Management%20Software%20for%20CRE.jpg">
482<meta name="twitter:image:alt" content="Property management software for CRE">
483
484<meta property="og:url" content="https://cove.is">
485<meta name="twitter:card" content="summary_large_image">
486<meta http-equiv="content-language" content="en">
487
488
489
490
491
492<meta name="google-site-verification" content="bTEQTgU8sSEyCm62KQqiOTkmLGznIBHyJ-3j0eYfQWs">
493<!-- Biscred Tag -->
494<script>(function(w,d,s,i){w.bcpf=w.bcpf||[];
495    var b=new Date(),f=d.getElementsByTagName(s)[0],j=d.createElement(s);j.async=true;
496    w.bcpf.push({'init':b.getTime(),'account':i});
497    j.src='https://pf.biscred.com/'+i+'/bcpf.js?'+b.getDate()+b.getMonth();f.parentNode.insertBefore(j,f);})
498(window,document,'script','06f9f99540');</script>
498
499<!-- End Biscred Tag -->
500<script>
501  !function(w, d, s, u) {
502    if (w.oaiq) return;
503    var q = function() {
504      q.q.push(arguments);
505    };
506    q.q = [];
507    w.oaiq = q;
508    var j = d.createElement(s);
509    j.async = 1;
510    j.src = u;
511    var f = d.getElementsByTagName(s)[0];
512    f.parentNode.insertBefore(j, f);
513  }(window, document, "script", "https://bzrcdn.openai.com/sdk/oaiq.min.js");
514
515  oaiq("init", {
516    pixelId: "EeWZjLBs14BkodFC5mWD3v",
517    debug: true
518  });
519</script>
vendor: 1 bytes, line 519
519
520<script>
521  oaiq("measure", "registration_completed", {
522    type: "customer_action",
523    amount: 0,
524    currency: "USD"
525  });
526</script>
526
527    
528  <meta name="generator" content="HubSpot"></head>
529  <body>
530    <div class="body-wrapper   hs-content-id-187474757559 hs-site-page page ">
531      
532      
533      
534      <div data-global-resource-path="Cove_March2025/templates/partials/header.html"><div class="container-fluid header_dnd_sec header_top_sec">
535<div class="row-fluid-wrapper">
536<div class="row-fluid">
537<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12">
538
539</div><!--end widget-span -->
540</div>
541</div>
542</div>
543
544<style>
545  /* ====== Header Layout & FIXED Behavior ====== */
546  .header-wrap {
547    position: relative;
548    z-index: 9999;
549  }
550
551  .cm-header {
552    position: fixed !important;
553    top: 0 !important;
554    left: 0;
555    right: 0;
556    z-index: 9999;
557    background-color: #ffffff;
558    border-bottom: 1px solid #e6edf5;
559    transition: box-shadow 0.2s ease, background-color 0.2s ease, backdrop-filter 0.2s ease;
560
561    /* critical: don't clip the fixed mobile dropdown */
562    overflow: visible !important;
563  }
564
565  .cm-header.is-scrolled {
566    box-shadow: 0 8px 24px rgba(8, 22, 50, 0.08);
567    background-color: rgba(255, 255, 255, 0.97);
568    backdrop-filter: blur(6px);
569  }
570
571  .cm-header .header-cnt {
572    padding: 10px 0;
573    overflow: visible !important;
574  }
575
576  .cm-header .page-center {
577    max-width: 1200px;
578    margin: 0 auto;
579    padding: 0 32px;
580    display: flex;
581    align-items: center;
582    justify-content: space-between;
583    column-gap: 24px;
584    overflow: visible !important;
585  }
586
587  .cm-header .logo-cnt {
588    flex: 0 0 auto;
589    display: flex;
590    align-items: center;
591  }
592
593  .cm-header .mainNav {
594    flex: 1 1 auto;
595    min-width: 0;
596    display: flex;
597    align-items: center;
598    justify-content: flex-end; /* keep burger right */
599  }
600
601  .cm-header .dashboard-btn {
602    flex: 0 0 auto;
603    display: flex;
604    align-items: center;
605  }
606
607  /* ====== CTA Button: Book a Demo (Desktop only) ====== */
608  .cm-header .dashboard-btn .hs-button {
609    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
610    font-size: 14px;
611    font-weight: 600;
612    padding: 10px 26px;
613    border-radius: 999px;
614    border: none;
615    background-color: #52c9ec;
616    color: #ffffff;
617    display: inline-flex;
618    align-items: center;
619    justify-content: center;
620    white-space: nowrap;
621    text-decoration: none !important;
622  }
623
624  .cm-header .dashboard-btn a,
625  .cm-header .dashboard-btn a:hover,
626  .cm-header .dashboard-btn a:focus,
627  .cm-header .dashboard-btn a:active {
628    text-decoration: none !important;
629    outline: none !important;
630    border: none !important;
631  }
632
633  .cm-header .dashboard-btn .hs-button:hover {
634    filter: brightness(1.05);
635  }
636
637  /* ====== NAV TYPOGRAPHY OVERRIDES ====== */
638  .cove-nav__link {
639    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
640    font-size: 16px !important;
641    font-weight: 400 !important;
642    line-height: 24px !important;
643    color: #081632 !important;
644    text-decoration: none !important;
645    border: none !important;
646    box-shadow: none !important;
647  }
648
649  .cove-nav__mega-link {
650    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
651    font-size: 16px !important;
652    line-height: 24px !important;
653  }
654
655  .cove-nav__login {
656    font-weight: 700 !important;
657    color: #081632 !important;
658  }
659
660  /* Remove theme hamburger + old theme mobile nav everywhere */
661  .hamburger {
662    display: none !important;
663  }
664
665  .cm-header .mainNav.mobileNav,
666  .cm-header .mobileNav {
667    display: none !important;
668  }
669
670  /* ====== RESPONSIVE ====== */
671  @media (max-width: 960px) {
672    .cm-header .page-center {
673      padding: 0 16px;
674      column-gap: 16px;
675    }
676
677    /* Hide CTA on mobile */
678    .cm-header .dashboard-btn {
679      display: none !important;
680    }
681  }
682</style>
683
684<div class="header-wrap">
685  <div class="cm-header">
686    <div class="header-cnt">
687      <div class="page-center">
688
689        <!-- LOGO -->
690        <div class="logo-cnt">
691          
692          <div id="hs_cos_wrapper_header_logo" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-logo" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module">
693  
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716  
717  <span id="hs_cos_wrapper_header_logo_hs_logo_widget" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_logo" style="" data-hs-cos-general-type="widget" data-hs-cos-type="logo"><a href="//cove.is?hsLang=en" id="hs-link-header_logo_hs_logo_widget" style="border-width:0px;border:0px;"><img src="https://cove.is/hs-fs/hubfs/Cove_Logo_Updated%20(1).png?width=96&amp;height=41&amp;name=Cove_Logo_Updated%20(1).png" class="hs-image-widget " height="41" style="height: auto;width:96px;border-width:0px;border:0px;" width="96" alt="Cove_Logo_Updated (1)" title="Cove_Logo_Updated (1)" srcset="https://cove.is/hs-fs/hubfs/Cove_Logo_Updated%20(1).png?width=48&amp;height=21&amp;name=Cove_Logo_Updated%20(1).png 48w, https://cove.is/hs-fs/hubfs/Cove_Logo_Updated%20(1).png?width=96&amp;height=41&amp;name=Cove_Logo_Updated%20(1).png 96w, https://cove.is/hs-fs/hubfs/Cove_Logo_Updated%20(1).png?width=144&amp;height=62&amp;name=Cove_Logo_Updated%20(1).png 144w, https://cove.is/hs-fs/hubfs/Cove_Logo_Updated%20(1).png?width=192&amp;height=82&amp;name=Cove_Logo_Updated%20(1).png 192w, https://cove.is/hs-fs/hubfs/Cove_Logo_Updated%20(1).png?width=240&amp;height=103&amp;name=Cove_Logo_Updated%20(1).png 240w, https://cove.is/hs-fs/hubfs/Cove_Logo_Updated%20(1).png?width=288&amp;height=123&amp;name=Cove_Logo_Updated%20(1).png 288w" sizes="(max-width: 96px) 100v
717w, 96px"></a></span>
718</div>
719        </div>
720
721        <!-- NAV: menu-section-v2 on desktop + mobile -->
722        <div class="mainNav mainNav--primary">
723          <div id="hs_cos_wrapper_menu_section_v2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><!-- menu-section-v2 (MODULE) -->
724<style>
725/* ========== GLOBAL NAV WRAPPER ========== */
726.cove-nav {
727  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
728  background-color: #ffffff;
729  border-bottom: none;
730  position: relative;
731  z-index: 1000;
732  width: 100%;
733}
734.cove-nav__inner {
735  max-width: 1200px;
736  margin: 0 auto;
737  padding: 12px 24px;
738  display: flex;
739  align-items: center;
740  justify-content: center;
741  gap: 24px;
742  width: 100%;
743}
744.cove-nav__left {
745  display: flex;
746  align-items: center;
747  justify-content: center;
748  gap: 24px;
749  flex: 1 1 auto;
750  width: 100%;
751}
752/* ========== HAMBURGER BUTTON FOR MOBILE ========== */
753.cove-nav__toggle {
754  display: none;
755  border: 1px solid #d3d7e5;
756  background: #ffffff;
757  padding: 8px 10px;
758  border-radius: 8px;
759  font-size: 14px;
760  cursor: pointer;
761  line-height: 1;
762  -webkit-tap-highlight-color: transparent;
763}
764.cove-nav__toggle,
765.cove-nav__toggle:active,
766.cove-nav__toggle:focus {
767  background: #ffffff !important;
768  outline: none !important;
769}
770.cove-nav__toggle-line {
771  display: block;
772  width: 18px;
773  height: 2px;
774  background-color: #081632;
775  border-radius: 999px;
776  position: relative;
777}
778.cove-nav__toggle-line::before,
779.cove-nav__toggle-line::after {
780  content: "";
781  position: absolute;
782  left: 0;
783  width: 18px;
784  height: 2px;
785  background-color: #081632;
786  border-radius: 999px;
787}
788.cove-nav__toggle-line::before { top: -5px; }
789.cove-nav__toggle-line::after  { top: 5px; }
790/* ========== MAIN NAV LIST ========== */
791.cove-nav__items {
792  display: flex;
793  align-items: center;
794  gap: 24px;
795  list-style: none;
796  margin: 0;
797  padding: 0;
798  position: relative;
799  z-index: 2;
800}
801.cove-nav__item {
802  position: static;
803}
804.cove-nav__link {
805  border: none;
806  background: transparent;
807  padding: 8px 0;
808  font-size: 16px;
809  font-weight: 400;
810  color: #081632;
811  cursor: pointer;
812  display: inline-flex;
813  align-items: center;
814  gap: 6px;
815  position: relative;
816  text-decoration: none !important;
817  border-radius: 0 !important;
818  box-shadow: none !important;
819  outline: none !important;
820}
821.cove-nav__link:hover,
822.cove-nav__link:focus,
823.cove-nav__link:active,
824.cove-nav__item:hover > .cove-nav__link {
825  color: #081632;
826  text-decoration: none !important;
827  background: transparent !important;
828  border-radius: 0 !important;
829  box-shadow: none !important;
830  outline: none !important;
831}
832.cove-nav__link:focus-visible {
833  outline: none !important;
834  box-shadow: none !important;
835  background: transparent !important;
836  border-radius: 0 !important;
837}
838.cove-nav__link-arrow {
839  font-size: 16px;
840  line-height: 24px;
841  transform: translateY(0);
842  transition: transform 0.2s ease;
843}
844.cove-nav__item.has-mega:hover > .cove-nav__link .cove-nav__link-arrow,
845.cove-nav__item.has-mega:focus-within > .cove-nav__link .cove-nav__link-arrow {
846  transform: rotate(180deg);
847}
848/* LOGIN STYLING */
849.cove-nav__login {
850  font-size: 16px;
851  font-weight: 700;
852  color: #081632;
853  text-decoration: none !important;
854}
855/* ========== MEGA MENU (desktop) ========== */
856.cove-nav__mega {
857  position: absolute;
858  top: 100%;
859  margin-top: -4px;
860  left: 50%;
861  transform: translateX(-50%);
862  width: min(100vw - 32px, 1200px);
863  background-color: #ffffff;
864  border-radius: 12px;
865  box-shadow: 0 18px 40px rgba(12, 23, 53, 0.18);
866  padding: 24px 32px 28px;
867  display: none;
868  z-index: 1;
869}
870.cove-nav__mega-inner {
871  display: grid;
872  grid-template-columns: minmax(0,2fr) minmax(0,2fr) minmax(0,2fr);
873  gap: 40px;
874}
875/* 4-column mega menus on desktop (Resources) */
876.cove-nav__mega--4col .cove-nav__mega-inner {
877  grid-template-columns: minmax(0,2fr) minmax(0,2fr) minmax(0,2fr) minmax(0,2fr);
878}
879/* Platform: intro spans both rows so the second link row tucks up close */
880.cove-nav__mega--platform .cove-nav__mega-inner {
881  column-gap: 40px;
882  row-gap: 12px;
883}
884.cove-nav__mega--platform .cove-nav__mega-intro {
885  grid-row: 1 / span 2;
886}
887/* Second-row item aligned under the link columns (skips the intro column) */
888.cove-nav__mega-row2 {
889  grid-column: 2 / span 2;
890}
891.cove-nav__mega-intro {
892  border-left: 4px solid #52c9ec;
893  padding-left: 16px;
894}
895.cove-nav__mega-eyebrow {
896  text-transform: uppercase;
897  letter-spacing: .12em;
898  font-size: 10px;
899  font-weight: 600;
900  color: #7c879a;
901  margin-bottom: 4px;
902}
903.cove-nav__mega-title {
904  font-size: 18px;
905  font-weight: 700;
906  color: #081632;
907  margin-bottom: 8px;
908  line-height: 1.3;
909}
910.cove-nav__mega-title span {
911  background: linear-gradient(135deg,#081632,#52c9ec);
912  -webkit-background-clip: text;
913  background-clip: text;
914  color: transparent;
915}
916.cove-nav__mega-text {
917  font-size: 13px;
918  line-height: 1.45;
919  color: #4b566a;
920  max-width: 300px;
921}
922.cove-nav__mega-section-title {
923  font-size: 14px;
924  font-weight: 700;
925  color: #081632;
926  margin-bottom: 8px;
927}
928/* Second (and later) group stacked inside the same mega column */
929.cove-nav__mega-group + .cove-nav__mega-group {
930  margin-top: 20px;
931}
932.cove-nav__mega-list { list-style:none; padding:0; margin:0; }
933.cove-nav__mega-link {
934  display:block;
935  font-size:16px;
936  line-height:24px;
937  color:#25324b;
938  padding:4px 0;
939  text-decoration:none!important;
940}
941.cove-nav__mega-link:hover {
942  color:#081632;
943  text-decoration:underline!important;
944}
945.cove-nav__mega-tagline {
946  font-size:12px;
947  color:#7c879a;
948  margin-top:4px;
949}
950/* Desktop: hover opens mega */
951@media (min-width:961px) {
952  .cove-nav__item.has-mega:hover > .cove-nav__mega {
953    display:block;
954  }
955}
956/* ========== MOBILE LAYOUT ========== */
957@media (max-width:960px) {
958  .cove-nav__inner {
959    max-width: none;
960    padding: 12px 0;
961    justify-content: flex-end; /* burger on the right */
962  }
963  .cove-nav__left {
964    justify-content: flex-end;
965    width: 100%;
966  }
967  .cove-nav__toggle {
968    display: inline-flex;
969  }
970  /* KEY FIX: make dropdown full-width and not constrained by parent */
971  .cove-nav__items {
972    display: none;
973    flex-direction: column;
974    align-items: flex-start;
975    gap: 0;
976    position: fixed;
977    left: 0;
978    right: 0;
979    top: var(--cove-nav-top, 72px);
980    z-index: 9999;
981    background: #ffffff;
982    border-bottom: 1px solid #e2e5ee;
983    padding: 10px 16px 16px;
984    max-height: calc(100vh - var(--cove-nav-top, 72px));
985    overflow: auto;
986    -webkit-overflow-scrolling: touch;
987  }
988  .cove-nav__items.is-open {
989    display: flex !important;
990  }
991  .cove-nav__link {
992    width: 100%;
993    justify-content: space-between;
994    padding: 14px 0;
995  }
996  .cove-nav__item {
997    width: 100%;
998  }
999  .cove-nav__item.has-mega .cove-nav__mega {
1000    position: static;
1001    transform: none;
1002    width: 100%;
1003    display: none;
1004    box-shadow: none;
1005    border-top: 1px solid #f0f2f8;
1006    padding: 12px 0 16px;
1007    margin-top: 0;
1008  }
1009  .cove-nav__item.has-mega.is-open .cove-nav__mega {
1010    display: block;
1011  }
1012  .cove-nav__mega-inner {
1013    grid-template-columns: 1fr;
1014    gap: 16px;
1015  }
1016  .cove-nav__mega--4col .cove-nav__mega-inner {
1017    grid-template-columns: 1fr;
1018  }
1019  .cove-nav__mega--platform .cove-nav__mega-inner {
1020    row-gap: 16px;
1021  }
1022  .cove-nav__mega--platform .cove-nav__mega-intro {
1023    grid-row: auto;
1024  }
1025  .cove-nav__mega-row2 {
1026    grid-column: auto;
1027  }
1028  .cove-nav__mega-group + .cove-nav__mega-group {
1029    margin-top: 16px;
1030  }
1031}
1032</style>
1033<nav class="cove-nav" data-cove-nav>
1034  <div class="cove-nav__inner">
1035    <div class="cove-nav__left">
1036      <!-- MOBILE HAMBURGER -->
1037      <button class="cove-nav__toggle" type="button" aria-expanded="false" aria-controls="cove-nav-items" aria-label="Menu">
1038        <span class="cove-nav__toggle-line"></span>
1039      </button>
1040      <ul id="cove-nav-items" class="cove-nav__items">
1041        <!-- PLATFORM -->
1042        <li class="cove-nav__item has-mega">
1043          <button class="cove-nav__link" type="button" aria-expanded="false">
1044            Platform <span class="cove-nav__link-arrow">▾</span>
1045          </button>
1046          <div class="cove-nav__mega cove-nav__mega--platform">
1047            <div class="cove-nav__mega-inner">
1048              <div class="cove-nav__mega-intro">
1049                <div class="cove-nav__mega-eyebrow">Platform</div>
1050                <div class="cove-nav__mega-title">
1051                  Run <span>building operations</span> and <span>tenant experience</span> in one place.
1052                </div>
1053                <p class="cove-nav__mega-text">
1054                  Unite your engineering, operations, and tenant teams with a single platform that keeps every work order,
1055                  inspection, and communication in sync.
1056                </p>
1057              </div>
1058              <div>
1059                <ul class="cove-nav__mega-list">
1060                  <li>
1061                    <a class="cove-nav__mega-link" href="https://cove.is/product/building-operations?hsLang=en">Building Operations</a>
1062                    <div class="cove-nav__mega-tagline">Work orders, preventive maintenance, inspections, reporting.</div>
1063                  </li>
1064                </ul>
1065              </div>
1066              <div>
1067                <ul class="cove-nav__mega-list">
1068                  <li>
1069                    <a class="cove-nav__mega-link" href="https://cove.is/product/tenant-experience?hsLang=en">Tenant Experience</a>
1070                    <div class="cove-nav__mega-tagline">Amenities, communications, events, engagement.</div>
1071                  </li>
1072                </ul>
1073              </div>
1074              <div class="cove-nav__mega-row2">
1075                <ul class="cove-nav__mega-list">
1076                  <li>
1077                    <a class="cove-nav__mega-link" href="https://cove.is/product/visitor-management-software?hsLang=en">Visitor Management</a>
1078                    <div class="cove-nav__mega-tagline">Registration, check-in, badges, security workflows.</div>
1079                  </li>
1080                </ul>
1081              </div>
1082            </div>
1083          </div>
1084        </li>
1085        <!-- SOLUTIONS -->
1086        <li class="cove-nav__item has-mega">
1087          <button class="cove-nav__link" type="button" aria-expanded="false">
1088            Solutions <span class="cove-nav__link-arrow">▾</span>
1089          </button>
1090          <div class="cove-nav__mega">
1091            <div class="cove-nav__mega-inner">
1092              <div class="cove-nav__mega-intro">
1093                <div class="cove-nav__mega-eyebrow">Solutions</div>
1094                <div class="cove-nav__mega-title">Give every team <span>one source of truth</span>.</div>
1095                <p class="cove-nav__mega-text">Equip owners, managers, and engineers with modern tools to run high-performing buildings.</p>
1096              </div>
1097              <div>
1098                <div class="cove-nav__mega-group">
1099                  <div class="cove-nav__mega-section-title">By Role</div>
1100                  <ul class="cove-nav__mega-list">
1101                    <li><a class="cove-nav__mega-link" href="https://cove.is/solution/property-managers?hsLang=en">Property Managers</a></li>
1102                    <li><a class="cove-nav__mega-link" href="https://cove.is/solution/landlords?hsLang=en">Owners &amp; Landlords</a></li>
1103                    <li><a class="cove-nav__mega-link" href="https://cove.is/solution/engineers?hsLang=en">Engineers</a></li>
1104                  </ul>
1105                </div>
1106                <div class="cove-nav__mega-group">
1107                  <div class="cove-nav__mega-section-title">By Company</div>
1108                  <ul class="cove-nav__mega-list">
1109                    <li><a class="cove-nav__mega-link" href="https://cove.is/commercial-real-estate-operator-software?hsLang=en">Owner Operators</a></li>
1110                    <li><a class="cove-nav__mega-link" href="https://cove.is/3rd-party-property-management-software?hsLang=en">Property Management Firms</a></li>
1111                  </ul>
1112                </div>
1113              </div>
1114              <div>
1115                <div class="cove-nav__mega-section-title">By Sector</div>
1116                <ul class="cove-nav__mega-list">
1117                  <li><a class="cove-nav__mega-link" href="https://cove.is/sector/office?hsLang=en">Office</a></li>
1118                  <li><a class="cove-nav__mega-link" href="https://cove.is/sector/life-sciences?hsLang=en">Life Science</a></li>
1119                  <li><a class="cove-nav__mega-link" href="https://cove.is/sector/retail?hsLang=en">Retail</a></li>
1120                  <li><a class="cove-nav__mega-link" href="https://cove.is/sector/industrial?hsLang=en">Industrial</a></li>
1121                  <li><a class="cove-nav__mega-link" href="https://cove.is/sector/medical?hsLang=en">Medical</a></li>
1122                </ul>
1123              </div>
1124            </div>
1125          </div>
1126        </li>
1127        <!-- RESOURCES -->
1128        <li class="cove-nav__item has-mega">
1129          <button class="cove-nav__link" type="button" aria-expanded="false">
1130            Resources <span class="cove-nav__link-arrow">▾</span>
1131          </button>
1132          <div class="cove-nav__mega cove-nav__mega--4col">
1133            <div class="cove-nav__mega-inner">
1134              <div class="cove-nav__mega-intro">
1135                <div class="cove-nav__mega-eyebrow">Resources</div>
1136                <div class="cove-nav__mega-title">Learn from <span>operators</span>
1136 across 1B+ SF.</div>
1137                <p class="cove-nav__mega-text">Guides, webinars, and portfolio insights from the industry’s best operators.</p>
1138              </div>
1139              <div>
1140                <div class="cove-nav__mega-section-title">Insights</div>
1141                <ul class="cove-nav__mega-list">
1142                  <li><a class="cove-nav__mega-link" href="https://cove.is/building-operator-resources?hsLang=en">Guides, Reports &amp; Webinars</a></li>
1143                  <li><a class="cove-nav__mega-link" href="https://cove.is/blog-press?hsLang=en">Blog</a></li>
1144                </ul>
1145              </div>
1146              <div>
1147                <div class="cove-nav__mega-section-title">Education</div>
1148                <ul class="cove-nav__mega-list">
1149                  <li><a class="cove-nav__mega-link" href="https://support.cove.is/hc/en-us">Cove Knowledge Base</a></li>
1150                  <li><a class="cove-nav__mega-link" href="https://support.cove.is/hc/en-us/articles/37652495432084-Training-Opportunities">Upcoming Trainings</a></li>
1151                </ul>
1152              </div>
1153              <div>
1154                <div class="cove-nav__mega-section-title">Proof in Market</div>
1155                <ul class="cove-nav__mega-list">
1156                  <li>
1157                    <a class="cove-nav__mega-link" href="https://cove.is/buildings-powered-by-cove?hsLang=en">Portfolio &amp; Case Studies</a>
1158                    <div class="cove-nav__mega-tagline">See buildings powered by Cove.</div>
1159                  </li>
1160                  <li>
1161                    <a class="cove-nav__mega-link" href="https://cove.is/software-integrations?hsLang=en">Integrations</a>
1162                    <div class="cove-nav__mega-tagline">Explore systems Cove connects with.</div>
1163                  </li>
1164                </ul>
1165              </div>
1166            </div>
1167          </div>
1168        </li>
1169        <!-- COMPANY -->
1170        <li class="cove-nav__item has-mega">
1171          <button class="cove-nav__link" type="button" aria-expanded="false">
1172            Company <span class="cove-nav__link-arrow">▾</span>
1173          </button>
1174          <div class="cove-nav__mega">
1175            <div class="cove-nav__mega-inner">
1176              <div class="cove-nav__mega-intro">
1177                <div class="cove-nav__mega-eyebrow">Company</div>
1178                <div class="cove-nav__mega-title">Built by <span>operators</span>.</div>
1179                <p class="cove-nav__mega-text">From our 2013 coworking roots to powering global portfolios.</p>
1180              </div>
1181              <div>
1182                <div class="cove-nav__mega-section-title">About</div>
1183                <ul class="cove-nav__mega-list">
1184                  <li><a class="cove-nav__mega-link" href="https://cove.is/team?hsLang=en">Our Team</a></li>
1185                  <li><a class="cove-nav__mega-link" href="https://cove.is/advisory-board?hsLang=en">Advisory Board</a></li>
1186                  <li><a class="cove-nav__mega-link" href="https://cove.is/in-the-news-cove?hsLang=en">Press</a></li>
1187                  <li><a class="cove-nav__mega-link" href="https://cove.is/careers?hsLang=en">Careers</a></li>
1188                </ul>
1189              </div>
1190              <div>
1191                <div class="cove-nav__mega-section-title">Trust</div>
1192                <ul class="cove-nav__mega-list">
1193                  <li><a class="cove-nav__mega-link" href="https://trust.cove.is/">Security &amp; Compliance</a></li>
1194                </ul>
1195              </div>
1196            </div>
1197          </div>
1198        </li>
1199        <!-- LOGIN -->
1200        <li class="cove-nav__item">
1201          <a class="cove-nav__link cove-nav__login" href="https://manage.cove.is/">Login</a>
1202        </li>
1203      </ul>
1204    </div>
1205  </div>
1206</nav>
1207<script>
1208(function () {
1209  function initCoveNav(root) {
1210    if (!root) return;
1211    if (root.dataset.coveNavInit === "true") return;
1212    root.dataset.coveNavInit = "true";
1213    const toggle = root.querySelector(".cove-nav__toggle");
1214    const items  = root.querySelector(".cove-nav__items");
1215    const megas  = root.querySelectorAll(".cove-nav__item.has-mega");
1216    if (!toggle || !items) return;
1217    function setTopOffset() {
1218      // Prefer the fixed header height if present
1219      const header = document.querySelector(".cm-header");
1220      const top = header ? Math.round(header.getBoundingClientRect().height) : 72;
1221      root.style.setProperty("--cove-nav-top", top + "px");
1222    }
1223    function closeAllSubmenus() {
1224      megas.forEach(item => {
1225        item.classList.remove("is-open");
1226        const btn = item.querySelector(".cove-nav__link");
1227        if (btn) btn.setAttribute("aria-expanded", "false");
1228      });
1229    }
1230    function closeMobileMenu() {
1231      items.classList.remove("is-open");
1232      toggle.setAttribute("aria-expanded", "false");
1233      closeAllSubmenus();
1234    }
1235    toggle.addEventListener("click", function (e) {
1236      e.preventDefault();
1237      e.stopPropagation();
1238      setTopOffset();
1239      const isOpen = items.classList.toggle("is-open");
1240      toggle.setAttribute("aria-expanded", isOpen ? "true" : "false");
1241      if (!isOpen) closeAllSubmenus();
1242    });
1243    megas.forEach(item => {
1244      const btn = item.querySelector(".cove-nav__link");
1245      if (!btn) return;
1246      btn.addEventListener("click", function (e) {
1247        if (window.innerWidth > 960) return;
1248        e.preventDefault();
1249        e.stopPropagation();
1250        setTopOffset();
1251        const willOpen = !item.classList.contains("is-open");
1252        closeAllSubmenus();
1253        item.classList.toggle("is-open", willOpen);
1254        btn.setAttribute("aria-expanded", willOpen ? "true" : "false");
1255      });
1256    });
1257    document.addEventListener("click", function (e) {
1258      if (window.innerWidth > 960) return;
1259      if (!root.contains(e.target)) closeMobileMenu();
1260    });
1261    root.querySelectorAll("a").forEach(a => {
1262      a.addEventListener("click", function () {
1263        if (window.innerWidth > 960) return;
1264        closeMobileMenu();
1265      });
1266    });
1267    window.addEventListener("resize", function () {
1268      if (window.innerWidth > 960) closeMobileMenu();
1269      setTopOffset();
1270    });
1271    // set initial offset once
1272    setTopOffset();
1273    window.addEventListener("load", setTopOffset);
1274  }
1275  function boot() {
1276    document.querySelectorAll("[data-cove-nav]").forEach(initCoveNav);
1277  }
1278  if (document.readyState === "loading") {
1279    document.addEventListener("DOMContentLoaded", boot);
1280  } else {
1281    boot();
1282  }
1283  window.addEventListener("load", boot);
1284})();
1285</script>
1285</div>
1286        </div>
1287
1288        <!-- DESKTOP CTA -->
1289        <div class="dashboard-btn dashboard-btn--desktop">
1290          <div id="hs_cos_wrapper_book_a_demo_button" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module">
1291  
1292
1293
1294
1295  
1296    
1297  
1298
1299
1300
1301<a class="hs-button" href="https://landing.cove.is/book-a-demo?hsLang=en" id="hs-button_book_a_demo_button" target="_blank" rel="noopener ">
1302  Book a Demo
1303</a>
1304
1305</div>
1306        </div>
1307
1308      </div>
1309    </div>
1310  </div>
1311</div>
1312
1313<div class="container-fluid header_dnd_sec header_bottom_sec">
1314<div class="row-fluid-wrapper">
1315<div class="row-fluid">
1316<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12">
1317
1318</div><!--end widget-span -->
1319</div>
1320</div>
1321</div>
1322
1323<script>
1324  (function () {
1325    var header = document.querySelector('.cm-header');
1326    if (!header) return;
1327
1328    function onScroll() {
1329      if (window.scrollY > 10) {
1330        header.classList.add('is-scrolled');
1331      } else {
1332        header.classList.remove('is-scrolled');
1333      }
1334    }
1335
1336    window.addEventListener('scroll', onScroll);
1337    onScroll();
1338  })();
1339</script>
1339</div>
1340      
1341      
1342
1343      
1344
1345<div class="banner_area home_page_v1_banner_area">
1346  <div class="container-fluid top-dnd-area">
1347<div class="row-fluid-wrapper">
1348<div class="row-fluid">
1349<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12">
1350
1351<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section banner_area-row-0-force-full-width-section">
1352<div class="row-fluid ">
1353<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12">
1354
1355<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row">
1356<div class="row-fluid ">
1357<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12">
1358<div id="hs_cos_wrapper_widget_1782783494155" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module">
1358<script type="application/ld+json">
1359{
1360  "@context": "https://schema.org",
1361  "@type": "SoftwareApplication",
1362  "name": "Cove Commercial Property Management Software",
1363  "applicationCategory": "BusinessApplication",
1364  "applicationSubCategory": "Commercial Property Management Software",
1365  "operatingSystem": "Web, iOS, Android",
1366  "url": "https://cove.is/",
1367  "description": "Cove is unified commercial property management software that unifies building operations, tenant experience, visitor management, and portfolio intelligence in one platform for commercial real estate owners and operators.",
1368  "featureList": [
1369    "Building operations and maintenance",
1370    "Tenant experience and amenities",
1371    "Visitor management",
1372    "CoveAI portfolio intelligence",
1373    "Integrations with access control, payments, and more",
1374    "Portfolio-level reporting"
1375  ],
1376  "keywords": "commercial property management software, property management software, commercial real estate management software, building operations software, tenant experience software",
1377  "offers": { "@type": "Offer", "priceCurrency": "USD", "price": "0", "description": "Custom pricing available. Book a demo." },
1378  "publisher": {
1379    "@type": "Organization",
1380    "name": "Cove",
1381    "url": "https://cove.is",
1382    "logo": "https://cove.is/hs-fs/hubfs/Cove_Logo_Updated%20(1).png"
1383  }
1384}
1385</script>
vendor: 1 bytes, line 1385
1385
1386<script type="application/ld+json">
1387{
1388  "@context": "https://schema.org",
1389  "@type": "FAQPage",
1390  "mainEntity": [
1391    {
1392      "@type": "Question",
1393      "name": "What is commercial property management software?",
1394      "acceptedAnswer": { "@type": "Answer", "text": "Commercial property management software runs a building or portfolio from one place, covering building operations and maintenance, tenant experience, visitor management, integrations, and portfolio reporting. Cove is unified commercial property management software built for commercial real estate owners and operators." }
1395    },
1396    {
1397      "@type": "Question",
1398      "name": "What can you run on Cove's commercial property management software?",
1399      "acceptedAnswer": { "@type": "Answer", "text": "Cove unifies building operations, tenant experience, visitor management, and CoveAI portfolio intelligence on one platform, and integrates with your existing access control, payments, occupancy, and parking systems." }
1400    }
1401  ]
1402}
1403</script>
1403
1404<main>
1405
1406<!-- ===== HERO ===== -->
1407<div class="cove-home-section">
1408<div class="cove-hero-wrap" style="padding: 104px 24px 110px 24px; position: relative;">
1409  <img src="https://cove.is/hubfs/Commercial%20Building%20Management%20Software%20-%203.png" alt="" aria-hidden="true" style="position: absolute; bottom: -150px; left: 50%; transform: translateX(-50%); width: 64%; max-width: 900px; height: auto; opacity: 0.3; z-index: 0; pointer-events: none; -webkit-mask-image: linear-gradient(to bottom, black 45%, transparent 92%); mask-image: linear-gradient(to bottom, black 45%, transparent 92%);">
1410  <div class="cove-callout" style="position: absolute; top: 24px; right: calc(50% + 250px); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 10px; width: 124px; text-align: center; word-break: normal; overflow-wrap: normal; background: rgba(255,255,255,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(82,201,236,0.14); border-radius: 14px; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 11px; font-weight: 600; line-height: 1.3; color: #003567; white-space: normal; box-shadow: 0 10px 24px rgba(0,53,103,0.06), 0 2px 6px rgba(0,53,103,0.04); opacity: 0; animation: floatCallout 18s ease-in-out infinite; animation-delay: 0s;">
1411    <span style="width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(82,201,236,0.22); color: #003567; flex-shrink: 0;">
1412      <svg width="20" height="20" shape-rendering="geometricPrecision" viewbox="0 0 24 24" fill="none" stroke="#003567" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z" /></svg>
1413    </span>
1414    <span>Work Order Management</span>
1415  </div>
1416  <div class="cove-callout" style="position: absolute; top: 32%; right: calc(50% + 440px); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 10px; width: 124px; text-align: center; word-break: normal; overflow-wrap: normal; background: rgba(255,255,255,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(82,201,236,0.14); border-radius: 14px; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 11px; font-weight: 600; line-height: 1.3; color: #003567; white-space: normal; box-shadow: 0 10px 24px rgba(0,53,103,0.06), 0 2px 6px rgba(0,53,103,0.04); opacity: 0; animation: floatCallout 18s ease-in-out infinite; animation-delay: 2.5s;">
1417    <span style="width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(82,201,236,0.22); color: #003567; flex-shrink: 0;">
1418      <svg width="20" height="20" shape-rendering="geometricPrecision" viewbox="0 0 24 24" fill="none" stroke="#003567" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="2" /><path d="M3 10h18M8 3v4M16 3v4" /><path d="M9 15l2 2 4-4" /></svg>
1419    </span>
1420    <span>Preventive Maintenance Scheduling</span>
1421  </div>
1422  <div class="cove-callout" style="position: absolute; top: 62%; right: calc(50% + 440px); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 10px; width: 124px; text-align: center; word-break: normal; overflow-wrap: normal; background: rgba(255,255,255,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(82,201,236,0.14); border-radius: 14px; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 11px; font-weight: 600; line-height: 1.3; color: #003567; white-space: normal; box-shadow: 0 10px 24px rgba(0,53,103,0.06), 0 2px 6px rgba(0,53,103,0.04); opacity: 0; animation: floatCallout 18s ease-in-out infinite; animation-delay: 5s;">
1423    <span style="width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(82,201,236,0.22); color: #003567; flex-shrink: 0;">
1424      <svg width="20" height="20" shape-rendering="geometricPrecision" viewbox="0 0 24 24" fill="none" stroke="#003567" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="6" y="4" width="12" height="18" rx="2" /><path d="M9 2h6v4H9z" />
1424<path d="M9 12h6M9 16h4" /></svg>
1425    </span>
1426    <span>Inspection Tracking</span>
1427  </div>
1428  <div class="cove-callout" style="position: absolute; bottom: 32px; right: calc(50% + 250px); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 10px; width: 124px; text-align: center; word-break: normal; overflow-wrap: normal; background: rgba(255,255,255,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(82,201,236,0.14); border-radius: 14px; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 11px; font-weight: 600; line-height: 1.3; color: #003567; white-space: normal; box-shadow: 0 10px 24px rgba(0,53,103,0.06), 0 2px 6px rgba(0,53,103,0.04); opacity: 0; animation: floatCallout 18s ease-in-out infinite; animation-delay: 7.5s;">
1429    <span style="width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(82,201,236,0.22); color: #003567; flex-shrink: 0;">
1430      <svg width="20" height="20" shape-rendering="geometricPrecision" viewbox="0 0 24 24" fill="none" stroke="#003567" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l8 4v6c0 5-3.5 9-8 10-4.5-1-8-5-8-10V6l8-4z" /><path d="M9 12l2 2 4-4" /></svg>
1431    </span>
1432    <span>COI Management</span>
1433  </div>
1434  <div class="cove-callout" style="position: absolute; top: 24px; left: calc(50% + 250px); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 10px; width: 124px; text-align: center; word-break: normal; overflow-wrap: normal; background: rgba(255,255,255,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(82,201,236,0.14); border-radius: 14px; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 11px; font-weight: 600; line-height: 1.3; color: #003567; white-space: normal; box-shadow: 0 10px 24px rgba(0,53,103,0.06), 0 2px 6px rgba(0,53,103,0.04); opacity: 0; animation: floatCallout 18s ease-in-out infinite; animation-delay: 1.25s;">
1435    <span style="width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(82,201,236,0.22); color: #003567; flex-shrink: 0;">
1436      <svg width="20" height="20" shape-rendering="geometricPrecision" viewbox="0 0 24 24" fill="none" stroke="#003567" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" /><path d="M8 10h8M8 13h5" /></svg>
1437    </span>
1438    <span>Communications &amp; Announcements</span>
1439  </div>
1440  <div class="cove-callout" style="position: absolute; top: 34%; left: calc(50% + 440px); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 10px; width: 124px; text-align: center; word-break: normal; overflow-wrap: normal; background: rgba(255,255,255,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(82,201,236,0.14); border-radius: 14px; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 11px; font-weight: 600; line-height: 1.3; color: #003567; white-space: normal; box-shadow: 0 10px 24px rgba(0,53,103,0.06), 0 2px 6px rgba(0,53,103,0.04); opacity: 0; animation: floatCallout 18s ease-in-out infinite; animation-delay: 3.75s;">
1441    <span style="width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(82,201,236,0.22); color: #003567; flex-shrink: 0;">
1442      <svg width="20" height="20" shape-rendering="geometricPrecision" viewbox="0 0 24 24" fill="none" stroke="#003567" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9" /><path d="M13.7 21a2 2 0 0 1-3.4 0" /></svg>
1443    </span>
1444    <span>Push Notification Alerts</span>
1445  </div>
1446  <div class="cove-callout" style="position: absolute; top: 64%; left: calc(50% + 440px); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 10px; width: 124px; text-align: center; word-break: normal; overflow-wrap: normal; background: rgba(255,255,255,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(82,201,236,0.14); border-radius: 14px; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 11px; font-weight: 600; line-height: 1.3; color: #003567; white-space: normal; box-shadow: 0 10px 24px rgba(0,53,103,0.06), 0 2px 6px rgba(0,53,103,0.04); opacity: 0; animation: floatCallout 18s ease-in-out infinite; animation-delay: 6.25s;">
1447    <span style="width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(82,201,236,0.22); color: #003567; flex-shrink: 0;">
1448      <svg width="20" height="20" shape-rendering="geometricPrecision" viewbox="0 0 24 24" fill="none" stroke="#003567" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="11" width="16" height="10" rx="2" /><path d="M8 11V7a4 4 0 0 1 8 0v4" /><circle cx="12" cy="16" r="1.2" /></svg>
1449    </span>
1450    <span>Access Control Systems</span>
1451  </div>
1452  <div class="cove-callout" style="position: absolute; bottom: 32px; left: calc(50% + 250px); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 10px; width: 124px; text-align: center; word-break: normal; overflow-wrap: normal; background: rgba(255,255,255,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(82,201,236,0.14); border-radius: 14px; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 11px; font-weight: 600; line-height: 1.3; color: #003567; white-space: normal; box-shadow: 0 10px 24px rgba(0,53,103,0.06), 0 2px 6px rgba(0,53,103,0.04); opacity: 0; animation: floatCallout 18s ease-in-out infinite; animation-delay: 8.75s;">
1453    <span style="width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(82,201,236,0.22); color: #003567; flex-shrink: 0;">
1454      <svg width="20" height="20" shape-rendering="geometricPrecision" viewbox="0 0 24 24" fill="none" stroke="#003567" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="6" y="2" width="12" height="20" rx="2.5" /><path d="M11 18h2" /><rect x="9" y="5" width="6" height="9" rx="0.5" stroke-width="1.4" /></svg>
1455    </span>
1456    <span>White Labeled Apps</span>
1457  </div>
1458  <div style="max-width: 980px; margin: 0 auto; text-align: center; position: relative; z-index: 5;">
1459    <h1 class="cove-hero-pill" style="display: inline-flex; align-items: center; gap: 10px; margin: 0 0 22px; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #003567; padding: 8px 14px; border-radius: 999px; background: rgba(82, 201, 236, 0.14); border: 1px solid rgba(82, 201, 236, 0.35); line-height: 1;"><span style="width: 6px; height: 6px; border-radius: 50%; background: #52C9EC; box-shadow: 0 0 0 4px rgba(82, 201, 236, 0.22); display: inline-block; animation: pulseDot 2.6s ease-in-out infinite;"></span>Unified Commercial Property Management Software</h1>
1460    <p style="line-height: 1.15;"><span style="display: block;"><span class="cove-hero-headline" style="color: #0b2a4a; font-family: Sora, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 72px; font-weight: bold; letter-spacing: -0.02em; text-wrap-mode: initial; background-color: transparent;">
1460&nbsp;Built for Buildings.<br><span style="background: linear-gradient(135deg, #52C9EC 0%, #003567 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;">Designed for What's Next.</span></span></span></p>
1461    <p class="cove-hero-subcopy" style="margin: 0 auto; max-width: 860px; font-family: Sora, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; font-weight: 400; color: #667085; line-height: 1.4; font-size: 18px;">Cove replaces fragmented point solutions with one OS that unifies your portfolio, compounds intelligence over time, and partners in your performance from day one.</p>
1462    <div class="cove-feature-strip" style="width: 100%; padding: 16px 40px; box-sizing: border-box; margin-top: 28px;">
1463      <div class="cove-feature-row" style="display: flex; flex-direction: row; align-items: center; justify-content: center; max-width: 900px; margin: 0 auto;">
1464        <div class="cove-feature-item" style="display: flex; flex-direction: row; align-items: center; gap: 10px; flex: 1; justify-content: center; padding: 0 24px; border-right: 1px solid #a8c8df;"><svg width="22" height="22" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 22px; height: 22px; min-width: 22px; flex-shrink: 0; display: block;"> <rect x="1" y="8" width="8" height="14" rx="1" fill="#c5dff0" stroke="#185FA5" stroke-width="1.3"></rect> <rect x="8" y="4" width="10" height="18" rx="1" fill="#85B7EB" stroke="#185FA5" stroke-width="1.3"></rect> <rect x="17" y="10" width="6" height="12" rx="1" fill="#c5dff0" stroke="#185FA5" stroke-width="1.3"></rect> <line x1="10" y1="8" x2="12" y2="8" stroke="#185FA5" stroke-width="1" stroke-linecap="round"></line> <line x1="14" y1="8" x2="16" y2="8" stroke="#185FA5" stroke-width="1" stroke-linecap="round"></line> <line x1="10" y1="11" x2="12" y2="11" stroke="#185FA5" stroke-width="1" stroke-linecap="round"></line> <line x1="14" y1="11" x2="16" y2="11" stroke="#185FA5" stroke-width="1" stroke-linecap="round"></line> <line x1="10" y1="14" x2="12" y2="14" stroke="#185FA5" stroke-width="1" stroke-linecap="round"></line> <line x1="14" y1="14" x2="16" y2="14" stroke="#185FA5" stroke-width="1" stroke-linecap="round"></line> <rect x="10.5" y="17" width="3" height="5" rx="0.5" fill="#185FA5"></rect> </svg> <span style="font-size: 14px; font-weight: 500; color: #0a2540; white-space: nowrap; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;">Every asset, running as one</span></div>
1465        <div class="cove-feature-item" style="display: flex; flex-direction: row; align-items: center; gap: 10px; flex: 1; justify-content: center; padding: 0 24px; border-right: 1px solid #a8c8df;"><svg width="22" height="22" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 22px; height: 22px; min-width: 22px; flex-shrink: 0; display: block;"> <circle cx="12" cy="12" r="3" fill="#0C447C"></circle> <circle cx="12" cy="12" r="6" stroke="#378ADD" stroke-width="1.2" fill="none" stroke-dasharray="2 1.5"></circle> <circle cx="12" cy="12" r="10" stroke="#85B7EB" stroke-width="1" fill="none" stroke-dasharray="2 1.5"></circle> <circle cx="12" cy="2" r="1.4" fill="#185FA5"></circle> <circle cx="20.7" cy="17" r="1.4" fill="#185FA5"></circle> <circle cx="3.3" cy="17" r="1.4" fill="#185FA5"></circle> </svg> <span style="font-size: 14px; font-weight: 500; color: #0a2540; white-space: nowrap; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;">AI workflows turn&nbsp;busywork into impact<br></span></div>
1466        <div class="cove-feature-item" style="display: flex; flex-direction: row; align-items: center; gap: 10px; flex: 1; justify-content: center; padding: 0 24px;"><svg width="22" height="22" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 22px; height: 22px; min-width: 22px; flex-shrink: 0; display: block;"> <circle cx="12" cy="8.5" r="4" fill="#85B7EB" stroke="#185FA5" stroke-width="1.4"></circle> <path d="M4 21 C4 16.6 7.6 13 12 13 C16.4 13 20 16.6 20 21" stroke="#185FA5" stroke-width="1.4" stroke-linecap="round" fill="none"></path> <path d="M17 16 L19 18 L23 14" stroke="#0C447C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"></path> </svg> <span style="font-size: 14px; font-weight: 500; color: #0a2540; white-space: nowrap; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;">Your AI roadmap, built in partnership</span></div>
1467      </div>
1468    </div>
1469    <div class="cove-cta-wrap" style="margin-top: 64px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: center;">
1470      <a class="cove-cta-btn" href="https://landing.cove.is/book-a-demo?hsLang=en" style="display: inline-block; padding: 14px 36px; background: #52C9EC; color: #ffffff; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 16px; font-weight: 600; text-decoration: none; border-radius: 999px; box-shadow: 0 6px 18px rgba(82,201,236,0.35); transition: transform 0.15s ease, box-shadow 0.15s ease;" onmouseover="this.style.transform='translateY(-1px)'; this.style.boxShadow='0 10px 24px rgba(82,201,236,0.45)';" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 18px rgba(82,201,236,0.35)';">Book a Demo</a>
1471      <a class="cove-cta-btn" href="https://landing.cove.is/get-pricing-cove?hsLang=en" style="display: inline-block; padding: 14px 36px; background: #52C9EC; color: #ffffff; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; font-size: 16px; font-weight: 600; text-decoration: none; border-radius: 999px; box-shadow: 0 6px 18px rgba(82,201,236,0.35); transition: transform 0.15s ease, box-shadow 0.15s ease;" onmouseover="this.style.transform='translateY(-1px)'; this.style.boxShadow='0 10px 24px rgba(82,201,236,0.45)';" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 18px rgba(82,201,236,0.35)';">Get Custom Pricing</a>
1472    </div>
1473  </div>
1474</div>
1475</div>
1476
1477<!-- ===== CUSTOMER STORIES ===== -->
1478<div class="cove-home-section">
1479<section class="cove-module">
1480    <div class="cove-module__inner">
1481      <h2 class="cove-module__title">A Trusted Partner to the Industry's Leading <span class="cove-module__title-accent">Owners &amp; Operators.</span></h2>
1482
1483      <div class="cove-row">
1484
1485        <!-- Left logos -->
1486        <div class="cove-logos cove-row__logos--left">
1487          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/Nuveen.png" alt="Nuveen" loading="lazy"></div>
1488          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/Beacon.png" alt="Beacon Capital Partners" loading="lazy"></div>
1489          <div class="cove-logos__cell">
1489<img src="https://cove.is/hubfs/Client%20Logos/Perform%20Properties.png" alt="Perform Properties" loading="lazy"></div>
1490          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/Cushman%20and%20Wakefield.png" alt="Cushman &amp; Wakefield" loading="lazy"></div>
1491          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/Rudin.png" alt="Rudin" loading="lazy"></div>
1492          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/Blackstone.png" alt="Blackstone" loading="lazy"></div>
1493        </div>
1494
1495        <!-- Right logos -->
1496        <div class="cove-logos cove-row__logos--right">
1497          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/Longfellow.png" alt="Longfellow" loading="lazy"></div>
1498          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/Silverstein.png" alt="Silverstein Properties" loading="lazy"></div>
1499          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/AREP.png" alt="American Real Estate Partners" loading="lazy"></div>
1500          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/BioMed.png" alt="BioMed Realty" loading="lazy"></div>
1501          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/RXR.png" alt="RXR" loading="lazy"></div>
1502          <div class="cove-logos__cell"><img src="https://cove.is/hubfs/Client%20Logos/Kairos.png" alt="Kairos Real Estate Partners" loading="lazy"></div>
1503        </div>
1504
1505      </div>
1506
1507    </div>
1508  </section>
1509</div>
1510
1511<!-- ===== COVE APPROACH ===== -->
1512<div class="cove-home-section">
1513<section class="cove-module">
1514  <div class="cove-container">
1515
1516    <!-- Header -->
1517    <header class="cove-header">
1518      <span class="cove-eyebrow">The Cove Approach</span>
1519      <h2 class="cove-title">
1520        From Fragmented to <span class="cove-title-accent">Future-Ready</span>
1521      </h2>
1522      <p class="cove-subtitle">
1523        Cove replaces fragmented point solutions with a single Portfolio OS, so your team moves faster, spends less, and scales without friction.
1524      </p>
1525    </header>
1526
1527    <!-- Main grid -->
1528    <div class="cove-grid">
1529
1530      <!-- Left: Content -->
1531      <div class="cove-content">
1532        <ul class="cove-features">
1533          <li class="cove-feature is-active" data-slide="0">
1534            <div class="cove-feature-icon" aria-hidden="true">
1535              <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1536                <path d="M3 21h18M5 21V7l8-4v18M19 21V11l-6-4" />
1537                <path d="M9 9v.01M9 12v.01M9 15v.01M9 18v.01" />
1538              </svg>
1539            </div>
1540            <div class="cove-feature-text">
1541              <strong>Building Operations</strong> that unify work orders, preventive maintenance, and engineering workflows into one source of truth, so every asset runs to the same standard.
1542              <a class="cove-feature-link" href="https://cove.is/product/building-operations?hsLang=en">Learn more <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6" /></svg></a>
1543            </div>
1544          </li>
1545
1546          <li class="cove-feature" data-slide="1">
1547            <div class="cove-feature-icon" aria-hidden="true">
1548              <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1549                <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" />
1550                <circle cx="9" cy="7" r="4" />
1551                <path d="M23 21v-2a4 4 0 0 0-3-3.87" />
1552                <path d="M16 3.13a4 4 0 0 1 0 7.75" />
1553              </svg>
1554            </div>
1555            <div class="cove-feature-text">
1556              <strong>Tenant Experience</strong> that gives occupants one front door to your portfolio, turning amenities, requests, and communications into a connected experience that builds retention.
1557              <a class="cove-feature-link" href="https://cove.is/product/tenant-experience?hsLang=en">Learn more <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6" /></svg></a>
1558            </div>
1559          </li>
1560
1561          <li class="cove-feature" data-slide="2">
1562            <div class="cove-feature-icon" aria-hidden="true">
1563              <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1564                <path d="M3 21h18" />
1565                <path d="M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16" />
1566                <circle cx="14.5" cy="12" r="1" fill="currentColor" stroke="none" />
1567              </svg>
1568            </div>
1569            <div class="cove-feature-text">
1570              <strong>Visitor Management</strong> that runs the front desk with pre-registration, host notifications, and a check-in flow your security, ops, and tenant teams all share.
1571              <a class="cove-feature-link" href="https://cove.is/product/visitor-management-software?hsLang=en">Learn more <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6" /></svg></a>
1572            </div>
1573          </li>
1574
1575          <li class="cove-feature" data-slide="3">
1576            <div class="cove-feature-icon" aria-hidden="true">
1577              <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1578                <path d="M12 2L9 7l-5 1 4 4-1 5 5-3 5 3-1-5 4-4-5-1z" />
1579                <circle cx="12" cy="11" r="2" />
1580              </svg>
1581            </div>
1582            <div class="cove-feature-text">
1583              <strong>CoveAI</strong> working alongside your team across every building, compounding portfolio intelligence over time so the longer you run on Cove, the smarter your operation gets.
1584              <a class="cove-feature-link" href="https://cove.is/ai-property-management-software?hsLang=en">Learn more <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6" /></svg></a>
1585            </div>
1586          </li>
1587        </ul>
1588      </div>
1589
1590      <!-- Right: Carousel -->
1591      <div class="cove-showcase">
1592        <div class="cove-os-tabs" style="position:relative;width:calc(100% + 220px);height:100%;min-height:520px;border-radius:20px;overflow:hidden;border:1px solid rgba(0,53,103,0.1);box-shadow:0 24px 60px -30px rgba(0,53,103,0.25);background:#fff;">
1593          <iframe class="cove-os-frame" data-panel="0" title="Building Operations" loading="lazy" srcdoc="<!DOCTYPE html>
1594<html lang=&quot;en&quot;>
1595<head>
1596<meta charset=&quot;UTF-8&quot; />
1597<meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot; />
1598<title>Cove Platform, Self-Assembling Showcase</title>
1599<link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot; />
1600<link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin />
1601<link href=&quot;https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&amp;display=swap&quot; rel=&quot;stylesheet&quot; />
1602<style>
1603  html,body{margin:0; height:100%; background:transparent !important;}
1604  .cove-os{
1605    --navy-950:#06122E; --navy-900:#0A1B3D; --navy-850:#0C1C3E; --navy-800:#10264F; --navy-700:#163261;
1606    --blue-600:#2F6BFF; --blue-500:#3D78FF; --blue-400:#6398FF; --sky-300:#A8C7FF;
1607    --amber:#E0901C; --amber-bg:#FCEFD6; --amber-tx:#A9690F;
1608    --red:#EF4444; --red-bg:#FCE4E4; --red-tx:#C1342D;
1609    --slate:#64748B; --slate-bg:#EDF1F7; --slate-tx:#475569;
1610    --blue-bg:#E7F0FF; --blue-tx:#1D4ED8; --hue:#52c9ec;
1611    --ink:#0E1F44; --ink-2:#3A4A6B; --muted:#8295B6; --line:#E6EBF4; --panel:#F3F5FA;
1612    --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
1613    position:relative; isolation:isolate; overflow:hidden; font-family:var(--font);
1614    color:var(--ink); padding:0; height:100%;
1615    background:transparent;
1616    box-sizing:border-box;
1617  }
1618  .cove-os *,.cove-os *::before,.cove-os *::after{box-sizing:border-box;}
1619  .os-wrap{max-width:1160px; margin:0 auto; height:100%; display:flex; flex-direction:column;}
1620  .os-head{text-align:center; margin:0 auto clamp(22px,3vw,40px); max-width:680px;}
1621  .os-eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--sky-300); padding:7px 14px; border:1px solid rgba(168,199,255,.18); border-radius:999px; background:rgba(99,152,255,.08); margin-bottom:18px;}
1622  .os-eyebrow::before{content:&quot;&quot;; width:7px; height:7px; border-radius:50%; background:var(--blue-400); box-shadow:0 0 12px var(--blue-400);}
1623  .os-title{font-size:clamp(26px,4vw,42px); font-weight:800; line-height:1.08; letter-spacing:-.02em; margin:0 0 12px;}
1624  .os-title em{font-style:normal;
1624 color:var(--sky-300);}
1625  .os-sub{font-size:clamp(14px,1.5vw,17px); color:#9DB2DC; line-height:1.6; margin:0;}
1626  /* App window */
1627  .os-window{
1628    display:flex; flex:1; height:100%; border-radius:0; overflow:hidden;
1629    background:#fff; border:0;
1630    animation:os-pop .8s cubic-bezier(.2,.9,.3,1.2) both;
1631  }
1632  @keyframes os-pop{from{opacity:0; transform:translateY(24px) scale(.97);} to{opacity:1; transform:none;}}
1633  /* Sidebar */
1634  .os-side{width:228px; flex:none; background:#0e1826; color:#c2cfe4; display:flex; flex-direction:column; padding:18px 14px; position:relative; overflow:hidden;
1635    animation:os-side-in .7s ease both .1s;}
1636  @keyframes os-side-in{from{transform:translateX(-30px); opacity:0;} to{transform:none; opacity:1;}}
1637  .os-brand{display:flex; align-items:center; justify-content:space-between; padding:4px 10px 14px;} .cove-logo{height:29px; width:auto; display:block;} .os-brand .cv{display:flex; align-items:center; gap:8px;} .os-brand .chev{width:16px; height:16px; color:#63799e;}
1638  .os-mark{width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--blue-500),#1b46c2); flex:none; box-shadow:0 4px 12px rgba(47,107,255,.5); position:relative;}
1639  .os-mark::after{content:&quot;&quot;; position:absolute; inset:8px; border-radius:5px; border:2px solid rgba(255,255,255,.85);}
1640  .os-brand b{font-size:15px; color:#fff; font-weight:700; line-height:1;}
1641  .os-brand span{display:block; font-size:8.5px; letter-spacing:.22em; color:#7e92bd; margin-top:3px;}
1642  .os-nav{position:relative; display:flex; flex-direction:column; gap:5px; flex:1; overflow:hidden;}
1643  .os-cap{font-size:9.5px; letter-spacing:.16em; color:#5d6f99; font-weight:700; padding:14px 10px 6px;}
1644  .os-item{display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:9px; font-size:12.5px; font-weight:500; color:#aebcdd; cursor:default; position:relative; z-index:1; transition:color .35s;}
1645  .os-item svg{width:15px; height:15px; flex:none; opacity:.85;}
1646  .os-item.active{color:#fff;}
1647  .os-ind{position:absolute; left:0; right:0; height:34px; border-radius:9px; background:rgba(255,255,255,.07); border:none; box-shadow:inset 3px 0 0 #52C9EC; z-index:0; transition:transform .5s cubic-bezier(.5,1.4,.4,1), height .3s ease; transform:translateY(0);}
1648  .os-ind::before{display:none;}
1649  .os-user{display:flex; align-items:center; gap:10px; padding:10px; margin-top:8px; border-radius:11px; background:rgba(255,255,255,.05);}
1650  .os-user .ava{width:30px; height:30px; font-size:11px;}
1651  .os-user b{font-size:12px; color:#fff; display:block;} .os-user span{font-size:10px; color:#8295b6;}
1652  /* Main */
1653  .os-main{flex:1; background:var(--panel); display:flex; flex-direction:column; min-width:0;}
1654  .os-top{height:54px; flex:none; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:14px; padding:0 22px;}
1655  .os-crumb{font-size:13px; color:var(--muted); font-weight:500; white-space:nowrap;}
1656  .os-crumb b{color:var(--ink); font-weight:700;}
1657  .os-crumb i{font-style:normal; margin:0 7px; color:#c2cde0;}
1658  .os-search{flex:1; max-width:380px; height:32px; border-radius:8px; background:var(--panel); border:1px solid var(--line); display:flex; align-items:center; gap:8px; padding:0 12px; font-size:12px; color:var(--muted);}
1659  .os-search svg{width:13px; height:13px;}
1660  .os-icons{margin-left:auto; display:flex; align-items:center; gap:14px; color:var(--muted);}
1661  .os-icons svg{width:17px; height:17px;}
1662  .os-icons .ava{width:28px; height:28px; font-size:10.5px;}
1663  .os-body{flex:1; padding:22px 26px; overflow:hidden; position:relative;}
1664  .os-screen{height:100%; transition:opacity .35s ease, filter .35s ease, transform .35s ease;}
1665  .os-screen.leaving{opacity:0; filter:blur(6px); transform:scale(.985);}
1666  /* shared screen bits */
1667  .sc-title{font-size:21px; font-weight:800; color:var(--ink); letter-spacing:-.01em; margin:0;}
1668  .sc-sub{font-size:12.5px; color:var(--muted); margin:3px 0 0;}
1669  .sc-tabs{display:flex; gap:6px; margin:16px 0 14px; flex-wrap:wrap;}
1670  .sc-tab{display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--ink-2); padding:7px 12px; border-radius:9px; background:#fff; border:1px solid var(--line);}
1671  .sc-tab.on{background:var(--navy-850); color:#fff; border-color:var(--navy-850);}
1672  .sc-tab b{font-size:11px; padding:1px 7px; border-radius:999px; background:var(--panel); color:var(--ink-2);}
1673  .sc-tab.on b{background:rgba(255,255,255,.18); color:#fff;}
1674  .sc-tab.alert b{background:var(--red-bg); color:var(--red-tx);}
1675  .sc-card{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden;}
1676  table.sc-tbl{width:100%; border-collapse:collapse; font-size:12px;}
1677  .sc-tbl thead{background:#fff !important;} .sc-tbl th{text-align:left; font-size:9.5px; letter-spacing:.07em; color:var(--muted); font-weight:700; text-transform:uppercase; padding:11px 14px; border-bottom:1px solid var(--line); background:#fff;; background:#fff !important; color:var(--muted) !important;}
1678  .sc-tbl td{padding:11px 14px; border-bottom:1px solid #F1F4FA;
1678 color:var(--ink-2); white-space:nowrap; vertical-align:middle;}
1679  .sc-tbl tr:last-child td{border-bottom:none;}
1680  .sc-tbl .id{color:#2F6BFF; font-weight:700;}
1681  .sc-tbl .strong{color:var(--ink); font-weight:600;}
1682  .site{display:inline-flex; align-items:center; gap:7px; color:var(--ink); font-weight:600;}
1683  .site svg{width:13px; height:13px; color:var(--blue-500);}
1684  .pill{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; padding:3px 9px; border-radius:999px;}
1685  .pill::before{content:&quot;&quot;; width:6px; height:6px; border-radius:50%; background:currentColor;}
1686  .pill.solid::before{display:none;}
1687  .st-blue{color:var(--blue-tx); background:var(--blue-bg);}
1688  .st-amber{color:var(--amber-tx); background:var(--amber-bg);}
1689  .st-red{color:var(--red-tx); background:var(--red-bg);}
1690  .st-slate{color:var(--slate-tx); background:var(--slate-bg);} .st-teal{color:#0e7d97; background:#d7f1f8;}
1691  .ava{display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#fff; font-size:9.5px; font-weight:700; flex:none;}
1692  .who{display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:600;}
1693  .who.un{color:var(--muted); font-weight:500;}
1694  .cat{display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:600;}
1695  .cat .ic{width:22px; height:22px; border-radius:7px; display:grid; place-items:center; flex:none;}
1696  .cat .ic svg{width:13px; height:13px; color:#fff;}
1697  .dot{display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:600;}
1698  .dot::before{content:&quot;&quot;; width:9px; height:9px; border-radius:3px; background:var(--c,#2F6BFF);}
1699  /* COI stat cards */
1700  .sc-stats{display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:14px;}
1701  .stat{background:#fff; border:1px solid var(--line); border-radius:12px; padding:13px 13px 14px;}
1702  .stat .lab{display:flex; align-items:center; gap:6px; font-size:10px; font-weight:600; color:var(--ink-2); margin-bottom:9px; line-height:1.2;}
1703  .stat .lab::before{content:&quot;&quot;; width:7px; height:7px; border-radius:50%; background:var(--c,#2F6BFF); flex:none;}
1704  .stat .big{font-size:26px; font-weight:800; color:var(--ink); line-height:1;}
1705  .stat .pct{font-size:10px; font-weight:700; color:var(--c,#2F6BFF); margin-top:8px;}
1706  .stat .track{height:4px; border-radius:999px; background:var(--panel); margin-top:6px; overflow:hidden;}
1707  .stat .track i{display:block; height:100%; width:0; background:var(--c,#2F6BFF); border-radius:999px; transition:width 1s cubic-bezier(.22,1,.36,1);}
1708  /* Chart */
1709  .ch-controls{display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap;}
1710  .ch-ctl{background:#fff; border:1px solid var(--line); border-radius:9px; padding:8px 12px; font-size:11px; min-width:120px;}
1711  .ch-ctl span{display:block; font-size:8.5px; letter-spacing:.08em; color:var(--muted); font-weight:700; text-transform:uppercase; margin-bottom:3px;}
1712  .ch-ctl b{color:var(--ink); font-weight:700; font-size:12px;}
1713  .ch-kpis{display:flex; gap:34px; margin-bottom:12px;}
1714  .ch-kpi span{display:block; font-size:9.5px; letter-spacing:.06em; color:var(--muted); font-weight:700; text-transform:uppercase;}
1715  .ch-kpi b{font-size:30px; font-weight:800; color:var(--ink); line-height:1.1;}
1716  .ch-bars{display:flex; flex-direction:column; gap:7px;}
1717  .ch-row{display:grid; grid-template-columns:96px 1fr; align-items:center; gap:12px;}
1718  .ch-name{font-size:11px; color:var(--ink-2); text-align:right; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
1719  .ch-track{position:relative; height:18px;}
1720  .ch-fill{height:100%; width:0; border-radius:5px; background:linear-gradient(90deg,#4f86ff,#2F6BFF); transition:width .9s cubic-bezier(.22,1,.36,1); display:flex; align-items:center; justify-content:flex-end; padding-right:7px; box-shadow:0 2px 6px rgba(47,107,255,.3);}
1721  .ch-fill b{font-size:10px; font-weight:700; color:#fff; opacity:0; transition:opacity .4s ease .5s;}
1722  .ch-fill.show b{opacity:1;}
1723  /* entrance keyframes */
1724  @keyframes rise{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}
1725  @keyframes pop{from{opacity:0; transform:scale(.94);} to{opacity:1; transform:none;}}
1726  .anim{opacity:0; animation:rise .55s cubic-bezier(.22,1,.36,1) both; animation-delay:var(--d,0ms);}
1727  .anim-pop{opacity:0; animation:pop .5s cubic-bezier(.2,.9,.3,1.3) both; animation-delay:var(--d,0ms);}
1728  /* controls */
1729  .os-controls{display:none; align-items:center; justify-content:center; gap:16px; margin-top:18px;}
1730  .os-arrow{width:40px; height:40px; border-radius:50%; border:1px solid var(--hue); background:rgba(82,201,236,.14); color:#1593b8; cursor:pointer; display:grid; place-items:center; transition:.25s; flex:none;}
1731  .os-arrow:hover{background:var(--hue); border-color:var(--hue); color:#fff; transform:translateY(-2px);}
1732  .os-arrow svg{width:17px; height:17px;}
1733  .os-dots{display:flex; gap:10px;}
1734  .os-dot{--p:0; position:relative; width:32px; height:6px; border-radius:999px; border:none; padding:0; cursor:pointer; background:rgba(82,201,236,.28); overflow:hidden; transition:width .3s;}
1735  .os-dot i{position:absolute; inset:0; width:var(--p); background:linear-gradient(90deg,var(--blue-500),var(--hue)); border-radius:999px;}
1736  .os-dot.is-active{width:46px;}
1737  .os-foot{text-align:center; margin-top:clamp(28px,4vw,46px);}
1738  .os-tag{font-size:clamp(14px,1.7vw,18px); font-weight:600; color:#EAF1FF; margin:0;}
1739  .os-tag b{color:var(--sky-300); font-weight:700;}
1740  @media (max-width:760px){
1741    .os-side{display:none;}
1742    .sc-stats{grid-template-columns:repeat(3,1fr);}
1743    .ch-kpis{gap:20px;}
1744  }
1745  @media (prefers-reduced-motion:reduce){
1746    .cove-os .os-window,.cove-os .os-side{animation:none;}
1747    .cove-os .anim,.cove-os .anim-pop{animation-duration:.01ms !important; opacity:1;}
1748  }
1749</style>
1750</head>
1751<body style=&quot;margin:0;background:transparent;&quot;>
1752<section class=&quot;cove-os&quot; aria-label=&quot;Cove platform showcase&quot;>
1753 <div class=&quot;os-wrap&quot;>
1754  <div class=&quot;os-window&quot;>
1755    <!-- Sidebar -->
1756    <aside class=&quot;os-side&quot;>
1757      <div class=&quot;os-brand&quot;><span class=&quot;cv&quot;><img class=&quot;cove-logo&quot; src=&quot;https://21927082.fs1.hubspotusercontent-na1.net/hubfs/21927082/Cove_Logo_White_Teal_Dot.png?width=140&amp;name=Cove_Logo_White_Teal_Dot.png&quot; alt=&quot;Cove&quot; /></span><svg class=&quot;chev&quot;
1757 viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><path d=&quot;M6 9l6 6 6-6&quot;/></svg></div>
1758      <nav class=&quot;os-nav&quot; id=&quot;osNav&quot;>
1759        <div class=&quot;os-ind&quot; id=&quot;osInd&quot;></div>
1760        <a class=&quot;os-item&quot; data-nav=&quot;home&quot;>${''}</a>
1761      </nav>
1762    </aside>
1763    <!-- Main -->
1764    <div class=&quot;os-main&quot;>
1765      <div class=&quot;os-top&quot;>
1766        <div class=&quot;os-crumb&quot; id=&quot;osCrumb&quot;></div>
1767        <div class=&quot;os-search&quot;><svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;7&quot;/><path d=&quot;m21 21-4-4&quot;/></svg>Search...</div>
1768        <div class=&quot;os-icons&quot;>
1769          <svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><path d=&quot;M18 8a6 6 0 1 0-12 0c0 7-3 9-3 9h18s-3-2-3-9&quot;/><path d=&quot;M13.7 21a2 2 0 0 1-3.4 0&quot;/></svg>
1770          <svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;9&quot;/><path d=&quot;M9.5 9a2.5 2.5 0 1 1 3.5 2.3c-.7.4-1 .8-1 1.7&quot;/><path d=&quot;M12 17h.01&quot;/></svg>
1771          <span class=&quot;ava&quot; style=&quot;background:#1D4ED8&quot;>OD</span>
1772        </div>
1773      </div>
1774      <div class=&quot;os-body&quot;>
1775        <div class=&quot;os-screen&quot; id=&quot;osScreen&quot;></div>
1776      </div>
1777    </div>
1778  </div>
1779  <div class=&quot;os-controls&quot;>
1780    <button class=&quot;os-arrow&quot; id=&quot;osPrev&quot; aria-label=&quot;Previous&quot;><svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2.2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;><path d=&quot;M15 18l-6-6 6-6&quot;/></svg></button>
1781    <div class=&quot;os-dots&quot; id=&quot;osDots&quot;></div>
1782    <button class=&quot;os-arrow&quot; id=&quot;osNext&quot; aria-label=&quot;Next&quot;><svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2.2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;><path d=&quot;M9 6l6 6-6 6&quot;/></svg></button>
1783  </div>
1784 </div>
1785</section>
1786<script>
1787(function(){
1788  var root = document.querySelector('.cove-os');
1789  /* ---------- icons ---------- */
1790  var ICON = {
1791    home:'<path d=&quot;M3 11l9-8 9 8&quot;/><path d=&quot;M5 10v10h14V10&quot;/>',
1792    chat:'<path d=&quot;M21 15a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z&quot;/>',
1793    inbox:'<path d=&quot;M3 5h18v14H3z&quot;/><path d=&quot;M3 13h5l2 3h4l2-3h5&quot;/>',
1794    wo:'<path d=&quot;M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18v3h3l6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2-2z&quot;/>',
1795    maint:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;16&quot; rx=&quot;2&quot;/><path d=&quot;M8 4v4M16 4v4M3 10h18&quot;/>',
1796    insp:'<path d=&quot;M9 11l3 3L22 4&quot;/><path d=&quot;M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11&quot;/>',
1797    inc:'<path d=&quot;M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z&quot;/><path d=&quot;M12 9v4M12 17h.01&quot;/>',
1798    dir:'<circle cx=&quot;9&quot; cy=&quot;8&quot; r=&quot;3&quot;/><path d=&quot;M3 20a6 6 0 0 1 12 0&quot;/><path d=&quot;M16 4a3 3 0 0 1 0 6M21 20a6 6 0 0 0-5-5.9&quot;/>',
1799    coi:'<path d=&quot;M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z&quot;/><path d=&quot;M9 12l2 2 4-4&quot;/>',
1800    vis:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;16&quot; rx=&quot;2&quot;/><circle cx=&quot;9&quot; cy=&quot;10&quot; r=&quot;2&quot;/><path d=&quot;M5 17a4 4 0 0 1 8 0M16 9h3M16 13h3&quot;/>',
1801    reports:'<path d=&quot;M3 3v18h18&quot;/><path d=&quot;M7 14l3-4 3 3 4-6&quot;/>',
1802    admin:'<circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;3.2&quot;/><path d=&quot;M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M19.1 4.9L17 7M7 17l-2.1 2.1&quot;/>',
1803    building:'<rect x=&quot;4&quot; y=&quot;3&quot; width=&quot;16&quot; height=&quot;18&quot; rx=&quot;1&quot;/><path d=&quot;M9 7h2M13 7h2M9 11h2M13 11h2M9 15h2M13 15h2&quot;/>',
1804    bolt:'<path d=&quot;M13 2 4 14h7l-1 8 9-12h-7z&quot;/>',
1805    drop:'<path d=&quot;M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z&quot;/>',
1806    user:'<circle cx=&quot;12&quot; cy=&quot;8&quot; r=&quot;4&quot;/><path d=&quot;M4 21a8 8 0 0 1 16 0&quot;/>',
1807    card:'<rect x=&quot;2&quot; y=&quot;5&quot; width=&quot;20&quot; height=&quot;14&quot; rx=&quot;2&quot;/><path d=&quot;M2 10h20&quot;/>',
1808    cal:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;17&quot; rx=&quot;2&quot;/><path d=&quot;M3 9h18M8 2v4M16 2v4&quot;/>',
1809    wind:'<path d=&quot;M3 8h11a3 3 0 1 0-3-3&quot;/><path d=&quot;M3 14h15a3 3 0 1 1-3 3&quot;/>',
1810    spark:'<path d=&quot;M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M18 6l-2.5 2.5M8.5 15.5 6 18&quot;/>'
1811  };
1812  function svg(name){return '<svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;>'+(ICON[name]||'')+'</svg>';}
1813  /* sidebar nav build */
1814  var NAV = [
1815    ['home','Home'],['chat','Chat'],['inbox','Announcement Inbox'],
1816    
1817    ['wo','Work Orders'],['maint','Maintenance'],['insp','Inspections'],['inc','Incidents'],
1818    
1819    ['dir','Directories'],['coi','COI Management'],['vis','Visitors'],['reports','Reports &amp; Analytics'],['admin','Admin']
1820  ];
1821  var navEl = document.getElementById('osNav');
1822  var indEl = document.getElementById('osInd');
1823  navEl.querySelectorAll('a').forEach(function(a){a.remove();});
1824  NAV.forEach(function(it){
1825    if(it[0]==='cap'){var c=document.createElement('div');c.className='os-cap';c.textContent=it[1];navEl.appendChild(c);return;}
1826    var a=document.createElement('a');a.className='os-item';a.dataset.nav=it[0];
1827    a.innerHTML=svg(it[0])+'<span>'+it[1]+'</span>';navEl.appendChild(a);
1828  });
1829  var navItems = Array.prototype.slice.call(navEl.querySelectorAll('.os-item'));
1830  /* ---------- helpers ---------- */
1831  function site(name){return '<span class=&quot;site&quot;>'+svg('building')+name+'</span>';}
1832  var STMAP = {
1833    'Scheduled':'st-blue','In Progress':'st-blue','Active':'st-blue','Completed':'st-teal','Verified':'st-teal',
1834    'To-Do':'st-amber','Submitted':'st-amber','Accepted':'st-teal','Open':'st-amber','On Hold':'st-red','Expiring Soon':'st-amber','In Review':'st-amber',
1835    'Overdue':'st-red','Expired':'st-red','Action Needed':'st-red','Yes':'st-red',
1836    'High':'st-red','Medium':'st-amber','Low':'st-slate','No':'st-slate'
1837  };
1838  function pill(label,solid){return '<span class=&quot;pill '+(STMAP[label]||'st-slate')+(solid?' solid':'')+'&quot;>'+label+'</span>';}
1839  var AVC=['#2F6BFF','#5B53E8','#7C3AED','#0EA5E9','#DB7706','#E11D48','#475569','#1D4ED8','#0891B2'];
1840  function avaColor(n){var h=0;for(var i=0;i<n.length;i++)h=(h*31+n.charCodeAt(i))>>>0;return AVC[h%AVC.length];}
1841  function initials(n){var p=n.trim().split(/\s+/);return (p[0][0]+(p[1]?p[1][0]:'')).toUpperCase();}
1842  function who(name){if(name==='Unassigned')return '<span class=&quot;who un&quot;>Unassigned</span>';return '<span class=&quot;who&quot;><span class=&quot;ava&quot; style=&quot;background:'+avaColor(name)+'&quot;>'+initials(name)+'</span>'+name+'</span>';}
1843  var CATIC={'Access Card':['#5B53E8','card'],'Cleaning':['#0EA5E9','spark'],'Concierge':['#475569','user'],'Amenity Reservation':['#7C3AED','cal'],'HVAC':['#2F6BFF','wind'],'Plumbing':['#0EA5E9','drop'],'Electrical':['#DB7706','bolt'],'Janitorial':['#1D4ED8','spark']};
1844  function cat(name){var c=CATIC[name]||['#475569','spark'];return '<span class=&quot;cat&quot;><span class=&quot;ic&quot; style=&quot;background:'+c[0]+'&quot;>'+svg(c[1])+'</span>'+name+'</span>';}
1845  var CATC={'HVAC':'#2F6BFF','Elevator':'#7C3AED','Janitorial':'#DB7706','Life Safety':'#E11D48','Electrical':'#E8A317','Security':'#334155','Plumbing':'#0EA5E9','Pest Control':'#1D4ED8','Exterior':'#DB7706','Logistics':'#475569'};
1846  function catdot(name){return '<span class=&quot;dot&quot; style=&quot;--c:'+(CATC[name]||'#2F6BFF')+'&quot;>'+name+'</span>';}
1847  function tabs(arr){return '<div class=&quot;sc-tabs&quot;>'+arr.map(function(t,i){return '<span class=&quot;sc-tab anim'+(i===0?' on':'')+(t[2]?' alert':'')+'&quot; style=&quot;--d:'+(i*55+120)+'ms&quot;>'+t[0]+' <b>'+t[1]+'</b></span>';}).join('')+'</div>';}
1848  function head(title,sub){return '<div class=&quot;anim&quot;><h1 class=&quot;sc-title&quot;>'+title+'</h1><p class=&quot;sc-sub&quot;>'+sub+'</p></div>';}
1849  function rows(cols, data){
1850    var th='<tr>'+cols.map(function(c){return '<th>'+c+'</th>';}).join('')+'</tr>';
1851    var tr=data.map(function(r,i){
1852      return '<tr class=&quot;anim&quot; style=&quot;--d:'+(i*65+260)+'ms&quot;>'+r.map(function(c){return '<td>'+c+'</td>';}).join('')+'</tr>';
1853    }).join('');
1854    return '<div class=&quot;sc-card anim&quot; style=&quot;--d:200ms&quot;><table class=&quot;sc-tbl&quot;><thead>'+th+'</thead><tbody>'+tr+'</tbody></table></div>';
1855  }
1856  /* ---------- screens ---------- */
1857  var screens = [
1858    { nav:'wo', crumb:'Operations <i>/</i> <b>Work Orders</b>', render:function(){
1859      return head('Work Orders','Triage, schedule, and track maintenance tickets across your portfolio.')
1860        + tabs([['All','30'],['Scheduled','22'],['In Progress','4'],['On Hold','2'],['Overdue','2',1]])
1861        + rows(['ID','Site','Category','Issue Type','Submitted','Status','Esc.'],[
1862          ['<span class=&quot;id&quot;>WO-2461</span>',site('Meridian Plaza'),cat('Access Card'),'Freight Request','Dec 18, 2025',pill('Scheduled'),pill('No')],
1863          ['<span class=&quot;id&quot;>WO-2487</span>',site('Harbor Point'),cat('Concierge'),'Reservation Mgmt','May 18, 2026',pill('In Progress'),pill('No')],
1864          ['<span class=&quot;id&quot;>WO-2465</span>',site('The Lattice'),cat('Amenity Reservation'),'Office Setup','May 01, 2026',pill('Open'),pill('No')],
1865          ['<span class=&quot;id&quot;>WO-2512</span>',site('Gateway Tower'),cat('HVAC'),'Temperature','Jun 01, 2026',pill('In Progress'),pill('Yes')],
1866          ['<span class=&quot;id&quot;>WO-2402</span>',site('Vista West'),cat('Plumbing'),'Leak Repair','Feb 06, 2026',pill('On Hold'),pill('Yes')],
1867          ['<span class=&quot;id&quot;>WO-2403</span>',site('Vista West'),cat('Electrical'),'Lighting Outage','Feb 06, 2026',pill('Scheduled'),pill('No')]
1868        ]);
1869    }},
1870    { nav:'maint', crumb:'Maintenance <i>/</i> <b>On-Demand Tasks</b>', render:function(){
1871      return head('On-Demand Tasks','Ad-hoc maintenance tasks across equipment, suites, and floors.')
1872        + tabs([['All','88'],['To-Do','71'],['In Progress','14'],['Overdue','3',1]])
1873        + rows(['Task #','Site','Name','Equipment','Assigned To','Status','Due'],[
1874          ['<span class=&quot;id&quot;>PM-12100</span>',site('Meridian Plaza'),'<span class=&quot;strong&quot;>Follow up to PM-12099</span>','AHU-01',who('Unassigned'),pill('To-Do'),'May 28, 2026'],
1875          ['<span class=&quot;id&quot;>PM-11665</span>',site('Meridian Plaza'),'<span class=&quot;strong&quot;>Filter replacement</span>','AHU-01 Motor',who('Unassigned'),pill('To-Do'),'Apr 21, 2026'],
1876          ['<span class=&quot;id&quot;>PM-0368</span>',site('Harbor Point'),'<span class=&quot;strong&quot;>Pump seal service</span>
1876','In-Line Pump',who('Marcus Lane'),pill('To-Do'),'Apr 13, 2026'],
1877          ['<span class=&quot;id&quot;>PM-0367</span>',site('Harbor Point'),'<span class=&quot;strong&quot;>Replacement parts</span>','AHU-01',who('Marcus Lane'),pill('In Progress'),'Apr 13, 2026'],
1878          ['<span class=&quot;id&quot;>PM-0353</span>',site('Harbor Point'),'<span class=&quot;strong&quot;>Coil cleaning</span>','AHU-01',who('Priya Shah'),pill('To-Do'),'Feb 19, 2026'],
1879          ['<span class=&quot;id&quot;>PM-10590</span>',site('Meridian Plaza'),'<span class=&quot;strong&quot;>Quarterly chiller PM</span>','Chiller-02',who('Tara Quinn'),pill('In Progress'),'Jan 30, 2026']
1880        ]);
1881    }},
1882    { nav:'insp', crumb:'Inspections <i>/</i> <b>Open Inspections</b>', render:function(){
1883      return head('Open Inspections','Scheduled and recurring inspections awaiting completion.')
1884        + tabs([['All','3,841'],['To-Do','3,778'],['In Progress','51'],['Overdue','12',1]])
1885        + rows(['ID','Site','Name','Assigned To','Status','Building','Due','Interval'],[
1886          ['<span class=&quot;id&quot;>INS-3196</span>',site('Meridian Plaza'),'<span class=&quot;strong&quot;>Daily Building Checklist</span>',who('Nadia Brooks'),pill('To-Do'),'Sitewide','Jun 03, 2026','Every 1 Day'],
1887          ['<span class=&quot;id&quot;>INS-3195</span>',site('Meridian Plaza'),'<span class=&quot;strong&quot;>Daily Rounds - North</span>',who('Owen Castillo'),pill('To-Do'),'District North','Jun 07, 2026','Every 1 Day'],
1888          ['<span class=&quot;id&quot;>INS-0892</span>',site('Harbor Point'),'<span class=&quot;strong&quot;>Daily Rounds</span>',who('Sela Davis'),pill('In Progress'),'Sitewide','Today','Every 1 Day'],
1889          ['<span class=&quot;id&quot;>INS-3193</span>',site('Meridian Plaza'),'<span class=&quot;strong&quot;>Building Test</span>',who('Liz Braden'),pill('To-Do'),'Sitewide','Today','Every 1 Week'],
1890          ['<span class=&quot;id&quot;>INS-3192</span>',site('Meridian Plaza'),'<span class=&quot;strong&quot;>Building Checklist Daily</span>',who('Chloe Weber'),pill('To-Do'),'Sitewide','Today','Every 1 Day'],
1891          ['<span class=&quot;id&quot;>INS-3188</span>',site('Gateway Tower'),'<span class=&quot;strong&quot;>Fire Extinguisher Check</span>',who('Marcus Lane'),pill('To-Do'),'Tower A','Jun 05, 2026','Every 1 Month']
1892        ]);
1893    }},
1894    { nav:'inc', crumb:'Incidents <i>/</i> <b>Open Incidents</b>', render:function(){
1895      return head('Open Incidents','Reported safety and operational incidents under review.')
1896        + tabs([['All','26'],['High','18',1],['Medium','6'],['Low','2']])
1897        + rows(['ID','Site','Title','Incident Type','Submitted','Status','Severity'],[
1898          ['<span class=&quot;id&quot;>INC-0042</span>',site('Gateway Tower'),'<span class=&quot;strong&quot;>Lobby fire alarm activation</span>','Fire','Mar 23, 2026',pill('Open'),pill('High',1)],
1899          ['<span class=&quot;id&quot;>INC-0041</span>',site('Harbor Point'),'<span class=&quot;strong&quot;>Passenger trapped in Car 3</span>','Elevator Entrapment','Mar 10, 2026',pill('Open'),pill('High',1)],
1900          ['<span class=&quot;id&quot;>INC-0040</span>',site('Harbor Point'),'<span class=&quot;strong&quot;>Elevator door fault</span>','Elevator Malfunction','Feb 13, 2026',pill('Open'),pill('Medium',1)],
1901          ['<span class=&quot;id&quot;>INC-0039</span>',site('Meridian Plaza'),'<span class=&quot;strong&quot;>Ceiling leak on 14th floor</span>','Water Leak','Feb 12, 2026',pill('Open'),pill('Medium',1)],
1902          ['<span class=&quot;id&quot;>INC-0038</span>',site('Vista West'),'<span class=&quot;strong&quot;>Parking gate stuck open</span>','Access Control','Feb 12, 2026',pill('Open'),pill('Low',1)],
1903          ['<span class=&quot;id&quot;>INC-0037</span>',site('The Lattice'),'<span class=&quot;strong&quot;>After-hours intrusion alarm</span>','Security','Jan 15, 2026',pill('Open'),pill('High',1)]
1904        ]);
1905    }},
1906    { nav:'coi', crumb:'COI Management <i>/</i> <b>Vendor COIs</b>', render:function(){
1907      var stats=[
1908        ['Vendors With COIs','207',98,'#2F6BFF'],['Compliant and Active','164',79,'#1
1908D4ED8'],
1909        ['Non-Compliant','11',5,'#DB7706'],['Expiring 60 Days','28',14,'#E0901C'],
1910        ['Expired','19',9,'#E11D48'],['Missing Coverage','5',2,'#C1342D']
1911      ];
1912      var cards='<div class=&quot;sc-stats&quot;>'+stats.map(function(s,i){
1913        return '<div class=&quot;stat anim-pop&quot; style=&quot;--c:'+s[3]+';--d:'+(i*70+120)+'ms&quot;><div class=&quot;lab&quot;>'+s[0]+'</div><div class=&quot;big&quot; data-count=&quot;'+s[1]+'&quot;>0</div><div class=&quot;pct&quot;>'+s[2]+'%</div><div class=&quot;track&quot;><i data-w=&quot;'+s[2]+'&quot;></i></div></div>';
1914      }).join('')+'</div>';
1915      var tbl=rows(['Vendor','Expiry Date','Category','Status','Compliance'],[
1916        ['<span class=&quot;id&quot;>Apex Mechanical Group</span>','Sep 15, 2026',catdot('HVAC'),pill('Active'),pill('Verified')],
1917        ['<span class=&quot;id&quot;>Beacon Elevator Services</span>','Jan 26, 2027',catdot('Elevator'),pill('Active'),pill('Verified')],
1918        ['<span class=&quot;id&quot;>Crestline Janitorial Inc</span>','Jun 29, 2026',catdot('Janitorial'),pill('Expiring Soon'),pill('In Review')],
1919        ['<span class=&quot;id&quot;>Dynamic Fire &amp; Safety</span>','Oct 01, 2026',catdot('Life Safety'),pill('Active'),pill('Verified')],
1920        ['<span class=&quot;id&quot;>Harborview Security LLC</span>','May 21, 2026',catdot('Security'),pill('Expired'),pill('Action Needed')],
1921        ['<span class=&quot;id&quot;>Granite Plumbing &amp; Heating</span>','Nov 22, 2026',catdot('Plumbing'),pill('Active'),pill('Verified')]
1922      ]);
1923      return head('Vendor COI Management','Insurance certificates tracked, verified, and flagged before they lapse.')+'<div style=&quot;height:14px&quot;></div>'+cards+tbl;
1924    }},
1925    { nav:'reports', crumb:'Reports &amp; Analytics <i>/</i> <b>Chart Builder</b>', render:function(){
1926      var ctl='<div class=&quot;ch-controls&quot;>'
1927        +'<div class=&quot;ch-ctl anim&quot; style=&quot;--d:120ms&quot;><span>Metric</span><b>Work Order Count</b></div>'
1928        +'<div class=&quot;ch-ctl anim&quot; style=&quot;--d:180ms&quot;><span>Group By</span><b>Assignee</b></div>'
1929        +'<div class=&quot;ch-ctl anim&quot; style=&quot;--d:240ms&quot;><span>Sort Order</span><b>Descending</b></div>'
1930        +'<div class=&quot;ch-ctl anim&quot; style=&quot;--d:300ms&quot;><span>Page Size</span><b>25</b></div></div>';
1931      var kpis='<div class=&quot;ch-kpis&quot;><div class=&quot;ch-kpi anim&quot; style=&quot;--d:200ms&quot;><span>Total Work Order Count</span><b data-count=&quot;274&quot;>0</b></div>'
1932        +'<div class=&quot;ch-kpi anim&quot; style=&quot;--d:280ms&quot;><span>Matching Assignees</span><b data-count=&quot;23&quot;>0</b></div></div>';
1933      var data=[['Lewis Smith',61],['Marcus Lane',22],['Priya Shah',20],['Diego Ramos',18],['Tara Quinn',16],['Owen Castillo',15],['Nadia Brooks',13],['Sela Davis',12],['Liz Braden',11],['Chloe Weber',10],['Sawyer Reed',9],['Dev Patel',8]];
1934      var max=61;
1935      var bars='<div class=&quot;ch-bars&quot;>'+data.map(function(d,i){
1936        return '<div class=&quot;ch-row anim&quot; style=&quot;--d:'+(i*45+340)+'ms&quot;><div class=&quot;ch-name&quot;>'+d[0]+'</div><div class=&quot;ch-track&quot;><div class=&quot;ch-fill&quot; data-w=&quot;'+(d[1]/max*100)+'&quot; style=&quot;transition-delay:'+(i*45+340)+'ms&quot;><b>'+d[1]+'</b></div></div></div>';
1937      }).join('')+'</div>';
1938      return head('Work Order Chart Builder','Build, save, and print custom work order analytics across your portfolio.')+'<div style=&quot;height:14px&quot;></div>'+ctl+kpis+bars;
1939    }}
1940  ];
1941  /* ---------- count up + bars ---------- */
1942  function easeOut(t){return 1-Math.pow(1-t,3);}
1943  function countUp(el){
1944    var to=parseInt(el.dataset.count,10), dur=1100, t0=null;
1945    function step(ts){if(!t0)t0=ts;var p=Math.min((ts-t0)/dur,1);el.textContent=Math.round(easeOut(p)*to).toLocaleString();if(p<1)requestAnimationFrame(step);}
1946    requestAnimationFrame(step);
1947  }
1948  function runScreen(el){
1949    setTimeout(function(){el.querySelectorAll('[data-count]').forEach(countUp);},260);
1950    el.querySelectorAll('.stat .track i').forEach(function(i){requestAnimationFrame(function(){requestAnimationFrame(function(){i.style.width=i.dataset.w+'%';});});});
1951    el.querySelectorAll('.ch-fill').forEach(function(f){requestAnimationFrame(function(){requestAnimationFrame(function(){f.style.width=f.dataset.w+'%';setTimeout(function(){f.classList.add('show');},f.dataset.w>14?300:600);});});});
1952  }
1953  /* ---------- engine ---------- */
1954  var screenEl=document.getElementById('osScreen');
1955  var crumbEl=document.getElementById('osCrumb');
1956  var dotsEl=document.getElementById('osDots');
1957  var idx=0, raf=null, start=0, elapsed=0, paused=false, DWELL=2000;
1958  screens.forEach(function(_,i){var b=document.createElement('button');b.className='os-dot'+(i?'':' is-active');b.innerHTML='<i></i>';b.addEventListener('click',function(){goto(i);});dotsEl.appendChild(b);});
1959  var dots=Array.prototype.slice.call(dotsEl.children);
1960  function moveInd(){
1961    var a=navItems.filter(function(n){return n.classList.contains('active');})[0];
1962    if(!a)return; indEl.style.height=a.offsetHeight+'px'; indEl.style.transform='translateY('+a.offsetTop+'px)';
1963  }
1964  function render(i){
1965    idx=(i+screens.length)%screens.length; var s=screens[idx];
1966    crumbEl.innerHTML=s.crumb;
1967    navItems.forEach(function(n){n.classList.toggle('active',n.dataset.nav===s.nav);});
1968    moveInd();
1969    screenEl.classList.remove('leaving');
1970    screenEl.innerHTML=s.render();
1971    runScreen(screenEl);
1972    dots.forEach(function(d,k){d.classList.toggle('is-active',k===idx);d.firstElementChild.style.width='0%';});
1973    startProgress();
1974  }
1975  function goto(i){screenEl.classList.add('leaving');setTimeout(function(){render(i);},300);}
1976  function startProgress(){
1977    cancelAnimationFrame(raf); start=0; elapsed=0;
1978    function tick(ts){
1979      if(paused){start=ts-elapsed;raf=requestAnimationFrame(tick);return;}
1980      if(!start)start=ts; elapsed=ts-start;
1981      var p=Math.min(elapsed/DWELL,1);
1982      if(dots[idx])dots[idx].firstElementChild.style.width=(p*100)+'%';
1983      if(p>=1){goto(idx+1);return;}
1984      raf=requestAnimationFrame(tick);
1985    }
1986    raf=requestAnimationFrame(tick);
1987  }
1988  document.getElementById('osNext').addEventListener('click',function(){goto(idx+1);});
1989  document.getElementById('osPrev').addEventListener('click',function(){goto(idx-1);});
1990  var win=document.querySelector('.os-window');
1991  win.addEventListener('mouseenter',function(){paused=true;});
1992  win.addEventListener('mouseleave',function(){paused=false;});
1993  document.addEventListener('visibilitychange',function(){paused=document.hidden;});
1994  if('IntersectionObserver' in window){new IntersectionObserver(function(e){paused=!e[0].isIntersecting;},{threshold:.15}).observe(win);}
1995  window.addEventListener('resize',moveInd);
1996  render(0);
1997})();
1998</script>
1998
1999</body>
2000</html>
2001" style="position:absolute;inset:0;width:100%;height:100%;border:0;opacity:1;transition:opacity .45s ease;"></iframe>
2002          <iframe class="cove-os-frame" data-panel="1" title="Tenant Experience" loading="lazy" srcdoc="<!DOCTYPE html><html><head><meta charset=&quot;UTF-8&quot;><meta name=&quot;viewport&quot; content=&quot;width=device-width,initial-scale=1&quot;><link href=&quot;https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&amp;family=Sora:wght@400;500;600;700;800&amp;display=swap&quot; rel=&quot;stylesheet&quot;><style>html,body{margin:0;height:100%;background:transparent;}  /* ===== Platform showcase module (namespaced under .cove-os) ===== */
2003  .cove-os{
2004    --navy-950:#06122E; --navy-900:#0A1B3D; --navy-850:#0C1C3E; --navy-800:#10264F;
2005    --blue-600:#2F6BFF; --blue-500:#3D78FF; --blue-400:#6398FF; --sky-300:#A8C7FF;
2006    --amber:#E0901C; --amber-bg:#FCEFD6; --amber-tx:#A9690F;
2007    --red:#EF4444; --red-bg:#FCE4E4; --red-tx:#C1342D;
2008    --slate:#64748B; --slate-bg:#EDF1F7; --slate-tx:#475569;
2009    --blue-bg:#E7F0FF; --blue-tx:#1D4ED8; --hue:#52c9ec;
2010    --ink:#0E1F44; --ink-2:#3A4A6B; --muted:#8295B6; --line:#E6EBF4; --panel:#F3F5FA;
2011    --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
2012    position:relative; isolation:isolate; overflow:hidden; font-family:var(--font);
2013    color:var(--ink); padding:0; height:100%; background:transparent; box-sizing:border-box;
2014  }
2015  .cove-os *,.cove-os *::before,.cove-os *::after{box-sizing:border-box;}
2016  .cove-os .os-wrap{max-width:1180px; margin:0 auto; height:100%; display:flex; flex-direction:column;}
2017  .cove-os .os-window{ display:flex; flex:1; height:100%; border-radius:0; overflow:hidden; background:#fff; border:0; animation:os-pop .8s cubic-bezier(.2,.9,.3,1.2) both; }
2018  @keyframes os-pop{from{opacity:0; transform:translateY(24px) scale(.97);} to{opacity:1; transform:none;}}
2019  .cove-os .os-side{width:228px; flex:none; background:#0e1826; color:#c2cfe4; display:flex; flex-direction:column; padding:16px 13px; overflow:hidden; animation:os-side-in .7s ease both .1s;}
2020  @keyframes os-side-in{from{transform:translateX(-30px); opacity:0;} to{transform:none; opacity:1;}}
2021  .cove-os .os-brand{display:flex; align-items:center; justify-content:space-between; padding:4px 10px 14px;} .cove-logo{height:29px; width:auto; display:block;} .os-brand .cv{display:flex; align-items:center; gap:8px;} .os-brand .chev{width:16px; height:16px; color:#63799e;}
2022  .cove-os .os-mark{width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--blue-500),#1b46c2); flex:none; box-shadow:0 4px 12px rgba(47,107,255,.5); position:relative;}
2023  .cove-os .os-mark::after{content:&quot;&quot;; position:absolute; inset:8px; border-radius:5px; border:2px solid rgba(255,255,255,.85);}
2024  .cove-os .os-brand b{font-size:15px; color:#fff; font-weight:700; line-height:1;}
2025  .cove-os .os-brand span{display:block; font-size:8.5px; letter-spacing:.22em; color:#7e92bd; margin-top:3px;}
2026  .cove-os .os-nav{position:relative; display:flex; flex-direction:column; gap:5px; flex:1; overflow:hidden;}
2027  .cove-os .os-cap{font-size:9px; letter-spacing:.16em; color:#5d6f99; font-weight:700; padding:10px 10px 4px;}
2028  .cove-os .os-item{display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; font-size:12px; font-weight:500; color:#aebcdd; cursor:default; position:relative; z-index:1; transition:color .35s;}
2029  .cove-os .os-item svg{width:14px; height:14px; flex:none; opacity:.85;}
2030  .cove-os .os-item.active{color:#fff;}
2031  .cove-os .os-ind{position:absolute; left:0; right:0; height:30px; border-radius:8px; background:rgba(255,255,255,.07); border:none; box-shadow:inset 3px 0 0 #52C9EC; z-index:0; transition:transform .5s cubic-bezier(.5,1.4,.4,1), height .3s ease;}
2032  .cove-os .os-ind::before{display:none;}
2033  .cove-os .os-user{display:flex; align-items:center; gap:10px; padding:9px; margin-top:6px; border-radius:11px; background:rgba(255,255,255,.05);}
2034  .cove-os .os-user .ava{width:30px; height:30px; font-size:11px;}
2035  .cove-os .os-user b{font-size:12px; color:#fff; display:block;} .cove-os .os-user span{font-size:10px; color:#8295b6;}
2036  .cove-os .os-main{flex:1; background:var(--panel); display:flex; flex-direction:column; min-width:0;}
2037  .cove-os .os-top{height:52px; flex:none; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:14px; padding:0 20px;}
2038  .cove-os .os-crumb{font-size:13px; color:var(--muted); font-weight:500; white-space:nowrap;}
2039  .cove-os .os-crumb b{color:var(--ink); font-weight:700;}
2040  .cove-os .os-crumb i{font-style:normal; margin:0 7px;
2040 color:#c2cde0;}
2041  .cove-os .os-search{flex:1; max-width:360px; height:31px; border-radius:8px; background:var(--panel); border:1px solid var(--line); display:flex; align-items:center; gap:8px; padding:0 12px; font-size:12px; color:var(--muted);}
2042  .cove-os .os-search svg{width:13px; height:13px;}
2043  .cove-os .os-icons{margin-left:auto; display:flex; align-items:center; gap:14px; color:var(--muted);}
2044  .cove-os .os-icons svg{width:17px; height:17px;}
2045  .cove-os .os-icons .ava{width:28px; height:28px; font-size:10.5px;}
2046  .cove-os .os-body{flex:1; padding:20px 24px; overflow:hidden; position:relative;}
2047  .cove-os .os-screen{height:100%; transition:opacity .35s ease, filter .35s ease, transform .35s ease;}
2048  .cove-os .os-screen.leaving{opacity:0; filter:blur(6px); transform:scale(.985);}
2049  .cove-os .sc-title{font-size:20px; font-weight:800; color:var(--ink); letter-spacing:-.01em; margin:0;}
2050  .cove-os .sc-sub{font-size:12px; color:var(--muted); margin:3px 0 0;}
2051  .cove-os .sc-tabs{display:flex; gap:6px; margin:14px 0 12px; flex-wrap:wrap;}
2052  .cove-os .sc-tab{display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:600; color:var(--ink-2); padding:6px 11px; border-radius:9px; background:#fff; border:1px solid var(--line);}
2053  .cove-os .sc-tab.on{background:var(--navy-850); color:#fff; border-color:var(--navy-850);}
2054  .cove-os .sc-tab b{font-size:10.5px; padding:1px 7px; border-radius:999px; background:var(--panel); color:var(--ink-2);}
2055  .cove-os .sc-tab.on b{background:rgba(255,255,255,.18); color:#fff;}
2056  .cove-os .sc-tab.alert b{background:var(--red-bg); color:var(--red-tx);}
2057  .cove-os .sc-card{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden;}
2058  .cove-os table.sc-tbl{width:100%; border-collapse:collapse; border-spacing:0; font-size:11.5px; border:0;}
2059  .cove-os .sc-tbl tr{border:0; background:transparent;}
2060  .cove-os .sc-tbl thead{background:#fff !important;} .sc-tbl th{text-align:left; font-size:9px; letter-spacing:.06em; color:var(--muted); font-weight:700; text-transform:uppercase; padding:10px 13px; border:0; border-bottom:1px solid var(--line);; background:#fff !important; color:var(--muted) !important;}
2061  .cove-os .sc-tbl td{padding:9px 13px; border:0; border-bottom:1px solid #F1F4FA; color:var(--ink-2); white-space:nowrap; vertical-align:middle;}
2062  .cove-os .sc-tbl tr:last-child td{border-bottom:none;}
2063  .cove-os .sc-tbl .id{color:#2F6BFF; font-weight:700;}
2064  .cove-os .sc-tbl .strong{color:var(--ink); font-weight:600;}
2065  .cove-os .sc-tbl .msg{color:var(--muted); font-weight:400; max-width:240px; overflow:hidden; text-overflow:ellipsis;}
2066  .cove-os .site{display:inline-flex; align-items:center; gap:7px; color:var(--ink); font-weight:600;}
2067  .cove-os .site svg{width:13px; height:13px; color:var(--blue-500);}
2068  .cove-os .acts{display:inline-flex; gap:9px; color:var(--muted);} .cove-os .acts svg{width:14px;height:14px;}
2069  .cove-os .pill{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; padding:3px 9px; border-radius:999px;}
2070  .cove-os .pill::before{content:&quot;&quot;; width:6px; height:6px; border-radius:50%; background:currentColor;}
2071  .cove-os .pill.solid::before{display:none;}
2072  .cove-os .pill.chk::before{content:&quot;&quot;; width:11px; height:11px; border-radius:0; background:none;
2073    -webkit-mask:url(&quot;data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E&quot;) center/contain no-repeat;
2074    mask:url(&quot;data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E&quot;) center/contain no-repeat; background:currentColor;}
2075  .cove-os .st-blue{color:var(--blue-tx); background:var(--blue-bg);}
2076  .cove-os .st-amber{color:var(--amber-tx); background:var(--amber-bg);}
2077  .cove-os .st-red{color:var(--red-tx); background:var(--red-bg);}
2078  .cove-os .st-slate{color:var(--slate-tx); background:var(--slate-bg);} .st-teal{color:#0e7d97; background:#d7f1f8;}
2079  .cove-os .tag{display:inline-block; font-size:10.5px; font-weight:700; color:var(--blue-tx); background:var(--blue-bg); padding:2px 9px; border-radius:7px;}
2080  .cove-os .ava{display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#fff; font-size:9.5px; font-weight:700; flex:none;}
2081  .cove-os .who{display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:600;}
2082  .cove-os .who.un{color:var(--muted); font-weight:500;}
2083  .cove-os .cat{display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:600;}
2084  .cove-os .cat .ic{width:22px; height:22px; border-radius:7px; display:grid; place-items:center; flex:none;}
2085  .cove-os .cat .ic svg{width:13px; height:13px; color:#fff;}
2086  .cove-os .dot{display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:600;}
2087  .cove-os .dot::before{content:&quot;&quot;; width:9px; height:9px; border-radius:3px; background:var(--c,#2F6BFF);}
2088  .cove-os .evt-img{width:30px; height:30px; border-radius:8px; display:inline-grid; place-items:center; color:#fff;}
2089  .cove-os .evt-img svg{width:16px; height:16px;}
2090  .cove-os .sc-stats{display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:14px;}
2091  .cove-os .stat{background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px;}
2092  .cove-os .stat .lab{display:flex; align-items:center; gap:6px; font-size:10px; font-weight:600; color:var(--ink-2); margin-bottom:8px; line-height:1.2;}
2093  .cove-os .stat .lab::before{content:&quot;&quot;; width:7px; height:7px; border-radius:50%; background:var(--c,#2F6BFF); flex:none;}
2094  .cove-os .stat .big{font-size:25px; font-weight:800; color:var(--ink); line-height:1;}
2095  .cove-os .stat .pct{font-size:10px; font-weight:700; color:var(--c,#2F6BFF); margin-top:7px;}
2096  .cove-os .stat .track{height:4px; border-radius:999px; background:var(--panel); margin-top:6px; overflow:hidden;}
2097  .cove-os .stat .track i{display:block; height:100%; width:0; background:var(--c,#2F6BFF); border-radius:999px; transition:width 1s cubic-bezier(.22,1,.36,1);}
2098  .cove-os .ch-controls{display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap;}
2099  .cove-os .ch-ctl{background:#fff; border:1px solid var(--line); border-radius:9px; padding:7px 11px; font-size:11px; min-width:115px;}
2100  .cove-os .ch-ctl span{display:block; font-size:8.5px; letter-spacing:.08em; color:var(--muted); font-weight:700; text-transform:uppercase; margin-bottom:3px;}
2101  .cove-os .ch-ctl b{color:var(--ink); font-weight:700; font-size:12px;}
2102  .cove-os .ch-kpis{display:flex; gap:34px; margin-bottom:10px;}
2103  .cove-os .ch-kpi span{display:block; font-size:9.5px; letter-spacing:.06em; color:var(--muted); font-weight:700; text-transform:uppercase;}
2104  .cove-os .ch-kpi b{font-size:28px; font-weight:800; color:var(--ink); line-height:1.1;}
2105  .cove-os .ch-bars{display:flex; flex-direction:column; gap:6px;}
2106  .cove-os .ch-row{display:grid; grid-template-columns:92px 1fr; align-items:center; gap:12px;}
2107  .cove-os .ch-name{font-size:11px; color:var(--ink-2); text-align:right; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
2108  .cove-os .ch-track{position:relative; height:17px;}
2109  .cove-os .ch-fill{height:100%; width:0; border-radius:5px; background:linear-gradient(90deg,#4f86ff,#2F6BFF); transition:width .9s cubic-bezier(.22,1,.36,1); display:flex; align-items:center; justify-content:flex-end; padding-right:7px; box-shadow:0 2px 6px rgba(47,107,255,.3);}
2110  .cove-os .ch-fill b{font-size:10px; font-weight:700; color:#fff; opacity:0; transition:opacity .4s ease;}
2111  .cove-os .ch-fill.show b{opacity:1;}
2112  .cove-os .rep-grid{display:grid; grid-template-columns:1fr 1fr; gap:11px;}
2113  .cove-os .rep-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px;}
2114  .cove-os .rep-h{font-size:12.5px; font-weight:700; color:var(--ink);}
2115  .cove-os .rep-s{font-size:9.5px; color:var(--muted); margin:1px 0 7px;}
2116  .cove-os .rep-leg{display:flex; gap:9px; flex-wrap:wrap; margin-bottom:8px;}
2117  .cove-os .lg{display:flex; align-items:center; gap:5px; font-size:9px; color:var(--ink-2); font-weight:600;}
2118  .cove-os .lg::before{content:&quot;&quot;; width:7px; height:7px; border-radius:2px; background:var(--c);}
2119  .cove-os .lg.more{color:var(--muted);} .cove-os .lg.more::before{display:none;}
2120  .cove-os .mb-row{display:grid; grid-template-columns:64px 1fr 26px; align-items:center; gap:9px; margin-bottom:5px;}
2121  .cove-os .mb-name{font-size:9.5px; color:var(--ink-2); text-align:right; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
2122  .cove-os .mb-track{height:11px; border-radius:4px; background:#EEF2F8; overflow:hidden;}
2123  .cove-os .mb-fill{height:100%; width:0; border-radius:4px; transition:width .8s cubic-bezier(.22,1,.36,1);}
2124  .cove-os .mb-val{font-size:9.5px; font-weight:700; color:var(--ink);}
2125  .cove-os .ph-hero{border-radius:14px; padding:22px 22px; background:linear-gradient(120deg,#0E1F44,#1d2b50); color:#fff; position:relative; overflow:hidden; margin-bottom:16px;}
2126  .cove-os .ph-hero::after{content:&quot;&quot;; position:absolute; right:0; top:0; bottom:0; width:55%;
2127    background:repeating-linear-gradient(95deg,rgba(255,255,255,.05) 0 26px,transparent 26px 64px); mask:linear-gradient(90deg,transparent,#000);}
2128  .cove-os .ph-hero span{font-size:11px; color:#9DB2DC; font-weight:600; position:relative;}
2129  .cove-os .ph-hero h1{font-size:25px; font-weight:800; margin:5px 0 0; position:relative;}
2130  .cove-os .ph-sec-h{display:flex; align-items:center; justify-content:space-between; margin:12px 0 9px; border-bottom:1px solid var(--line); padding-bottom:7px;}
2131  .cove-os .ph-sec-h h3{font-size:15px; font-weight:800; color:var(--ink); margin:0;}
2132  .cove-os .ph-sec-h a{font-size:11px; font-weight:700; color:var(--blue-tx);}
2133  .cove-os .ph-events{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
2134  .cove-os .ph-evt{display:flex; gap:12px;}
2135  .cove-os .ph-thumb{width:80px; height:80px; border-radius:14px; flex:none; display:grid; place-items:center; color:#fff;}
2136  .cove-os .ph-thumb svg{width:30px; height:30px;}
2137  .cove-os .ph-evt .t{font-size:13px; font-weight:700; color:var(--ink); line-height:1.25;}
2138  .cove-os .ph-evt .d{font-size:11px; color:var(--muted); margin-top:4px; line-height:1.55;}
2139  .cove-os .ph-amen{display:flex; gap:16px;}
2140  .cove-os .ph-tile .img{width:150px; height:78px; border-radius:12px; display:grid; place-items:center; color:#fff;}
2141  .cove-os .ph-tile .img svg{width:30px; height:30px;}
2142  .cove-os .ph-tile .l{font-size:12px; font-weight:700; color:var(--ink); margin-top:7px;}
2143  @keyframes rise{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}
2144  @keyframes pop{from{opacity:0; transform:scale(.94);} to{opacity:1; transform:none;}}
2145  .cove-os .anim{opacity:0; animation:rise .55s cubic-bezier(.22,1,.36,1) both; animation-delay:var(--d,0ms);}
2146  .cove-os .anim-pop{opacity:0; animation:pop .5s cubic-bezier(.2,.9,.3,1.3) both; animation-delay:var(--d,0ms);}
2147  .cove-os .os-controls{display:none;}
2148  @media (max-width:760px){
2149    .cove-os .os-side{display:none;}
2150    .cove-os .sc-stats{grid-template-columns:repeat(3,1fr);}
2151    .cove-os .rep-grid,.cove-os .ph-events{grid-template-columns:1fr;}
2152  }
2153  @media (prefers-reduced-motion:reduce){
2154    .cove-os .os-window,.cove-os .os-side{animation:none;}
2155    .cove-os .anim,.cove-os .anim-pop{animation-duration:.01ms !important; opacity:1;}
2156  }
2157</style></head><body>        <section class=&quot;cove-os&quot; aria-label=&quot;Cove platform showcase&quot;>
2158         <div class=&quot;os-wrap&quot;>
2159          <div class=&quot;os-window&quot;>
2160            <aside class=&quot;os-side&quot;>
2161              <div class=&quot;os-brand&quot;><span class=&quot;cv&quot;><img class=&quot;cove-logo&quot; src=&quot;https://21927082.fs1.hubspotusercontent-na1.net/hubfs/21927082/Cove_Logo_White_Teal_Dot.png?width=140&amp;name=Cove_Logo_White_Teal_Dot.png&quot; alt=&quot;Cove&quot; /></span><svg class=&quot;chev&quot;
2161 viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><path d=&quot;M6 9l6 6 6-6&quot;/></svg></div>
2162              <nav class=&quot;os-nav&quot; id=&quot;osNav&quot;><div class=&quot;os-ind&quot; id=&quot;osInd&quot;></div></nav>
2163            </aside>
2164            <div class=&quot;os-main&quot;>
2165              <div class=&quot;os-top&quot;>
2166                <div class=&quot;os-crumb&quot; id=&quot;osCrumb&quot;></div>
2167                <div class=&quot;os-search&quot;><svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;7&quot;/><path d=&quot;m21 21-4-4&quot;/></svg>Search...</div>
2168                <div class=&quot;os-icons&quot;>
2169                  <svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><path d=&quot;M18 8a6 6 0 1 0-12 0c0 7-3 9-3 9h18s-3-2-3-9&quot;/><path d=&quot;M13.7 21a2 2 0 0 1-3.4 0&quot;/></svg>
2170                  <svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;9&quot;/><path d=&quot;M9.5 9a2.5 2.5 0 1 1 3.5 2.3c-.7.4-1 .8-1 1.7&quot;/><path d=&quot;M12 17h.01&quot;/></svg>
2171                  <span class=&quot;ava&quot; style=&quot;background:#1D4ED8&quot;>OD</span>
2172                </div>
2173              </div>
2174              <div class=&quot;os-body&quot;><div class=&quot;os-screen&quot; id=&quot;osScreen&quot;></div></div>
2175            </div>
2176          </div>
2177          <div class=&quot;os-controls&quot;>
2178            <button class=&quot;os-arrow&quot; id=&quot;osPrev&quot; aria-label=&quot;Previous&quot;><svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2.2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;><path d=&quot;M15 18l-6-6 6-6&quot;/></svg></button>
2179            <div class=&quot;os-dots&quot; id=&quot;osDots&quot;></div>
2180            <button class=&quot;os-arrow&quot; id=&quot;osNext&quot; aria-label=&quot;Next&quot;><svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2.2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;><path d=&quot;M9 6l6 6-6 6&quot;/></svg></button>
2181          </div>
2182         </div>
2183        </section>
2183<script>(function(){
2184  var ICON = {
2185    home:'<path d=&quot;M3 11l9-8 9 8&quot;/><path d=&quot;M5 10v10h14V10&quot;/>',
2186    chat:'<path d=&quot;M21 15a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z&quot;/>',
2187    inbox:'<path d=&quot;M3 5h18v14H3z&quot;/><path d=&quot;M3 13h5l2 3h4l2-3h5&quot;/>',
2188    wo:'<path d=&quot;M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18v3h3l6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2-2z&quot;/>',
2189    maint:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;16&quot; rx=&quot;2&quot;/><path d=&quot;M8 4v4M16 4v4M3 10h18&quot;/>',
2190    insp:'<path d=&quot;M9 11l3 3L22 4&quot;/><path d=&quot;M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11&quot;/>',
2191    inc:'<path d=&quot;M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z&quot;/><path d=&quot;M12 9v4M12 17h.01&quot;/>',
2192    resv:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;17&quot; rx=&quot;2&quot;/><path d=&quot;M3 9h18M8 2v4M16 2v4&quot;/>',
2193    engage:'<path d=&quot;M3 11l18-8-8 18-2-7-8-3z&quot;/>',
2194    dir:'<circle cx=&quot;9&quot; cy=&quot;8&quot; r=&quot;3&quot;/><path d=&quot;M3 20a6 6 0 0 1 12 0&quot;/><path d=&quot;M16 4a3 3 0 0 1 0 6M21 20a6 6 0 0 0-5-5.9&quot;/>',
2195    coi:'<path d=&quot;M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z&quot;/><path d=&quot;M9 12l2 2 4-4&quot;/>',
2196    vis:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;16&quot; rx=&quot;2&quot;/><circle cx=&quot;9&quot; cy=&quot;10&quot; r=&quot;2&quot;/><path d=&quot;M5 17a4 4 0 0 1 8 0M16 9h3M16 13h3&quot;/>',
2197    reports:'<path d=&quot;M3 3v18h18&quot;/><path d=&quot;M7 14l3-4 3 3 4-6&quot;/>',
2198    admin:'<circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;3.2&quot;/><path d=&quot;M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M19.1 4.9L17 7M7 17l-2.1 2.1&quot;/>',
2199    building:'<rect x=&quot;4&quot; y=&quot;3&quot; width=&quot;16&quot; height=&quot;18&quot; rx=&quot;1&quot;/><path d=&quot;M9 7h2M13 7h2M9 11h2M13 11h2M9 15h2M13 15h2&quot;/>',
2200    bolt:'<path d=&quot;M13 2 4 14h7l-1 8 9-12h-7z&quot;/>', drop:'<path d=&quot;M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z&quot;/>',
2201    user:'<circle cx=&quot;12&quot; cy=&quot;8&quot; r=&quot;4&quot;/><path d=&quot;M4 21a8 8 0 0 1 16 0&quot;/>', card:'<rect x=&quot;2&quot; y=&quot;5&quot; width=&quot;20&quot; height=&quot;14&quot; rx=&quot;2&quot;/><path d=&quot;M2 10h20&quot;/>',
2202    cal:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;17&quot; rx=&quot;2&quot;/><path d=&quot;M3 9h18M8 2v4M16 2v4&quot;/>', wind:'<path d=&quot;M3 8h11a3 3 0 1 0-3-3&quot;/><path d=&quot;M3 14h15a3 3 0 1 1-3 3&quot;/>',
2203    spark:'<path d=&quot;M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M18 6l-2.5 2.5M8.5 15.5 6 18&quot;/>',
2204    paw:'<circle cx=&quot;6&quot; cy=&quot;11&quot; r=&quot;1.7&quot;/><circle cx=&quot;9.5&quot; cy=&quot;6.5&quot; r=&quot;1.7&quot;/><circle cx=&quot;14.5&quot; cy=&quot;6.5&quot; r=&quot;1.7&quot;/><circle cx=&quot;18&quot; cy=&quot;11&quot; r=&quot;1.7&quot;/><path d=&quot;M12 13c-2.4 0-4.3 1.9-4.3 3.8 0 1.5 1.2 2.4 2.6 2.4 1 0 1.2-.5 1.7-.5s.7.5 1.7.5c1.4 0 2.6-.9 2.6-2.4C16.3 14.9 14.4 13 12 13z&quot;/>',
2205    bird:'<path d=&quot;M16 7a3 3 0 1 0-6 0c0 4-4 6-7 6 2 3 6 4 9 3 4-1 6-5 6-9l2-2-4 .6z&quot;/>',
2206    music:'<path d=&quot;M9 18V5l10-2v11&quot;/><circle cx=&quot;6&quot; cy=&quot;18&quot; r=&quot;3&quot;/><circle cx=&quot;16&quot; cy=&quot;14&quot; r=&quot;3&quot;/>',
2207    heart:'<path d=&quot;M12 21s-7-4.5-9.5-9C1 9 2.5 5.5 6 5.5c2 0 3 1.2 4 2.5 1-1.3 2-2.5 4-2.5 3.5 0 5 3.5 3.5 6.5C19 16.5 12 21 12 21z&quot;/>',
2208    plane:'<path d=&quot;M21 15.5 13 11V4.5a1.5 1.5 0 0 0-3 0V11l-8 4.5V18l8-2.3V20l-2 1.3V23l3.5-1 3.5 1v-1.7L13 20v-4.3z&quot;/>',
2209    sun:'<circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;4&quot;/><path d=&quot;M12 2v3M12 19v3M2 12h3M19 12h3M5 5l2 2M17 17l2 2M19 5l-2 2M7 17l-2 2&quot;/>',
2210    couch:'<path d=&quot;M5 11V8a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3&quot;/><path d=&quot;M3 12a2 2 0 0 1 4 0v3h10v-3a2 2 0 0 1 4 0v5H3z&quot;/><path d=&quot;M6 20v-2M18 20v-2&quot;/>',
2211    table:'<ellipse cx=&quot;12&quot; cy=&quot;9&quot; rx=&quot;8&quot; ry=&quot;3&quot;/><path d=&quot;M4 9v3a8 3 0 0 0 16 0V9&quot;/><circle cx=&quot;8&quot; cy=&quot;6.5&quot; r=&quot;.8&quot;/><circle cx=&quot;12&quot; cy=&quot;6&quot; r=&quot;.8&quot;/><circle cx=&quot;16&quot; cy=&quot;6.5&quot; r=&quot;.8&quot;/>',
2212    bike:'<circle cx=&quot;6&quot; cy=&quot;17&quot; r=&quot;3.3&quot;/><circle cx=&quot;18&quot; cy=&quot;17&quot; r=&quot;3.3&quot;/><path d=&quot;M6 17l4-7h5l3 7M10 10l-2-3H7m3 3h6&quot;/>',
2213    eye:'<path d=&quot;M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z&quot;/><circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;3&quot;/>',
2214    edit:'<path d=&quot;M12 20h9&quot;/><path d=&quot;M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z&quot;/>',
2215    copy:'<rect x=&quot;9&quot; y=&quot;9&quot; width=&quot;11&quot; height=&quot;11&quot; rx=&quot;2&quot;/><path d=&quot;M5 15V5a2 2 0 0 1 2-2h10&quot;/>',
2216    link:'<path d=&quot;M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1&quot;/><path d=&quot;M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1&quot;/>',
2217    trash:'<path d=&quot;M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6&quot;/>'
2218  };
2219  function svg(n){return '<svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;>'+(ICON[n]||'')+'</svg>';}
2220  var NAV=[['home','Home'],['chat','Chat'],['inbox','Announcement Inbox'],
2221    ['wo','Work Orders'],['maint','Maintenance'],['insp','Inspections'],['inc','Incidents'],['resv','Reservations'],
2222    ['engage','Engage'],
2223    ['dir','Directories'],['coi','COI Management'],['vis','Visitors'],['reports','Reports &amp; Analytics'],['admin','Admin']];
2224  var navEl=document.getElementById('osNav'), indEl=document.getElementById('osInd');
2225  NAV.forEach(function(it){
2226    if(it[0]==='cap'){var c=document.createElement('div');c.className='os-cap';c.textContent=it[1];navEl.appendChild(c);return;}
2227    var a=document.createElement('a');a.className='os-item';a.dataset.nav=it[0];a.innerHTML=svg(it[0])+'<span>'+it[1]+'</span>';navEl.appendChild(a);
2228  });
2229  var navItems=Array.prototype.slice.call(navEl.querySelectorAll('.os-item'));
2230  function siteCell(n){return '<span class=&quot;site&quot;>'+svg('building')+n+'</span>';}
2231  var STMAP={'Scheduled':'st-blue','In Progress':'st-blue','Active':'st-blue','Completed':'st-teal','Verified':'st-teal','Published':'st-blue','Success':'st-teal','Yes':'st-red',
2232    'To-Do':'st-amber','Submitted':'st-amber','Accepted':'st-teal','Open':'st-amber','On Hold':'st-red','Expiring Soon':'st-amber','In Review':'st-amber',
2233    'Overdue':'st-red','Expired':'st-red','Action Needed':'st-red','High':'st-red','Medium':'st-amber','Low':'st-slate','No':'st-slate'};
2234  function pill(label,solid){var chk=(label==='Verified'||label==='Completed'||label==='Success')?' chk':'';return '<span class=&quot;pill '+(STMAP[label]||'st-slate')+(solid?' solid':'')+chk+'&quot;>'+label+'</span>';}
2235  var AVC=['#2F6BFF','#5B53E8','#7C3AED','#0EA5E9','#DB7706','#E11D48','#475569','#1D4ED8','#0891B2'];
2236  function avaColor(n){var h=0;for(var i=0;i<n.length;i++)h=(h*31+n.charCodeAt(i))>>>0;return AVC[h%AVC.length];}
2237  function initials(n){var p=n.trim().split(/\s+/);return (p[0][0]+(p[1]?p[1][0]:'')).toUpperCase();}
2238  function who(n){if(n==='Unassigned')return '<span class=&quot;who un&quot;>Unassigned</span>';return '<span class=&quot;who&quot;><span class=&quot;ava&quot; style=&quot;background:'+avaColor(n)+'&quot;>'+initials(n)+'</span>'+n+'</span>';}
2239  var CATIC={'Access Card':['#5B53E8','card'],'Cleaning':['#0EA5E9','spark'],'Concierge':['#475569','user'],'Amenity Reservation':['#7C3AED','cal'],'HVAC':['#2F6BFF','wind'],'Plumbing':['#0EA5E9','drop'],'Electrical':['#DB7706','bolt'],'Janitorial':['#1D4ED8','spark']};
2240  function cat(n){var c=CATIC[n]||['#475569','spark'];return '<span class=&quot;cat&quot;><span class=&quot;ic&quot; style=&quot;background:'+c[0]+'&quot;>'+svg(c[1])+'</span>'+n+'</span>';}
2241  var CATC={'HVAC':'#2F6BFF','Elevator':'#7C3AED','Janitorial':'#DB7706','Life Safety':'#E11D48','Electrical':'#E8A317','Security':'#334155','Plumbing':'#0EA5E9','Pest Control':'#1D4ED8','Exterior':'#EC4899','Logistics':'#475569'};
2242  function catdot(n){return '<span class=&quot;dot&quot; style=&quot;--c:'+(CATC[n]||'#2F6BFF')+'&quot;>'+n+'</span>';}
2243  function evtImg(grad,icon){return '<span class=&quot;evt-img&quot; style=&quot;background:'+grad+'&quot;>'+svg(icon)+'</span>';}
2244  function actions(){return '<span class=&quot;acts&quot;>'+svg('edit')+svg('copy')+svg('link')+svg('trash')+'</span>';}
2245  function tabs(arr){return '<div class=&quot;sc-tabs&quot;>'+arr.map(function(t,i){return '<span class=&quot;sc-tab anim'+(i===0?' on':'')+(t[2]?' alert':'')+'&quot; style=&quot;--d:'+(i*55+110)+'ms&quot;>'+t[0]+(t[1]!=null?' <b>'+t[1]+'</b>':'')+'</span>';}).join('')+'</div>';}
2246  function head(t,s){return '<div class=&quot;anim&quot;><h1 class=&quot;sc-title&quot;>'+t+'</h1><p class=&quot;sc-sub&quot;>'+s+'</p></div>';}
2247  function rows(cols,data){
2248    var th='<tr>'+cols.map(function(c){return '<th>'+c+'</th>';}).join('')+'</tr>';
2249    var tr=data.map(function(r,i){return '<tr class=&quot;anim&quot; style=&quot;--d:'+(i*60+250)+'ms&quot;>'+r.map(function(c){return '<td>'+c+'</td>';}).join('')+'</tr>';}).join('');
2250    return '<div class=&quot;sc-card anim&quot; style=&quot;--d:190ms&quot;><table class=&quot;sc-tbl&quot;><thead>'+th+'</thead><tbody>'+tr+'</tbody></table></div>';
2251  }
2252  function repCard(title,sub,leg,data,base){
2253    var max=Math.max.apply(null,data.map(function(d){return d[1];}));
2254    var legh='<div class=&quot;rep-leg&quot;>'+leg.map(function(l){return l[0]==='more'?'<span class=&quot;lg more&quot;>'+l[1]+'</span>':'<span class=&quot;lg&quot; style=&quot;--c:'+l[1]+'&quot;>'+l[0]+'</span>';}).join('')+'</div>';
2255    var bars=data.map(function(d,i){return '<div class=&quot;mb-row&quot;><div class=&quot;mb-name&quot;>'+d[0]+'</div><div class=&quot;mb-track&quot;><div class=&quot;mb-fill&quot; data-w=&quot;'+(d[1]/max*100)+'&quot; style=&quot;background:'+d[2]+';transition-delay:'+(base+i*55)+'ms&quot;></div></div><div class=&quot;mb-val&quot;>'+d[1]+'</div></div>';}).join('');
2256    return '<div class=&quot;rep-card anim&quot; style=&quot;--d:'+base+'ms&quot;><div class=&quot;rep-h&quot;>'+title+'</div><div class=&quot;rep-s&quot;>'+sub+'</div>'+legh+bars+'</div>';
2257  }
2258  var SER=['#6366F1','#EF4444','#06B6D4','#E0901C','#8B5CF6','#EC4899'];
2259  var screens=[
2260    { nav:'home', crumb:'<b>Property Home</b>', render:function(){
2261      return '<div class=&quot;anim ph-hero&quot;><span>Meridian Plaza</span><h1>Welcome, Owen!</h1></div>'
2262       +'<div class=&quot;anim&quot; style=&quot;--d:120ms&quot;><div class=&quot;ph-sec-h&quot;><h3>Events</h3><a>SEE ALL</a></div>'
2263       +'<div class=&quot;ph-events&quot;>'
2264       +'<div class=&quot;ph-evt anim&quot; style=&quot;--d:200ms&quot;><div class=&quot;ph-thumb&quot; style=&quot;background:linear-gradient(135deg,#EC4899,#F59E0B 55%,#6366F1)&quot;>'+svg('sun')+'</div><div><div class=&quot;t&quot;>Summer Rooftop Social</div><div class=&quot;d&quot;>Jun 9, 2026<br>5:00 PM - 7:00 PM<br>Rooftop Terrace</div></div></div>'
2265       +'<div class=&quot;ph-evt anim&quot; style=&quot;--d:280ms&quot;><div class=&quot;ph-thumb&quot; style=&quot;background:linear-gradient(160deg,#F59E0B,#EF4444 60%,#1d2b50)&quot;>'+svg('plane')+'</div><div><div class=&quot;t&quot;>TSA PreCheck Enrollment Day</div><div class=&quot;d&quot;>Jun 16, 2026<br>9:00 AM - 3:00 PM<br>Concourse Level, Suite C</div></div></div>'
2266       +'</div></div>'
2267       +'<div class=&quot;anim&quot; style=&quot;--d:340ms&quot;><div class=&quot;ph-sec-h&quot;><h3>Amenities</h3></div>'
2268       +'<div class=&quot;ph-amen&quot;>'
2269       +'<div class=&quot;ph-tile anim&quot; style=&quot;--d:420ms&quot;><div class=&quot;img&quot; style=&quot;background:linear-gradient(160deg,#5a4636,#1a1f3a)&quot;>'+svg('couch')+'</div><div class=&quot;l&quot;>The Vault Lounge</div></div>'
2270       +'<div class=&quot;ph-tile anim&quot; style=&quot;--d:480ms&quot;><div class=&quot;img&quot; style=&quot;background:linear-gradient(160deg,#1d2b50,#2F6BFF)&quot;>'+svg('table')+'</div><div class=&quot;l&quot;>The Assembly</div></div>'
2271       +'<div class=&quot;ph-tile anim&quot; style=&quot;--d:540ms&quot;><div class=&quot;img&quot; style=&quot;background:linear-gradient(160deg,#22A7C4,#2F6BFF)&quot;>'+svg('bike')+'</div><div class=&quot;l&quot;>Bike Room</div></div>'
2272       +'</div></div>';
2273    }},
2274    { nav:'engage', crumb:'Engage <i>/</i> <b>Announcements</b>', render:function(){
2275      return head('Announcements','Every announcement sent or scheduled across your properties.')
2276        +tabs([['Sent/Scheduled',null],['Drafts',null],['Templates',null]])
2277        +rows(['Status','Subject','Message','Recipients','Send Date','Type','Delivery'],[
2278          [pill('Scheduled'),'<span class=&quot;id&quot;>Join us for drinks at The Lounge (6/18)</span>','<span class=&quot;msg&quot;>Stop by The Lounge tonight for 10% off all drinks...</span>','<b>10,477</b>','Jun 18, 2026','<span class=&quot;tag&quot;>Property</span>','<span class=&quot;tag&quot;>Mobile Push</span>'],
2279          [pill('Scheduled'),'<span class=&quot;id&quot;>Bingo Night is back at The Lounge</span>','<span class=&quot;msg&quot;>An evening of laughs, prizes, and good company...</span>','<b>10,476</b>','Jun 15, 2026','<span class=&quot;tag&quot;>Property</span>','<span class=&quot;tag&quot;>Mobile Push</span>'],
2280          [pill('Scheduled'),'<span class=&quot;id&quot;>Give blood, save lives</span>','<span class=&quot;msg&quot;>
2280Join our June 17 blood drive in the Mezzanine...</span>','<b>10,473</b>','Jun 12, 2026','<span class=&quot;tag&quot;>Property</span>','<span class=&quot;tag&quot;>Mobile Push</span>'],
2281          [pill('Scheduled'),'<span class=&quot;id&quot;>Summer Concert Tonight, 6/11!</span>','<span class=&quot;msg&quot;>The Courtyard Summer Concert Series kicks off...</span>','<b>10,473</b>','Jun 11, 2026','<span class=&quot;tag&quot;>Marketing</span>','<span class=&quot;tag&quot;>Mobile Push</span>'],
2282          [pill('Success'),'<span class=&quot;id&quot;>Calling all nature lovers: Falcon Watch</span>','<span class=&quot;msg&quot;>Join us June 10th for a unique rooftop experience...</span>','<b>10,478</b>','Jun 02, 2026','<span class=&quot;tag&quot;>Property</span>','<span class=&quot;tag&quot;>Mobile Push</span>'],
2283          [pill('Success'),'<span class=&quot;id&quot;>June at Meridian: what\'s coming up</span>','<span class=&quot;msg&quot;>Summer is heating up and so is our events calendar...</span>','<b>10,452</b>','May 28, 2026','<span class=&quot;tag&quot;>Marketing</span>','<span class=&quot;tag&quot;>Mobile Push</span>']
2284        ]);
2285    }},
2286    { nav:'engage', crumb:'Engage <i>/</i> <b>Events</b>', render:function(){
2287      return head('Events','RSVP-driven programming across your buildings.')
2288        +tabs([['Upcoming','9'],['Past',null],['Recurring','0'],['Calendar',null],['All RSVPs','3,350']])
2289        +rows(['Image','Name','RSVP Rate','Total RSVPs','Start Date','Status'],[
2290          [evtImg('linear-gradient(135deg,#E0901C,#C2410C)','paw'),'<span class=&quot;id&quot;>Adoption Day with Harbor Paws Rescue</span>','9.00%','45','Jun 04, 2026',pill('Published')],
2291          [evtImg('linear-gradient(135deg,#2F6BFF,#22A7C4)','bird'),'<span class=&quot;id&quot;>Rooftop Falcon Watch at Meridian Tower</span>','5.80%','29','Jun 10, 2026',pill('Published')],
2292          [evtImg('linear-gradient(135deg,#8B5CF6,#6366F1)','music'),'<span class=&quot;id&quot;>Courtyard Summer Concert Series</span>','7.40%','37','Jun 11, 2026',pill('Published')],
2293          [evtImg('linear-gradient(135deg,#EF4444,#B91C1C)','drop'),'<span class=&quot;id&quot;>Community Blood Drive (6/15)</span>','4.20%','21','Jun 15, 2026',pill('Published')],
2294          [evtImg('linear-gradient(135deg,#EC4899,#BE123C)','drop'),'<span class=&quot;id&quot;>Mezzanine Blood Drive (6/17)</span>','3.60%','18','Jun 17, 2026',pill('Published')],
2295          [evtImg('linear-gradient(135deg,#EC4899,#8B5CF6)','heart'),'<span class=&quot;id&quot;>Bingo Night at The Lounge</span>','12.86%','9','Jun 18, 2026',pill('Published')],
2296          [evtImg('linear-gradient(135deg,#2F6BFF,#1D4ED8)','home'),'<span class=&quot;id&quot;>Home Buying &amp; Selling Seminar</span>','6.00%','30','Jun 24, 2026',pill('Published')]
2297        ]);
2298    }},
2299    { nav:'engage', crumb:'Engage <i>/</i> <b>Highlights</b>', render:function(){
2300      return head('Highlights','Curated content shown across the mobile app and onsite displays.')
2301        +tabs([['Highlight Sections','12'],['Mobile Highlights','1,807'],['Display / TV Highlights','36']])
2302        +rows(['Section Title','Description','Site Visibility','Items','Active','Created'],[
2303          ['<span class=&quot;id&quot;>2026 Engagement</span>','internal use only','Engagement Posting','<b>53</b>',pill('No'),'Jan 06, 2026'],
2304          ['<span class=&quot;id&quot;>Tenant Resources</span>','Tenant Resources','Meridian Plaza','<b>0</b>',pill('Yes'),'Mar 27, 2025'],
2305          ['<span class=&quot;id&quot;>2024 Holiday Marketplace</span>','Our 2024 Holiday Market line up!','Meridian Plaza','<b>6</b>',pill('Yes'),'Nov 20, 2024'],
2306          ['<span class=&quot;id&quot;>2025 Engagement</span>','internal use only','Engagement Posting','<b>375</b>',pill('No'),'Mar 04, 2024'],
2307          ['<span class=&quot;id&quot;>Pulse Fitness Center</span>','Pulse is a 30,000 square foot fitness club...','Meridian Plaza','<b>49</b>',pill('Yes'),'Jan 09, 2023'],
2308          ['<span class=&quot;id&quot;>Stay in the Know</span>','Timely building updates and alerts for tenants','Meridian Plaza','<b>22</b>',pill('Yes'),'Jun 09, 2022']
2309        ]);
2310    }},
2311    { nav:'engage', crumb:'Engage <i>/</i> <b>Surveys</b>', render:function(){
2312      return head('Surveys','Gather tenant feedback after events and across your buildings.')
2313        +tabs([['All Surveys','3'],['Active',null],['Archived',null]])
2314        +rows(['Actions','Name','Description','Date Added'],[
2315          [actions(),'<span class=&quot;id&quot;>Rooftop Happy Hour Post-Event Survey</span>','<span class=&quot;msg&quot;>We\'d love to hear from you! Please take 2-3 minutes to share your thoughts...</span>','Feb 11, 2026'],
2316          [actions(),'<span class=&quot;id&quot;>Sustainability Mixer Post-Event Survey</span>','<span class=&quot;msg&quot;>We\'d love to hear from you! Please take 2-3 minutes to share your thoughts...</span>','Sep 17, 2025'],
2317          [actions(),'<span class=&quot;id&quot;>Ice Cream Social Post-Event Survey</span>','<span class=&quot;msg&quot;>We\'d love to hear from you! Please take 2-3 minutes to share your thoughts...</span>','Jul 16, 2025']
2318        ]);
2319    }},
2320    { nav:'reports', crumb:'Reports &amp; Analytics <i>/</i> <b>Engagement Reporting</b>', render:function(){
2321      var leg1=[['Dec 2025',SER[0]],['Jan 2026',SER[1]],['Nov 2025',SER[2]],['Mar 2026',SER[3]],['more','+6 more']];
2322      var leg2=[['Nov 2025',SER[0]],['Sep 2025',SER[1]],['Jun 2025',SER[2]],['Oct 2025',SER[3]],['more','+6 more']];
2323      var leg3=[['Vault Lounge',SER[0]],['Rooftop Beehive',SER[1]],['Wellness Wed',SER[2]],['more','+4 more']];
2324      var leg4=[['Summer Night',SER[0]],['Rooftop HH',SER[1]],['Wellness',SER[2]],['more','+2 more']];
2325      var legT=[['Vertex Capital',SER[0]],['Bluepeak',SER[1]],['Archway',SER[2]],['more','+3 more']];
2326      var grid='<div class=&quot;rep-grid&quot;>'
2327        +repCard('Total Monthly Highlight Clicks','Last 12 months',leg1,[['Dec 2025',142,SER[0]],['Jan 2026',128,SER[1]],['Nov 2025',104,SER[2]],['Mar 2026',96,SER[3]]],200)
2328        +repCard('Total Monthly Event Clicks','Last 12 months',leg2,[['Nov 2025',412,SER[0]],['Sep 2025',305,SER[1]],['Jun 2025',274,SER[2]],['Oct 2025',263,SER[3]]],280)
2329        +repCard('Popular Highlight Breakdown','Total clicks, last 30 days',leg3,[['Vault Lounge',28,SER[0]],['Rooftop Beehive',24,SER[1]],['Wellness Wed',16,SER[2]],['The Bathhouse',14,SER[3]]],360)
2330        +repCard('Popular Event Breakdown','Total clicks, last 30 days',leg4,[['Summer Night',132,SER[0]],['Rooftop HH',118,SER[1]],['Wellness',64,SER[2]],['Coffee &amp; Conn',41,SER[3]]],440)
2331        +repCard('Highlight Clicks by Tenant','Last 30 days',legT,[['Vertex Capital',61,SER[0]],['Bluepeak',48,SER[1]],['Archway',37,SER[2]],['Northwind',29,SER[3]]],520)
2332        +repCard('Event Clicks by Tenant','Last 30 days',legT,[['Vertex Capital',54,SER[0]],['Northwind',41,SER[1]],['Bluepeak',33,SER[2]],['Lumen',27,SER[3]]],600)
2333        +'</div>';
2334      return head('Engagement Reporting Dashboard','Highlight and event engagement trends across your portfolio.')+grid;
2335    }},
2336  ];
2337  function easeOut(t){return 1-Math.pow(1-t,3);}
2338  function countUp(el){var to=parseInt(el.dataset.count,10),dur=1100,t0=null;function s(ts){if(!t0)t0=ts;var p=Math.min((ts-t0)/dur,1);el.textContent=Math.round(easeOut(p)*to).toLocaleString();if(p<1)requestAnimationFrame(s);}requestAnimationFrame(s);}
2339  function runScreen(el){
2340    setTimeout(function(){el.querySelectorAll('[data-count]').forEach(countUp);},250);
2341    el.querySelectorAll('[data-w]').forEach(function(f){
2342      requestAnimationFrame(function(){requestAnimationFrame(function(){f.style.width=f.dataset.w+'%';});});
2343      if(f.classList.contains('ch-fill')){setTimeout(function(){f.classList.add('show');},f.dataset.w>14?320:620);}
2344    });
2345  }
2346  var screenEl=document.getElementById('osScreen'), crumbEl=document.getElementById('osCrumb'), dotsEl=document.getElementById('osDots');
2347  var idx=0, raf=null, start=0, elapsed=0, paused=false, DWELL=2000;
2348  screens.forEach(function(_,i){var b=document.createElement('button');b.className='os-dot'+(i?'':' is-active');b.innerHTML='<i></i>';b.addEventListener('click',function(){goto(i);});dotsEl.appendChild(b);});
2349  var dots=Array.prototype.slice.call(dotsEl.children);
2350  function moveInd(){var a=navItems.filter(function(n){return n.classList.contains('active');})[0];if(!a)return;indEl.style.height=a.offsetHeight+'px';indEl.style.transform='translateY('+a.offsetTop+'px)';}
2351  function render(i){
2352    idx=(i+screens.length)%screens.length;var s=screens[idx];
2353    crumbEl.innerHTML=s.crumb;
2354    navItems.forEach(function(n){n.classList.toggle('active',n.dataset.nav===s.nav);});
2355    moveInd();
2356    screenEl.classList.remove('leaving');screenEl.innerHTML=s.render();runScreen(screenEl);
2357    dots.forEach(function(d,k){d.classList.toggle('is-active',k===idx);d.firstElementChild.style.width='0%';});
2358    startProgress();
2359  }
2360  function goto(i){screenEl.classList.add('leaving');setTimeout(function(){render(i);},300);}
2361  function startProgress(){
2362    cancelAnimationFrame(raf);start=0;elapsed=0;
2363    function tick(ts){if(paused){start=ts-elapsed;raf=requestAnimationFrame(tick);return;}if(!start)start=ts;elapsed=ts-start;var p=Math.min(elapsed/DWELL,1);if(dots[idx])dots[idx].firstElementChild.style.width=(p*100)+'%';if(p>=1){goto(idx+1);return;}raf=requestAnimationFrame(tick);}
2364    raf=requestAnimationFrame(tick);
2365  }
2366  document.getElementById('osNext').addEventListener('click',function(){goto(idx+1);});
2367  document.getElementById('osPrev').addEventListener('click',function(){goto(idx-1);});
2368  var win=document.querySelector('.os-window');
2369  win.addEventListener('mouseenter',function(){paused=true;});win.addEventListener('mouseleave',function(){paused=false;});
2370  document.addEventListener('visibilitychange',function(){paused=document.hidden;});
2371  if('IntersectionObserver' in window){new IntersectionObserver(function(e){paused=!e[0].isIntersecting;},{threshold:.15}).observe(win);}
2372  window.addEventListener('resize',moveInd);
2373  render(0);
2374})();</script>
2374</body></html>" style="position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;pointer-events:none;transition:opacity .45s ease;"></iframe>
2375          <iframe class="cove-os-frame" data-panel="2" title="Visitor Management" loading="lazy" srcdoc="<!DOCTYPE html><html><head><meta charset=&quot;UTF-8&quot;><meta name=&quot;viewport&quot; content=&quot;width=device-width,initial-scale=1&quot;><link href=&quot;https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&amp;family=Sora:wght@400;500;600;700;800&amp;display=swap&quot; rel=&quot;stylesheet&quot;><style>html,body{margin:0;height:100%;background:transparent;}
2376  :root {
2377    --navy: #003567;
2378    --navy-deep: #00253f;
2379    --cyan: #52C9EC;
2380    --cyan-deep: #1f9ec9;
2381    --cyan-tint: #f4fbfe;
2382    --cyan-soft: #e8f7fd;
2383    --white: #ffffff;
2384    --ink: #102a3f;
2385    --muted: #51697c;
2386    --line: #e5eef4;
2387    --radius: 22px;
2388    --shadow: 0 24px 60px -24px rgba(0, 53, 103, 0.30);
2389    --shadow-sm: 0 10px 28px -14px rgba(0, 53, 103, 0.22);
2390    --maxw: 1180px;
2391    --grad-hero: radial-gradient(120% 120% at 80% 0%, #d8f2fc 0%, #eef9fe 38%, #ffffff 75%);
2392    --grad-cyan: linear-gradient(135deg, #eafaff 0%, #c6ecfa 100%);
2393    --grad-pill: linear-gradient(135deg, #6ad2ef 0%, #2aa8d4 100%);
2394    --grad-navy: linear-gradient(150deg, #003567 0%, #00253f 100%);
2395  }
2396  * { box-sizing: border-box; margin: 0; padding: 0; }
2397  html { scroll-behavior: smooth; }
2398  body {
2399    font-family: &quot;Inter&quot;, -apple-system, BlinkMacSystemFont, sans-serif;
2400    color: var(--ink); background: var(--white); line-height: 1.6; -webkit-font-smoothing: antialiased;
2401  }
2402  h1, h2, h3, h4, h5, .font-head, .eyebrow, .btn { font-family: &quot;Sora&quot;, &quot;Inter&quot;, sans-serif; }
2403  h1, h2, h3 { color: var(--navy); letter-spacing: -0.025em; line-height: 1.08; }
2404  a { color: inherit; text-decoration: none; }
2405  .wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }
2406
2407  .eyebrow {
2408    display: inline-block; font-size: 12.5px; font-weight: 700; letter-spacing: 0.16em;
2409    text-transform: uppercase; color: var(--cyan-deep); margin-bottom: 16px;
2410  }
2411
2412  .btn {
2413    display: inline-flex; align-items: center; gap: 9px; font-weight: 600; font-size: 15px;
2414    padding: 14px 26px; border-radius: 999px; cursor: pointer; border: none;
2415    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
2416  }
2417  .btn-primary { background: var(--navy); color: #fff; }
2418  .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px rgba(0,53,103,.55); }
2419  .btn-cyan { background: var(--grad-pill); color: var(--navy); }
2420  .btn-cyan:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px rgba(82,201,236,.7); }
2421  .btn-ghost { background: #fff; color: var(--navy); border: 1.5px solid var(--line); }
2422  .btn-ghost:hover { border-color: var(--cyan); color: var(--cyan-deep); transform: translateY(-2px); }
2423  .btn-light { background: rgba(255,255,255,.12); color: #fff; border: 1.5px solid rgba(255,255,255,.3); }
2424  .btn-light:hover { background: rgba(255,255,255,.2); transform: translateY(-2px); }
2425  .arrow-link { font-weight: 600; color: var(--cyan-deep); font-size: 15px; display: inline-flex; align-items: center; gap: 6px; }
2426  .arrow-link span { transition: transform .2s ease; }
2427  .arrow-link:hover span { transform: translateX(4px); }
2428
2429  /* reveal animation */
2430  .reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
2431  .reveal.in { opacity: 1; transform: none; }
2432  .reveal.d1 { transition-delay: .08s; } .reveal.d2 { transition-delay: .16s; }
2433  .reveal.d3 { transition-delay: .24s; } .reveal.d4 { transition-delay: .32s; }
2434  @media (prefers-reduced-motion: reduce) { .reveal { opacity:1; transform:none; transition:none; } }
2435
2436  /* NAV */
2437  header.nav { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.86); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
2438  .nav-inner { display: flex; align-items: center; justify-content: space-between; height: 74px; }
2439  .nav-logo img { height: 30px; display: block; }
2440  .nav-links { display: flex; align-items: center; gap: 30px; }
2441  .nav-links a { font-size: 15px; font-weight: 500; color: var(--ink); }
2442  .nav-links a:hover { color: var(--cyan-deep); }
2443  .nav-right { display: flex; align-items: center; gap: 18px; }
2444  .nav-right .login { font-size: 15px; font-weight: 500; }
2445  .nav-cta { font-size: 14px; padding: 11px 22px; }
2446  @media (max-width: 940px) { .nav-links { display: none; } }
2447
2448  /* HERO */
2449  .hero { background: var(--grad-hero); padding: 86px 0 76px; position: relative; overflow: hidden; }
2450  .hero-grid { display: grid; grid-template-columns: 1.12fr 0.9fr; gap: 52px; align-items: center; }
2451  .hero h1 { font-size: 50px; font-weight: 800; margin-bottom: 18px; text-wrap: balance; }
2452  .hero .tagline { font-family: &quot;Sora&quot;; font-weight: 600; font-size: 19px; color: var(--cyan-deep); margin-bottom: 22px; }
2453  .hero p.lead { font-size: 18.5px; color: var(--muted); max-width: 540px; margin-bottom: 30px; }
2454  .hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
2455  .hero-stage { position: relative; min-width: 0; }
2456  .hero-img { position: relative; width: calc(100% + 36vw); max-width: none; height: 680px; }
2457  .hero-img img { width: 100%; display: block; border-radius: 20px; box-shadow: var(--shadow), 0 0 46px -12px rgba(82,201,236,.55); }
2458  .hero-img .cove-os { height: 100%; }
2459  .hero-img .cove-os .cove-logo { width:auto !important; max-width:120px !important; height:29px !important; box-shadow:none !important; border-radius:0 !important; }
2460  .rotor {
2461    position: absolute; left: -18px; bottom: 26px; background: #fff; border: 1px solid var(--line);
2462    border-radius: 16px; padding: 14px 20px; box-shadow: var(--shadow); display: flex; align-items: center; gap: 12px;
2463  }
2464  .rotor .pulse { width: 10px; height: 10px; border-radius: 50%; background: var(--grad-pill); box-shadow: 0 0 0 0 rgba(82,201,236,.6); animation: pulse 2s infinite; }
2465  @keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(82,201,236,.5);} 70%{box-shadow:0 0 0 12px rgba(82,201,236,0);} 100%{box-shadow:0 0 0 0 rgba(82,201,236,0);} }
2466  .rotor .rotor-text { font-family:&quot;Sora&quot;; font-weight: 600; color: var(--navy); font-size: 15px; }
2467  .rotor .rotor-text b { transition: opacity .4s ease; }
2468  .float-card {
2469    position: absolute; right: -16px; top: 26px; background: #fff; border: 1px solid var(--line);
2470    border-radius: 14px; padding: 12px 16px; box-shadow: var(--shadow); display: flex; align-items: center; gap: 11px;
2471    animation: floaty 5s ease-in-out infinite;
2472  }
2473  .float-card .ok { width: 28px; height: 28px; border-radius: 9px; background: #e7f8ef; color: #19a86b; display: grid; place-items: center; font-weight: 700; font-size: 14px; }
2474  .float-card .fc-t { font-family: &quot;Sora&quot;; font-weight: 600; font-size: 13.5px; color: var(--navy); }
2475  .float-card .fc-s { font-size: 11.5px; color: var(--muted); }
2476  @keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
2477  @media (max-width: 940px) { .hero-grid { grid-template-columns: 1fr; } .hero h1 { font-size: 40px; } .hero-img { width: 100%; height: 560px; }
2477 .rotor { left: 12px; } .float-card { right: 8px; top: 10px; } }
2478
2479  /* LOGOS */
2480  .logos { padding: 44px 0 26px; }
2481  .logos p { text-align: center; font-family: &quot;Sora&quot;, sans-serif; font-weight: 600; color: var(--navy); font-size: 22px; margin-bottom: 26px; }
2482  .logo-track { display: flex; align-items: center; justify-content: center; gap: 48px; flex-wrap: wrap; }
2483  .logo-track img { height: 30px; filter: grayscale(1); opacity: .7; transition: opacity .25s ease, filter .25s ease; }
2484  .logo-track img:hover { filter: grayscale(0); opacity: 1; }
2485
2486  /* APPROACH (consolidation) */
2487  .approach { padding: 92px 0; }
2488  .section-head { text-align: center; max-width: 760px; margin: 0 auto 56px; }
2489  .section-head h2 { font-size: 42px; font-weight: 800; margin-bottom: 16px; }
2490  .section-head p { font-size: 18px; color: var(--muted); }
2491  .consol { display: grid; grid-template-columns: 1fr auto 1fr; gap: 28px; align-items: center; }
2492  .consol-col h4 { font-family:&quot;Sora&quot;; font-size: 13px; letter-spacing:.12em; text-transform: uppercase; color: var(--muted); margin-bottom: 18px; text-align:center; }
2493  .chip-stack { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
2494  .chip { background: #fff; border: 1px dashed #c9d6e0; color: var(--muted); border-radius: 12px; padding: 12px 16px; font-size: 14px; font-weight: 500; display:flex; align-items:center; gap:8px; }
2495  .chip .x { color: #b6c4cf; }
2496  .consol-arrow { display: grid; place-items: center; }
2497  .consol-arrow svg { width: 46px; height: 46px; stroke: var(--cyan); fill:none; stroke-width: 2; }
2498  .one-card {
2499    background: var(--grad-cyan); border: 1px solid #bfe7f6; border-radius: var(--radius); padding: 34px;
2500    box-shadow: var(--shadow-sm); text-align: center; position: relative; overflow:hidden;
2501  }
2502  .one-card .badge { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:7px 15px; font-size:13px; font-weight:700; color:var(--navy); margin-bottom:16px; }
2503  .one-card h3 { font-size: 25px; margin-bottom: 10px; }
2504  .one-card p { color: var(--muted); font-size: 15.5px; }
2505  @media (max-width: 900px){ .consol { grid-template-columns: 1fr; } .consol-arrow svg { transform: rotate(90deg); } }
2506
2507  /* CAPABILITIES GRID */
2508  .caps { padding: 30px 0 92px; }
2509  .cap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
2510  .cap {
2511    background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px;
2512    box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
2513  }
2514  .cap:hover { transform: translateY(-6px); box-shadow: var(--shadow); border-color: #bfe7f6; }
2515  .cap .ic { width: 50px; height: 50px; border-radius: 14px; background: var(--grad-cyan); display:grid; place-items:center; margin-bottom: 18px; transition: transform .25s ease; }
2516  .cap:hover .ic { transform: scale(1.08) rotate(-3deg); }
2517  .cap .ic svg { width: 25px; height: 25px; stroke: var(--navy); fill:none; stroke-width: 2; }
2518  .cap h3 { font-size: 19px; margin-bottom: 9px; }
2519  .cap p { font-size: 14.8px; color: var(--muted); }
2520  @media (max-width: 900px){ .cap-grid { grid-template-columns: 1fr; } }
2521
2522  /* ROLES */
2523  .roles { padding: 0 0 92px; background: linear-gradient(to bottom, #ffffff 0%, #ffffff 12%, var(--cyan-tint) 78%); }
2524  .role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
2525  .role-grid .role { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 32px 30px; box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
2526  .role-grid .role:hover { transform: translateY(-6px); box-shadow: var(--shadow); border-color: #bfe7f6; }
2527  .role-grid .role .rnum { font-family: &quot;Sora&quot;; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; color: var(--cyan-deep); text-transform: uppercase; }
2528  .role-grid .role h3 { font-size: 21px; margin: 8px 0 12px; }
2529  .role-grid .role > p { font-size: 15px; color: var(--muted); margin-bottom: 16px; }
2530  .role-grid .role ul { list-style: none; }
2531  .role-grid .role li { font-size: 14px; color: var(--ink); padding-left: 22px; position: relative; margin-bottom: 8px; }
2532  .role-grid .role li::before { content: &quot;✓&quot;; position: absolute; left: 0; color: var(--cyan-deep); font-weight: 700; }
2533  @media (max-width: 900px){ .role-grid { grid-template-columns: 1fr; } }
2534
2535  /* ONE OS FLOW */
2536  .osos { padding: 84px 0 92px; background: linear-gradient(to bottom, var(--cyan-tint) 0%, var(--cyan-tint) 6%, #ffffff 62%); }
2537  .os-flow { display: flex; flex-direction: column; align-items: center; gap: 16px; max-width: 720px; margin: 8px auto 0; }
2538  .os-modules, .os-outs { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; width: 100%; }
2539  .os-mod { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px 20px; box-shadow: var(--shadow-sm); display: flex; align-items: center; gap: 12px; font-family: &quot;Sora&quot;; font-weight: 600; color: var(--navy); font-size: 15px; }
2540  .os-mod .md { width: 34px; height: 34px; border-radius: 10px; background: var(--grad-cyan); display: grid; place-items: center; flex: none; }
2541  .os-mod .md svg { width: 18px; height: 18px; stroke: var(--navy); fill: none; stroke-width: 2; }
2542  .os-arrow svg { width: 30px; height: 30px; stroke: var(--cyan); fill: none; stroke-width: 2.2; }
2543  .os-core { width: 100%; text-align: center; background: var(--grad-cyan); border: 1px solid #bfe7f6; border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow-sm); }
2544  .os-core .badge { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; font-size: 12.5px; font-weight: 700; color: var(--navy); margin-bottom: 12px; }
2545  .os-core h3 { font-size: 23px; margin-bottom: 6px; }
2546  .os-core p { color: var(--muted); font-size: 15px; max-width: 460px; margin: 0 auto; }
2547  .os-out { background: #fff; border: 1px solid #bfe7f6; border-radius: 16px; padding: 18px 20px; font-family: &quot;Sora&quot;; font-weight: 600; color: var(--navy); font-size: 15px; display: flex; align-items: center; gap: 11px; }
2548  .os-out .sp { width: 34px; height: 34px; border-radius: 10px; background: var(--grad-pill); display: grid; place-items: center; flex: none; }
2549  .os-out .sp svg { width: 18px; height: 18px; stroke: #fff; fill: none; stroke-width: 2; }
2550  @media (max-width: 900px){ .os-modules, .os-outs { grid-template-columns: 1fr; } }
2551
2552  /* INTELLIGENCE / stylized UI demo */
2553  .intel { padding: 92px 0; background: var(--cyan-tint); }
2554  .intel-row { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding: 40px 0; }
2555  .intel-row.reverse .intel-text { order: 2; }
2556  .intel-text h3 { font-size: 30px; font-weight: 700; margin: 10px 0 14px; }
2557  .intel-text p { font-size: 17px; color: var(--muted); }
2558  .demo { background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }
2559  .demo-head { display:flex; align-items:center; justify-content:space-between; font-size:12.5px; color:var(--muted); font-weight:600; margin-bottom:14px; }
2560  .tag-live { background: var(--cyan-soft); color: var(--cyan-deep); border-radius: 999px; padding: 4px 11px; font-weight:700; font-size:11.5px; }
2561  .bubble { border-radius: 12px; padding: 9px 13px; font-size: 13.5px; margin-bottom: 8px; max-width: 86%; line-height:1.4; }
2562  .bubble.them { background: #f1f5f8; color: var(--ink); }
2563  .bubble.us { background: var(--navy); color:#fff; margin-left:auto; }
2564  .bubble small { display:block; font-size:10.5px; opacity:.7; margin-bottom:2px; font-weight:600; }
2565  .collapse-line { text-align:center; color: var(--cyan-deep); font-weight:700; font-size:12px; letter-spacing:.08em; margin: 12px 0; }
2566  .ai-summary { background: var(--grad-cyan); border:1px solid #bfe7f6; border-radius:14px; padding:16px; }
2567  .ai-summary h5 { font-family:&quot;Sora&quot;; font-size:14px; color:var(--navy); margin-bottom:8px; }
2568  .ai-summary ul { list-style:none; }
2569  .ai-summary li { font-size:13px; color:var(--ink); padding-left:20px; position:relative; margin-bottom:6px; }
2570  .ai-summary li::before { content:&quot;✓&quot;; position:absolute; left:0; color: var(--cyan-deep); font-weight:700; }
2571  .coi-card { border:1px solid var(--line); border-radius:14px; padding:18px; }
2572  .coi-row { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); font-size:13.5px; }
2573  .coi-row:last-child { border:none; }
2574  .coi-row .k { color: var(--muted); } .coi-row .v { font-weight:600; color:var(--navy); }
2575  .pill-ok { display:inline-flex; align-items:center; gap:7px; background:#e7f8ef; color:#13885a; font-weight:700; font-size:13px; border-radius:999px; padding:8px 15px; margin-top:14px; }
2576  .pill-ok .d { width:8px; height:8px; border-radius:50%; background:#19a86b; }
2577  .trigger { display:grid; grid-template-columns:1fr; gap:12px; }
2578  .trigger .read { display:flex; align-items:center; justify-content:space-between; background:#fff6f2; border:1px solid #ffd9c9; border-radius:12px; padding:13px 15px; font-size:13.5px; color:#b4541f; font-weight:600; }
2579  .trigger .auto { display:flex; align-items:center; justify-content:space-between; background:var(--grad-cyan); border:1px solid #bfe7f6; border-radius:12px; padding:13px 15px; font-size:13.5px; color:var(--navy); font-weight:600; }
2580  @media (max-width: 900px){ .intel-row { grid-template-columns: 1fr; gap: 26px; } .intel-row.reverse .intel-text { order: 0; } }
2581
2582  /* STATS */
2583  .stats { padding: 90px 0; }
2584  .stat-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
2585  .stat { background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: 36px 30px; text-align:center; box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }
2586  .stat:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
2587  .stat .num { font-family:&quot;Sora&quot;; font-weight: 800; font-size: 46px; color: var(--navy); letter-spacing:-.02em; line-height:1; }
2588  .stat .num em { font-style: normal; color: var(--cyan-deep); }
2589  .stat .lbl { color: var(--muted); font-size: 15px; margin-top: 12px; }
2590  @media (max-width: 900px){ .stat-grid { grid-template-columns: 1fr; } }
2591
2592  /* WILLIS */
2593  .willis { padding: 0 0 92px; }
2594  .willis-card { display:grid; grid-template-columns: 1fr 1fr; border-radius: 26px; overflow:hidden; border:1px solid var(--line); box-shadow: var(--shadow); background:#fff; }
2595  .willis-img { position: relative; overflow: hidden; min-height: 320px; }
2596  .willis-img img { width:100%; height:100%; object-fit:cover; display:block; }
2597  .willis-text { padding: 44px 48px; display: flex; flex-direction: column; justify-content: center; }
2598  .willis-text h3 { font-size: 30px; margin-bottom: 16px; }
2599  .willis-text p { color: var(--muted); font-size: 16px; margin-bottom: 22px; }
2600  .willis-text .btn { align-self: flex-start; }
2601  @media (max-width: 900px){ .willis-card { grid-template-columns:1fr; } }
2602
2603  /* TESTIMONIALS */
2604  .testi { padding: 0 0 92px; }
2605  .testi-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
2606  .quote { background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow-sm); display:flex; flex-direction:column; transition: transform .25s ease, box-shadow .25s ease; }
2607  .quote:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
2608  .quote .mark { font-family:&quot;Sora&quot;; font-size:46px; line-height:.6; color: var(--cyan); margin-bottom: 14px; }
2609  .quote p { font-size: 16px; color: var(--ink); margin-bottom: 22px; flex:1; }
2610  .quote .who { font-weight:700; color: var(--navy); font-size: 15px; }
2611  .quote .role { font-size: 13.5px; color: var(--muted); }
2612  @media (max-width: 900px){ .testi-grid { grid-template-columns: 1fr; } }
2613
2614  /* CTA */
2615  .cta { padding: 0 0 96px; }
2616  .cta-card { background: var(--grad-navy); border-radius: 28px; padding: 70px 40px; text-align:center; position:relative; overflow:hidden; }
2617  .cta-card::before { content:&quot;&quot;; position:absolute; right:-100px; top:-120px; width:420px; height:420px; border-radius:50%; background: radial-gradient(circle, rgba(82,201,236,.4), transparent 70%); }
2618  .cta-card::after { content:&quot;&quot;; position:absolute; left:-120px; bottom:-140px; width:380px; height:380px; border-radius:50%; background: radial-gradient(circle, rgba(82,201,236,.22), transparent 70%); }
2619  .cta-card .tag { font-family:&quot;Sora&quot;; font-weight:600; color: var(--cyan); font-size:15px; position:relative; }
2620  .cta-card h2 { color:#fff; font-size: 44px; font-weight: 800; margin: 12px auto 16px; max-width: 720px; position:relative; }
2621  .cta-card p { color: rgba(255,255,255,.82); font-size: 18px; max-width: 600px; margin: 0 auto 28px; position:relative; }
2622  .cta-card .btn-wrap { position: relative; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
2623
2624  /* FOOTER */
2625  footer.ft { background: var(--grad-navy); color:#fff; padding: 60px 0 30px; }
2626  .ft-grid { display:grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; }
2627  .ft-logo img { height: 28px; margin-bottom: 16px; }
2628  .ft-grid p.bl { color: rgba(255,255,255,.65); font-size: 14.5px; max-width: 300px; }
2629  .ft-col h5 { font-family:&quot;Sora&quot;; color:#fff; font-size: 13px; letter-spacing:.06em; margin-bottom: 15px; text-transform: uppercase; }
2630  .ft-col a { display:block; color: rgba(255,255,255,.7); font-size: 14.5px; margin-bottom: 10px; }
2631  .ft-col a:hover { color: var(--cyan); }
2632  .ft-bottom { border-top: 1px solid rgba(255,255,255,.14); margin-top: 42px; padding-top: 22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color: rgba(255,255,255,.55); font-size: 13.5px; }
2633  .ft-bottom a { color: rgba(255,255,255,.7); }
2634  @media (max-width: 900px){ .ft-grid { grid-template-columns: 1fr 1fr; } }
2635
2636  /* ===== Platform showcase module (namespaced under .cove-os) ===== */
2637  .cove-os{
2638    --navy-850:#0C1C3E; --blue-500:#3D78FF; --blue-400:#6398FF; --sky-300:#A8C7FF;
2639    --amber-bg:#FCEFD6; --amber-tx:#A9690F; --red-bg:#FCE4E4; --red-tx:#C1342D;
2640    --slate-bg:#EDF1F7; --slate-tx:#475569; --blue-bg:#E7F0FF; --blue-tx:#1D4ED8; --hue:#52c9ec;
2641    --ink:#0E1F44; --ink-2:#3A4A6B; --muted:#8295B6; --line:#E6EBF4; --panel:#F3F5FA;
2642    --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
2643    position:relative; isolation:isolate; overflow:hidden; font-family:var(--font);
2644    color:var(--ink); padding:0; height:100%; background:transparent; box-sizing:border-box;
2645  }
2646  .cove-os *,.cove-os *::before,.cove-os *::after{box-sizing:border-box;}
2647  .cove-os .os-wrap{max-width:1160px; margin:0 auto; height:100%; display:flex; flex-direction:column;}
2648  .cove-os .os-window{ display:flex; flex:1; height:100%; border-radius:16px; overflow:hidden; background:#fff; border:2px solid #52C9EC; box-shadow:0 0 0 4px rgba(82,201,236,.18); animation:os-pop .8s cubic-bezier(.2,.9,.3,1.2) both; }
2649  @keyframes os-pop{from{opacity:0; transform:translateY(24px) scale(.97);} to{opacity:1; transform:none;}}
2650  .cove-os .os-side{width:228px; flex:none; background:#0e1826;
2650 color:#c2cfe4; display:flex; flex-direction:column; padding:18px 14px; position:relative; overflow:hidden; animation:os-side-in .7s ease both .1s;}
2651  @keyframes os-side-in{from{transform:translateX(-30px); opacity:0;} to{transform:none; opacity:1;}}
2652  .cove-os .os-brand{display:flex; align-items:center; justify-content:space-between; padding:4px 10px 14px;} .cove-logo{height:29px; width:auto; display:block;} .os-brand .cv{display:flex; align-items:center; gap:8px;} .os-brand .chev{width:16px; height:16px; color:#63799e;}
2653  .cove-os .os-mark{width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--blue-500),#1b46c2); flex:none; box-shadow:0 4px 12px rgba(47,107,255,.5); position:relative;}
2654  .cove-os .os-mark::after{content:&quot;&quot;; position:absolute; inset:8px; border-radius:5px; border:2px solid rgba(255,255,255,.85);}
2655  .cove-os .os-brand b{font-size:15px; color:#fff; font-weight:700; line-height:1;}
2656  .cove-os .os-brand span{display:block; font-size:8.5px; letter-spacing:.22em; color:#7e92bd; margin-top:3px;}
2657  .cove-os .os-nav{position:relative; display:flex; flex-direction:column; gap:1px; flex:1; overflow:hidden;}
2658  .cove-os .os-cap{font-size:9.5px; letter-spacing:.16em; color:#5d6f99; font-weight:700; padding:14px 10px 6px;}
2659  .cove-os .os-item{display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:9px; font-size:12.5px; font-weight:500; color:#aebcdd; cursor:default; position:relative; z-index:1; transition:color .35s;}
2660  .cove-os .os-item svg{width:15px; height:15px; flex:none; opacity:.85;}
2661  .cove-os .os-item.active{color:#fff;}
2662  .cove-os .os-ind{position:absolute; left:0; right:0; height:34px; border-radius:9px; background:rgba(255,255,255,.07); border:none; box-shadow:inset 3px 0 0 #52C9EC; z-index:0; transition:transform .5s cubic-bezier(.5,1.4,.4,1), height .3s ease; transform:translateY(0);}
2663  .cove-os .os-ind::before{display:none;}
2664  .cove-os .os-user{display:flex; align-items:center; gap:10px; padding:10px; margin-top:8px; border-radius:11px; background:rgba(255,255,255,.05);}
2665  .cove-os .os-user .ava{width:30px; height:30px; font-size:11px;}
2666  .cove-os .os-user b{font-size:12px; color:#fff; display:block;} .cove-os .os-user span{font-size:10px; color:#8295b6;}
2667  .cove-os .os-main{flex:1; background:var(--panel); display:flex; flex-direction:column; min-width:0;}
2668  .cove-os .os-top{height:54px; flex:none; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:14px; padding:0 22px;}
2669  .cove-os .os-crumb{font-size:13px; color:var(--muted); font-weight:500; white-space:nowrap;}
2670  .cove-os .os-crumb b{color:var(--ink); font-weight:700;}
2671  .cove-os .os-crumb i{font-style:normal; margin:0 7px; color:#c2cde0;}
2672  .cove-os .os-search{flex:1; max-width:380px; height:32px; border-radius:8px; background:var(--panel); border:1px solid var(--line); display:flex; align-items:center; gap:8px; padding:0 12px; font-size:12px; color:var(--muted);}
2673  .cove-os .os-search svg{width:13px; height:13px;}
2674  .cove-os .os-icons{margin-left:auto; display:flex; align-items:center; gap:14px; color:var(--muted);}
2675  .cove-os .os-icons svg{width:17px; height:17px;}
2676  .cove-os .os-icons .ava{width:28px; height:28px; font-size:10.5px;}
2677  .cove-os .os-body{flex:1; padding:22px 26px; overflow:hidden; position:relative;}
2678  .cove-os .os-screen{height:100%; transition:opacity .35s ease, filter .35s ease, transform .35s ease;}
2679  .cove-os .os-screen.leaving{opacity:0; filter:blur(6px); transform:scale(.985);}
2680  .cove-os .sc-title{font-size:21px; font-weight:800; color:var(--ink); letter-spacing:-.01em; margin:0;}
2681  .cove-os .sc-sub{font-size:12.5px; color:var(--muted); margin:3px 0 0;}
2682  .cove-os .sc-tabs{display:flex; gap:6px; margin:16px 0 14px; flex-wrap:wrap;}
2683  .cove-os .sc-tab{display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--ink-2); padding:7px 12px; border-radius:9px; background:#fff; border:1px solid var(--line);}
2684  .cove-os .sc-tab.on{background:var(--navy-850); color:#fff; border-color:var(--navy-850);}
2685  .cove-os .sc-tab b{font-size:11px; padding:1px 7px; border-radius:999px; background:var(--panel); color:var(--ink-2);}
2686  .cove-os .sc-tab.on b{background:rgba(255,255,255,.18); color:#fff;}
2687  .cove-os .sc-tab.alert b{background:var(--red-bg); color:var(--red-tx);}
2688  .cove-os .sc-card{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden;}
2689  .cove-os table.sc-tbl{width:100%; border-collapse:collapse; border-spacing:0; font-size:12px; border:0;}
2690  .cove-os .sc-tbl tr{border:0; background:transparent;}
2691  .cove-os .sc-tbl thead{background:#fff !important;} .sc-tbl th{text-align:left; font-size:9.5px; letter-spacing:.07em; color:var(--muted); font-weight:700; text-transform:uppercase; padding:11px 14px; border:0; border-bottom:1px solid var(--line); background:#fff;; background:#fff !important; color:var(--muted) !important;}
2692  .cove-os .sc-tbl td{padding:11px 14px; border:0; border-bottom:1px solid #F1F4FA;
2692 color:var(--ink-2); white-space:nowrap; vertical-align:middle;}
2693  .cove-os .sc-tbl tr:last-child td{border-bottom:none;}
2694  .cove-os .sc-tbl .id{color:#2F6BFF; font-weight:700;}
2695  .cove-os .sc-tbl .strong{color:var(--ink); font-weight:600;}
2696  .cove-os .site{display:inline-flex; align-items:center; gap:7px; color:var(--ink); font-weight:600;}
2697  .cove-os .site svg{width:13px; height:13px; color:var(--blue-500);}
2698  .cove-os .pill{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; padding:3px 9px; border-radius:999px;}
2699  .cove-os .pill::before{content:&quot;&quot;; width:6px; height:6px; border-radius:50%; background:currentColor;}
2700  .cove-os .pill.solid::before{display:none;}
2701  .cove-os .st-blue{color:var(--blue-tx); background:var(--blue-bg);}
2702  .cove-os .st-amber{color:var(--amber-tx); background:var(--amber-bg);}
2703  .cove-os .st-red{color:var(--red-tx); background:var(--red-bg);}
2704  .cove-os .st-slate{color:var(--slate-tx); background:var(--slate-bg);} .st-teal{color:#0e7d97; background:#d7f1f8;}
2705  .cove-os .ava{display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#fff; font-size:9.5px; font-weight:700; flex:none;}
2706  .cove-os .who{display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:600;}
2707  .cove-os .who.un{color:var(--muted); font-weight:500;}
2708  .cove-os .cat{display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:600;}
2709  .cove-os .cat .ic{width:22px; height:22px; border-radius:7px; display:grid; place-items:center; flex:none;}
2710  .cove-os .cat .ic svg{width:13px; height:13px; color:#fff;}
2711  .cove-os .dot{display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:600;}
2712  .cove-os .dot::before{content:&quot;&quot;; width:9px; height:9px; border-radius:3px; background:var(--c,#2F6BFF);}
2713  .cove-os .sc-stats{display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:14px;}
2714  .cove-os .stat{background:#fff; border:1px solid var(--line); border-radius:12px; padding:13px 13px 14px;}
2715  .cove-os .stat .lab{display:flex; align-items:center; gap:6px; font-size:10px; font-weight:600; color:var(--ink-2); margin-bottom:9px; line-height:1.2;}
2716  .cove-os .stat .lab::before{content:&quot;&quot;; width:7px; height:7px; border-radius:50%; background:var(--c,#2F6BFF); flex:none;}
2717  .cove-os .stat .big{font-size:26px; font-weight:800; color:var(--ink); line-height:1;}
2718  .cove-os .stat .pct{font-size:10px; font-weight:700; color:var(--c,#2F6BFF); margin-top:8px;}
2719  .cove-os .stat .track{height:4px; border-radius:999px; background:var(--panel); margin-top:6px; overflow:hidden;}
2720  .cove-os .stat .track i{display:block; height:100%; width:0; background:var(--c,#2F6BFF); border-radius:999px; transition:width 1s cubic-bezier(.22,1,.36,1);}
2721  .cove-os .ch-controls{display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap;}
2722  .cove-os .ch-ctl{background:#fff; border:1px solid var(--line); border-radius:9px; padding:8px 12px; font-size:11px; min-width:120px;}
2723  .cove-os .ch-ctl span{display:block; font-size:8.5px; letter-spacing:.08em; color:var(--muted); font-weight:700; text-transform:uppercase; margin-bottom:3px;}
2724  .cove-os .ch-ctl b{color:var(--ink); font-weight:700; font-size:12px;}
2725  .cove-os .ch-kpis{display:flex; gap:34px; margin-bottom:12px;}
2726  .cove-os .ch-kpi span{display:block; font-size:9.5px; letter-spacing:.06em; color:var(--muted); font-weight:700; text-transform:uppercase;}
2727  .cove-os .ch-kpi b{font-size:30px; font-weight:800; color:var(--ink); line-height:1.1;}
2728  .cove-os .ch-bars{display:flex; flex-direction:column; gap:7px;}
2729  .cove-os .ch-row{display:grid; grid-template-columns:96px 1fr; align-items:center; gap:12px;}
2730  .cove-os .ch-name{font-size:11px; color:var(--ink-2); text-align:right; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
2731  .cove-os .ch-track{position:relative; height:18px;}
2732  .cove-os .ch-fill{height:100%; width:0; border-radius:5px; background:linear-gradient(90deg,#4f86ff,#2F6BFF); transition:width .9s cubic-bezier(.22,1,.36,1); display:flex; align-items:center; justify-content:flex-end; padding-right:7px; box-shadow:0 2px 6px rgba(47,107,255,.3);}
2733  .cove-os .ch-fill b{font-size:10px; font-weight:700; color:#fff; opacity:0; transition:opacity .4s ease .5s;}
2734  .cove-os .ch-fill.show b{opacity:1;}
2735  @keyframes rise{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}
2736  @keyframes pop{from{opacity:0; transform:scale(.94);} to{opacity:1; transform:none;}}
2737  .cove-os .anim{opacity:0; animation:rise .55s cubic-bezier(.22,1,.36,1) both; animation-delay:var(--d,0ms);}
2738  .cove-os .anim-pop{opacity:0; animation:pop .5s cubic-bezier(.2,.9,.3,1.3) both; animation-delay:var(--d,0ms);}
2739  .cove-os .os-controls{display:none;}
2740  @media (max-width:760px){
2741    .cove-os .os-side{display:none;}
2742    .cove-os .sc-stats{grid-template-columns:repeat(3,1fr);}
2743    .cove-os .ch-kpis{gap:20px;}
2744  }
2745  @media (prefers-reduced-motion:reduce){
2746    .cove-os .os-window,.cove-os .os-side{animation:none;}
2747    .cove-os .anim,.cove-os .anim-pop{animation-duration:.01ms !important; opacity:1;}
2748  }
2749  /* ACCESS CONTROL INTEGRATIONS */
2750  .acint { padding: 92px 0; background: var(--cyan-tint); }
2751  .acint-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; max-width: 940px; margin: 0 auto; }
2752  .acint-logo { flex: 0 0 168px; background: #fff; border: 1px solid var(--line); border-radius: 14px; height: 92px; display: grid; place-items: center; padding: 16px; box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease; }
2753  .acint-logo:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
2754  .acint-logo img { max-width: 100%; max-height: 44px; object-fit: contain; filter: grayscale(1); opacity: .72; transition: filter .2s ease, opacity .2s ease; }
2755  .acint-logo:hover img { filter: none; opacity: 1; }
2756  @media (max-width: 900px){ .acint-grid { grid-template-columns: repeat(3, 1fr); } }
2757  @media (max-width: 560px){ .acint-grid { grid-template-columns: repeat(2, 1fr); } }
2758  /* VISITOR PROOF + infographic (namespaced under .cove-infg) */
2759  .vproof { padding: 0 0 92px; }
2760  .vproof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
2761  .vproof-text h3 { font-size: 32px; margin-bottom: 16px; }
2762  .vproof-text p { color: var(--muted); font-size: 16px; margin-bottom: 22px; max-width: 440px; }
2763  .vproof-text .btn { align-self: flex-start; }
2764  @media (max-width: 900px){ .vproof-grid { grid-template-columns: 1fr; gap: 30px; } }
2765
2766  .cove-infg{
2767    --navy:#16324f; --navy-d:#0d2742; --cyan:#2f8fc4; --cyan-l:#46a8db; --hi:#bfe6f7;
2768    --header:#cfeaf7; --ink:#0f2c4a; --muted:#6f8198; --line:#e7edf4;
2769    --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
2770    font-family:var(--font); padding:0; display:flex; justify-content:center;
2771    background:transparent; box-sizing:border-box; width:100%;
2772  }
2773  .cove-infg *,.cove-infg *::before,.cove-infg *::after{box-sizing:border-box;}
2774  .cove-infg .infg{ position:relative; width:100%; max-width:430px; background:#fff; border:1px solid var(--line); border-radius:20px;
2774 padding:24px 22px 26px; box-shadow:0 24px 60px -28px rgba(15,44,74,.4); overflow:hidden; }
2775  .cove-infg .infg-badge{position:absolute; top:18px; right:18px; width:78px; height:78px; opacity:0; transform:scale(.85); transition:opacity .6s ease .5s, transform .6s ease .5s;}
2776  .cove-infg .infg.play .infg-badge{opacity:1; transform:scale(1);}
2777  .cove-infg .infg-grid{display:grid; grid-template-columns:repeat(3,1fr); align-items:end; gap:6px; margin-top:6px;}
2778  .cove-infg .col{display:flex; flex-direction:column; justify-content:flex-end; align-items:center; height:100%;}
2779  .cove-infg .lab{font-size:13.5px; font-weight:800; color:var(--navy); line-height:1.18; text-align:center; margin-bottom:9px; opacity:0; transform:translateY(8px); transition:opacity .55s ease, transform .55s ease;}
2780  .cove-infg .lab.hdr{background:var(--header); color:var(--ink); padding:7px 11px; border-radius:9px; align-self:flex-start; text-align:left; margin-bottom:auto; margin-top:0;}
2781  .cove-infg .col.c1{justify-content:space-between;}
2782  .cove-infg .infg.play .lab{opacity:1; transform:none;}
2783  .cove-infg .lab.l2{transition-delay:.18s;} .cove-infg .lab.l3{transition-delay:.32s;}
2784  .cove-infg .bld{display:block; width:100%; height:auto; clip-path:inset(100% 0 0 0); transition:clip-path 1.05s cubic-bezier(.22,1,.36,1);}
2785  .cove-infg .infg.play .b1{clip-path:inset(0 0 0 0);
2785 transition-delay:.05s;}
2786  .cove-infg .infg.play .b2{clip-path:inset(0 0 0 0); transition-delay:.22s;}
2787  .cove-infg .infg.play .b3{clip-path:inset(0 0 0 0); transition-delay:.38s;}
2788  .cove-infg .infg-nums{display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:2px;}
2789  .cove-infg .nc{display:flex; flex-direction:column; align-items:center;}
2790  .cove-infg .pin{display:flex; flex-direction:column; align-items:center; opacity:0; transition:opacity .5s ease;}
2791  .cove-infg .pin .ln{width:2px; height:22px; background:var(--navy); transform:scaleY(0); transform-origin:top; transition:transform .45s ease;}
2792  .cove-infg .pin .dt{width:9px; height:9px; border-radius:50%; background:var(--navy); margin-top:-1px; transform:scale(0); transition:transform .35s cubic-bezier(.2,.9,.3,1.6);}
2793  .cove-infg .infg.play .pin{opacity:1;} .cove-infg .infg.play .pin .ln{transform:scaleY(1);} .cove-infg .infg.play .pin .dt{transform:scale(1);}
2794  .cove-infg .infg.play .nc1 .pin{transition-delay:.55s;} .cove-infg .infg.play .nc1 .pin .ln{transition-delay:.55s;} .cove-infg .infg.play .nc1 .pin .dt{transition-delay:.85s;}
2795  .cove-infg .infg.play .nc2 .pin{transition-delay:.7s;} .cove-infg .infg.play .nc2 .pin .ln{transition-delay:.7s;} .cove-infg .infg.play .nc2 .pin .dt{transition-delay:1s;}
2796  .cove-infg .infg.play .nc3 .pin{transition-delay:.85s;} .cove-infg .infg.play .nc3 .pin .ln{transition-delay:.85s;} .cove-infg .infg.play .nc3 .pin .dt{transition-delay:1.15s;}
2797  .cove-infg .num{font-size:clamp(21px,6vw,26px); font-weight:800; color:var(--navy); line-height:1; margin-top:11px;}
2798  .cove-infg .nv{font-size:11px; font-weight:700; letter-spacing:.07em; color:var(--navy); opacity:.62; margin-top:6px; text-align:center; line-height:1.25;}
2799  @media (prefers-reduced-motion:reduce){
2800    .cove-infg .bld{clip-path:inset(0 0 0 0); transition:none;}
2801    .cove-infg .lab,.cove-infg .pin,.cove-infg .pin .ln,.cove-infg .pin .dt,.cove-infg .infg-badge{opacity:1; transform:none; transition:none;}
2802  }
2803
2804  /* ===== Mobile optimization ===== */
2805  @media (max-width: 640px){
2806    .wrap { padding: 0 18px; }
2807    .hero { padding: 52px 0 46px; }
2808    .hero h1 { font-size: 31px; }
2809    .hero p.lead { font-size: 16px; }
2810    .section-head { margin-bottom: 38px; }
2811    .section-head h2 { font-size: 27px; }
2812    .section-head p { font-size: 15.5px; }
2813    .approach { padding: 56px 0; }
2814    .caps { padding: 22px 0 56px; }
2815    .roles { padding: 0 0 56px; }
2816    .acint { padding: 56px 0; }
2817    .osos { padding: 56px 0; }
2818    .testi { padding: 0 0 56px; }
2819    .vproof { padding: 0 0 56px; }
2820    .cta { padding: 0 0 60px; }
2821    .cta-card { padding: 44px 22px; }
2822    .cta-card h2 { font-size: 27px; }
2823    .cta-card p { font-size: 16px; }
2824    .vproof-text h3 { font-size: 24px; }
2825    .one-card h3 { font-size: 21px; }
2826    .cap-grid, .role-grid, .testi-grid { gap: 16px; }
2827  }
2828.cove-os .os-window{border:0 !important;border-radius:0 !important;box-shadow:none !important;}</style></head><body><div class=&quot;hero-img&quot; style=&quot;height:100%;width:100%;&quot;><section class=&quot;cove-os&quot; aria-label=&quot;Cove platform showcase&quot;>
2829         <div class=&quot;os-wrap&quot;>
2830          <div class=&quot;os-window&quot;>
2831            <aside class=&quot;os-side&quot;>
2832              <div class=&quot;os-brand&quot;><span class=&quot;cv&quot;><img class=&quot;cove-logo&quot; src=&quot;https://21927082.fs1.hubspotusercontent-na1.net/hubfs/21927082/Cove_Logo_White_Teal_Dot.png?width=140&amp;name=Cove_Logo_White_Teal_Dot.png&quot; alt=&quot;Cove&quot; /></span><svg class=&quot;chev&quot;
2832 viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><path d=&quot;M6 9l6 6 6-6&quot;/></svg></div>
2833              <nav class=&quot;os-nav&quot; id=&quot;osNav&quot;>
2834                <div class=&quot;os-ind&quot; id=&quot;osInd&quot;></div>
2835              </nav>
2836            </aside>
2837            <div class=&quot;os-main&quot;>
2838              <div class=&quot;os-top&quot;>
2839                <div class=&quot;os-crumb&quot; id=&quot;osCrumb&quot;></div>
2840                <div class=&quot;os-search&quot;><svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;7&quot;/><path d=&quot;m21 21-4-4&quot;/></svg>Search...</div>
2841                <div class=&quot;os-icons&quot;>
2842                  <svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><path d=&quot;M18 8a6 6 0 1 0-12 0c0 7-3 9-3 9h18s-3-2-3-9&quot;/><path d=&quot;M13.7 21a2 2 0 0 1-3.4 0&quot;/></svg>
2843                  <svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;9&quot;/><path d=&quot;M9.5 9a2.5 2.5 0 1 1 3.5 2.3c-.7.4-1 .8-1 1.7&quot;/><path d=&quot;M12 17h.01&quot;/></svg>
2844                  <span class=&quot;ava&quot; style=&quot;background:#1D4ED8&quot;>OD</span>
2845                </div>
2846              </div>
2847              <div class=&quot;os-body&quot;>
2848                <div class=&quot;os-screen&quot; id=&quot;osScreen&quot;></div>
2849              </div>
2850            </div>
2851          </div>
2852          <div class=&quot;os-controls&quot;>
2853            <button class=&quot;os-arrow&quot; id=&quot;osPrev&quot; aria-label=&quot;Previous&quot;><svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2.2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;><path d=&quot;M15 18l-6-6 6-6&quot;/></svg></button>
2854            <div class=&quot;os-dots&quot; id=&quot;osDots&quot;></div>
2855            <button class=&quot;os-arrow&quot; id=&quot;osNext&quot; aria-label=&quot;Next&quot;><svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2.2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;><path d=&quot;M9 6l6 6-6 6&quot;/></svg></button>
2856          </div>
2857         </div>
2858        </section></div>
2858<script>
2859/* ===== Platform showcase module ===== */
2860(function(){
2861  var ICON = {
2862    home:'<path d=&quot;M3 11l9-8 9 8&quot;/><path d=&quot;M5 10v10h14V10&quot;/>',
2863    chat:'<path d=&quot;M21 15a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z&quot;/>',
2864    inbox:'<path d=&quot;M3 5h18v14H3z&quot;/><path d=&quot;M3 13h5l2 3h4l2-3h5&quot;/>',
2865    wo:'<path d=&quot;M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18v3h3l6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2-2z&quot;/>',
2866    maint:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;16&quot; rx=&quot;2&quot;/><path d=&quot;M8 4v4M16 4v4M3 10h18&quot;/>',
2867    insp:'<path d=&quot;M9 11l3 3L22 4&quot;/><path d=&quot;M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11&quot;/>',
2868    inc:'<path d=&quot;M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z&quot;/><path d=&quot;M12 9v4M12 17h.01&quot;/>',
2869    dir:'<circle cx=&quot;9&quot; cy=&quot;8&quot; r=&quot;3&quot;/><path d=&quot;M3 20a6 6 0 0 1 12 0&quot;/><path d=&quot;M16 4a3 3 0 0 1 0 6M21 20a6 6 0 0 0-5-5.9&quot;/>',
2870    coi:'<path d=&quot;M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z&quot;/><path d=&quot;M9 12l2 2 4-4&quot;/>',
2871    vis:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;16&quot; rx=&quot;2&quot;/><circle cx=&quot;9&quot; cy=&quot;10&quot; r=&quot;2&quot;/><path d=&quot;M5 17a4 4 0 0 1 8 0M16 9h3M16 13h3&quot;/>',
2872    reports:'<path d=&quot;M3 3v18h18&quot;/><path d=&quot;M7 14l3-4 3 3 4-6&quot;/>',
2873    admin:'<circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;3.2&quot;/><path d=&quot;M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M19.1 4.9L17 7M7 17l-2.1 2.1&quot;/>',
2874    building:'<rect x=&quot;4&quot; y=&quot;3&quot; width=&quot;16&quot; height=&quot;18&quot; rx=&quot;1&quot;/><path d=&quot;M9 7h2M13 7h2M9 11h2M13 11h2M9 15h2M13 15h2&quot;/>',
2875    bolt:'<path d=&quot;M13 2 4 14h7l-1 8 9-12h-7z&quot;/>',
2876    drop:'<path d=&quot;M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z&quot;/>',
2877    user:'<circle cx=&quot;12&quot; cy=&quot;8&quot; r=&quot;4&quot;/><path d=&quot;M4 21a8 8 0 0 1 16 0&quot;/>',
2878    card:'<rect x=&quot;2&quot; y=&quot;5&quot; width=&quot;20&quot; height=&quot;14&quot; rx=&quot;2&quot;/><path d=&quot;M2 10h20&quot;/>',
2879    cal:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;17&quot; rx=&quot;2&quot;/><path d=&quot;M3 9h18M8 2v4M16 2v4&quot;/>',
2880    wind:'<path d=&quot;M3 8h11a3 3 0 1 0-3-3&quot;/><path d=&quot;M3 14h15a3 3 0 1 1-3 3&quot;/>',
2881    spark:'<path d=&quot;M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M18 6l-2.5 2.5M8.5 15.5 6 18&quot;/>'
2882  };
2883  function svg(name){return '<svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;>'+(ICON[name]||'')+'</svg>';}
2884  var NAV = [
2885    ['home','Home'],['chat','Chat'],['inbox','Announcement Inbox'],
2886    ['vis','Visitors'],['cal','Pre-Registration'],['insp','Check-Ins'],['inc','Watchlist'],
2887    
2888    ['dir','Directories'],['card','Access Passes'],['reports','Reports &amp; Analytics'],['admin','Admin']
2889  ];
2890  var navEl = document.getElementById('osNav');
2891  var indEl = document.getElementById('osInd');
2892  if(!navEl) return;
2893  navEl.querySelectorAll('a').forEach(function(a){a.remove();});
2894  NAV.forEach(function(it){
2895    if(it[0]==='cap'){var c=document.createElement('div');c.className='os-cap';c.textContent=it[1];navEl.appendChild(c);return;}
2896    var a=document.createElement('a');a.className='os-item';a.dataset.nav=it[0];
2897    a.innerHTML=svg(it[0])+'<span>'+it[1]+'</span>';navEl.appendChild(a);
2898  });
2899  var navItems = Array.prototype.slice.call(navEl.querySelectorAll('.os-item'));
2900  function site(name){return '<span class=&quot;site&quot;>'+svg('building')+name+'</span>';}
2901  var STMAP = {
2902    'Scheduled':'st-blue','In Progress':'st-blue','Active':'st-blue','Completed':'st-teal','Verified':'st-teal',
2903    'To-Do':'st-amber','Submitted':'st-amber','Accepted':'st-teal','Open':'st-amber','On Hold':'st-red','Expiring Soon':'st-amber','In Review':'st-amber',
2904    'Overdue':'st-red','Expired':'st-red','Action Needed':'st-red','Yes':'st-red',
2905    'High':'st-red','Medium':'st-amber','Low':'st-slate','No':'st-slate',
2906    'On Site':'st-blue','Checked Out':'st-slate','Expected':'st-amber','Flagged':'st-red',
2907    'Approved':'st-blue','Pending':'st-amber','Cleared':'st-blue','Pre-Registered':'st-amber'
2908  };
2909  function pill(label,solid){return '<span class=&quot;pill '+(STMAP[label]||'st-slate')+(solid?' solid':'')+'&quot;>'+label+'</span>';}
2910  var AVC=['#2F6BFF','#5B53E8','#7C3AED','#0EA5E9','#DB7706','#E11D48','#475569','#1D4ED8','#0891B2'];
2911  function avaColor(n){var h=0;for(var i=0;i<n.length;i++)h=(h*31+n.charCodeAt(i))>>>0;return AVC[h%AVC.length];}
2912  function initials(n){var p=n.trim().split(/\s+/);return (p[0][0]+(p[1]?p[1][0]:'')).toUpperCase();}
2913  function who(name){if(name==='Unassigned')return '<span class=&quot;who un&quot;>Unassigned</span>';return '<span class=&quot;who&quot;><span class=&quot;ava&quot; style=&quot;background:'+avaColor(name)+'&quot;>'+initials(name)+'</span>'+name+'</span>';}
2914  var CATIC={'Access Card':['#5B53E8','card'],'Cleaning':['#0EA5E9','spark'],'Concierge':['#475569','user'],'Amenity Reservation':['#7C3AED','cal'],'HVAC':['#2F6BFF','wind'],'Plumbing':['#0EA5E9','drop'],'Electrical':['#DB7706','bolt'],'Janitorial':['#1D4ED8','spark']};
2915  function cat(name){var c=CATIC[name]||['#475569','spark'];return '<span class=&quot;cat&quot;><span class=&quot;ic&quot; style=&quot;background:'+c[0]+'&quot;>'+svg(c[1])+'</span>'+name+'</span>';}
2916  var CATC={'HVAC':'#2F6BFF','Elevator':'#7C3AED','Janitorial':'#DB7706','Life Safety':'#E11D48','Electrical':'#E8A317','Security':'#334155','Plumbing':'#0EA5E9','Pest Control':'#1D4ED8','Exterior':'#DB7706','Logistics':'#475569'};
2917  function catdot(name){return '<span class=&quot;dot&quot; style=&quot;--c:'+(CATC[name]||'#2F6BFF')+'&quot;>'+name+'</span>';}
2918  function tabs(arr){return '<div class=&quot;sc-tabs&quot;>'+arr.map(function(t,i){return '<span class=&quot;sc-tab anim'+(i===0?' on':'')+(t[2]?' alert':'')+'&quot; style=&quot;--d:'+(i*55+120)+'ms&quot;>'+t[0]+' <b>'+t[1]+'</b></span>';}).join('')+'</div>';}
2919  function head(title,sub){return '<div class=&quot;anim&quot;><div class=&quot;sc-title&quot;>'+title+'</div><p class=&quot;sc-sub&quot;>'+sub+'</p></div>';}
2920  function rows(cols, data){
2921    var th='<tr>'+cols.map(function(c){return '<th>'+c+'</th>';}).join('')+'</tr>';
2922    var tr=data.map(function(r,i){
2923      return '<tr class=&quot;anim&quot; style=&quot;--d:'+(i*65+260)+'ms&quot;>'+r.map(function(c){return '<td>'+c+'</td>';}).join('')+'</tr>';
2924    }).join('');
2925    return '<div class=&quot;sc-card anim&quot; style=&quot;--d:200ms&quot;><table class=&quot;sc-tbl&quot;><thead>'+th+'</thead><tbody>'+tr+'</tbody></table></div>';
2926  }
2927  var screens = [
2928    { nav:'vis', crumb:'Front Desk <i>/</i> <b>Visitor Log</b>', render:function(){
2929      return head('Visitor Log','Every guest in the building, across your portfolio.')
2930        + tabs([['All','312'],['On Site','48'],['Checked Out','251'],['Flagged','2',1]])
2931        + rows(['Visitor','Site','Host','Company','Arrival','Status'],[
2932          [who('Dana Lewis'),site('Meridian Plaza'),who('Priya Shah'),'Northwind','9:30 AM',pill('On Site')],
2933          [who('Marco Ruiz'),site('Harbor Point'),who('Liz Braden'),'Acme Co','10:05 AM',pill('On Site')],
2934          [who('Sara Kim'),site('Gateway Tower'),who('Owen Castillo'),'Vertex Inc','8:50 AM',pill('Checked Out')],
2935          [who('Tom Hale'),site('The Lattice'),who('Nadia Brooks'),'Beacon LLC','11:20 AM',pill('Expected')],
2936          [who('Erin Cole'),site('Meridian Plaza'),who('Marcus L
2936ane'),'Pixel Co','9:58 AM',pill('On Site')],
2937          [who('Raj Patel'),site('Vista West'),who('Sela Davis'),'Northwind','7:45 AM',pill('Checked Out')]
2938        ]);
2939    }},
2940    { nav:'cal', crumb:'Front Desk <i>/</i> <b>Pre-Registrations</b>', render:function(){
2941      return head('Pre-Registrations','Guests invited and expected across your buildings.')
2942        + tabs([['All','120'],['Today','42'],['Tomorrow','51'],['This Week','120']])
2943        + rows(['Visitor','Site','Host','Date','Time','Status'],[
2944          [who('Lena Park'),site('Meridian Plaza'),who('Priya Shah'),'Today','2:00 PM',pill('Approved')],
2945          [who('Cole Diaz'),site('Harbor Point'),who('Liz Braden'),'Today','3:30 PM',pill('Approved')],
2946          [who('Mia Wong'),site('Gateway Tower'),who('Owen Castillo'),'Tomorrow','9:00 AM',pill('Pending')],
2947          [who('Sam Reed'),site('The Lattice'),who('Nadia Brooks'),'Tomorrow','11:00 AM',pill('Approved')],
2948          [who('Ivy Chen'),site('Meridian Plaza'),who('Tara Quinn'),'Jun 12','10:30 AM',pill('Approved')],
2949          [who('Leo Fox'),site('Vista West'),who('Sela Davis'),'Jun 13','1:15 PM',pill('Pending')]
2950        ]);
2951    }},
2952    { nav:'insp', crumb:'Front Desk <i>/</i> <b>Check-Ins Today</b>', render:function(){
2953      return head('Check-Ins Today','Live arrivals at the front desk and kiosks.')
2954        + tabs([['All','287'],['Last Hour','34'],['Awaiting Host','6'],['Badges Printed','281']])
2955        + rows(['Visitor','Site','Host','Time','Method','Status'],[
2956          [who('Dana Lewis'),site('Meridian Plaza'),who('Priya Shah'),'9:30 AM','Kiosk',pill('On Site')],
2957          [who('Marco Ruiz'),site('Harbor Point'),who('Liz Braden'),'10:05 AM','Mobile Pass',pill('On Site')],
2958          [who('Owen Black'),site('Gateway Tower'),who('Owen Castillo'),'10:12 AM','Front Desk',pill('On Site')],
2959          [who('Erin Cole'),site('Meridian Plaza'),who('Marcus Lane'),'9:58 AM','QR Pass',pill('On Site')],
2960          [who('Nina Ortiz'),site('The Lattice'),who('Chloe Weber'),'10:20 AM','Kiosk',pill('Expected')],
2961          [who('Paul Adams'),site('Harbor Point'),who('Sela Davis'),'10:24 AM','Front Desk',pill('On Site')]
2962        ]);
2963    }},
2964    { nav:'inc', crumb:'Front Desk <i>/</i> <b>Watchlist</b>', render:function(){
2965      return head('Watchlist Screening','Every arrival screened against your watchlists.')
2966        + tabs([['Screened','312'],['Cleared','310'],['Flagged','2',1]])
2967        + rows(['Visitor','Site','Host','Arrival','Result'],[
2968          [who('Dana Lewis'),site('Meridian Plaza'),who('Priya Shah'),'9:30 AM',pill('Cleared')],
2969          [who('Marco Ruiz'),site('Harbor Point'),who('Liz Braden'),'10:05 AM',pill('Cleared')],
2970          [who('Unknown Guest'),site('Gateway Tower'),who('Front Desk'),'10:11 AM',pill('Flagged',1)],
2971          [who('Sara Kim'),site('Gateway Tower'),who('Owen Castillo'),'8:50 AM',pill('Cleared')],
2972          [who('Erin Cole'),site('Meridian Plaza'),who('Marcus Lane'),'9:58 AM',pill('Cleared')],
2973          [who('Raj Patel'),site('Vista West'),who('Sela Davis'),'7:45 AM',pill('Cleared')]
2974        ]);
2975    }},
2976    { nav:'reports', crumb:'Reports &amp; Analytics <i>/</i> <b>Visitor Analytics</b>', render:function(){
2977      var ctl='<div class=&quot;ch-controls&quot;>'
2978        +'<div class=&quot;ch-ctl anim&quot; style=&quot;--d:120ms&quot;><span>Metric</span><b>Visitor Count</b></div>'
2979        +'<div class=&quot;ch-ctl anim&quot; style=&quot;--d:180ms&quot;><span>Group By</span><b>Site</b></div>'
2980        +'<div class=&quot;ch-ctl anim&quot; style=&quot;--d:240ms&quot;><span>Range</span><b>Today</b></div>'
2981        +'<div class=&quot;ch-ctl anim&quot; style=&quot;--d:300ms&quot;><span>View</span><b>Portfolio</b></div></div>';
2982      var kpis='<div class=&quot;ch-kpis&quot;><div class=&quot;ch-kpi anim&quot; style=&quot;--d:200ms&quot;><span>Total Visitors Today</span><b data-count=&quot;342&quot;>0</b></div>'
2983        +'<div class=&quot;ch-kpi anim&quot; style=&quot;--d:280ms&quot;><span>Avg Check-In (sec)</span><b data-count=&quot;38&quot;>0</b></div></div>';
2984      var data=[['Meridian Plaza',128],['Gateway Tower',96],['Harbor Point',74],['800 District',58],['Vista West',41],['The Lattice',33]];
2985      var max=128;
2986      var bars='<div class=&quot;ch-bars&quot;>'+data.map(function(d,i){
2987        return '<div class=&quot;ch-row anim&quot; style=&quot;--d:'+(i*45+340)+'ms&quot;><div class=&quot;ch-name&quot;>'+d[0]+'</div><div class=&quot;ch-track&quot;><div class=&quot;ch-fill&quot; data-w=&quot;'+(d[1]/max*100)+'&quot; style=&quot;transition-delay:'+(i*45+340)+'ms&quot;><b>'+d[1]+'</b></div></div></div>';
2988      }).join('')+'</div>';
2989      return head('Visitor Analytics','Arrivals, wait times, and peaks across your portfolio.')+ctl+kpis+bars;
2990    }}
2991  ];
2992  function easeOut(t){return 1-Math.pow(1-t,3);}
2993  function countUp(el){
2994    var to=parseInt(el.dataset.count,10), dur=1100, t0=null;
2995    function step(ts){if(!t0)t0=ts;var p=Math.min((ts-t0)/dur,1);
2995el.textContent=Math.round(easeOut(p)*to).toLocaleString();if(p<1)requestAnimationFrame(step);}
2996    requestAnimationFrame(step);
2997  }
2998  function runScreen(el){
2999    setTimeout(function(){el.querySelectorAll('[data-count]').forEach(countUp);},260);
3000    el.querySelectorAll('.stat .track i').forEach(function(i){requestAnimationFrame(function(){requestAnimationFrame(function(){i.style.width=i.dataset.w+'%';});});});
3001    el.querySelectorAll('.ch-fill').forEach(function(f){requestAnimationFrame(function(){requestAnimationFrame(function(){f.style.width=f.dataset.w+'%';setTimeout(function(){f.classList.add('show');},f.dataset.w>14?300:600);});});});
3002  }
3003  var screenEl=document.getElementById('osScreen');
3004  var crumbEl=document.getElementById('osCrumb');
3005  var dotsEl=document.getElementById('osDots');
3006  var idx=0, raf=null, start=0, elapsed=0, paused=false, DWELL=2000;
3007  screens.forEach(function(_,i){var b=document.createElement('button');b.className='os-dot'+(i?'':' is-active');b.innerHTML='<i></i>';b.addEventListener('click',function(){goto(i);});dotsEl.appendChild(b);});
3008  var dots=Array.prototype.slice.call(dotsEl.children);
3009  function moveInd(){
3010    var a=navItems.filter(function(n){return n.classList.contains('active');})[0];
3011    if(!a)return; indEl.style.height=a.offsetHeight+'px'; indEl.style.transform='translateY('+a.offsetTop+'px)';
3012  }
3013  function render(i){
3014    idx=(i+screens.length)%screens.length; var s=screens[idx];
3015    crumbEl.innerHTML=s.crumb;
3016    navItems.forEach(function(n){n.classList.toggle('active',n.dataset.nav===s.nav);});
3017    moveInd();
3018    screenEl.classList.remove('leaving');
3019    screenEl.innerHTML=s.render();
3020    runScreen(screenEl);
3021    dots.forEach(function(d,k){d.classList.toggle('is-active',k===idx);d.firstElementChild.style.width='0%';});
3022    startProgress();
3023  }
3024  function goto(i){screenEl.classList.add('leaving');setTimeout(function(){render(i);},300);}
3025  function startProgress(){
3026    cancelAnimationFrame(raf); start=0; elapsed=0;
3027    function tick(ts){
3028      if(paused){start=ts-elapsed;raf=requestAnimationFrame(tick);return;}
3029      if(!start)start=ts; elapsed=ts-start;
3030      var p=Math.min(elapsed/DWELL,1);
3031      if(dots[idx])dots[idx].firstElementChild.style.width=(p*100)+'%';
3032      if(p>=1){goto(idx+1);return;}
3033      raf=requestAnimationFrame(tick);
3034    }
3035    raf=requestAnimationFrame(tick);
3036  }
3037  document.getElementById('osNext').addEventListener('click',function(){goto(idx+1);});
3038  document.getElementById('osPrev').addEventListener('click',function(){goto(idx-1);});
3039  var win=document.querySelector('.os-window');
3040  win.addEventListener('mouseenter',function(){paused=true;});
3041  win.addEventListener('mouseleave',function(){paused=false;});
3042  document.addEventListener('visibilitychange',function(){paused=document.hidden;});
3043  if('IntersectionObserver' in window){new IntersectionObserver(function(e){paused=!e[0].isIntersecting;},{threshold:.15}).observe(win);}
3044  window.addEventListener('resize',moveInd);
3045  render(0);
3046})();
3047</script>
3047</body></html>" style="position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;pointer-events:none;transition:opacity .45s ease;"></iframe>
3048          <iframe class="cove-os-frame" data-panel="3" title="CoveAI" loading="lazy" srcdoc="<!DOCTYPE html>
3049<html lang=&quot;en&quot;>
3050<head>
3051<meta charset=&quot;UTF-8&quot; />
3052<meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot; />
3053<title>Cove Product Tour, Self-Assembling</title>
3054<link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot; />
3055<link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin />
3056<link href=&quot;https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&amp;display=swap&quot; rel=&quot;stylesheet&quot; />
3057<style>
3058  html,body{margin:0; height:100%; background:transparent;}
3059  .cove-os{
3060    --side:#0e1826; --side-2:#13233a; --navy:#16233c; --ink:#16233c; --ink-2:#3d4d68; --muted:#8494ad;
3061    --blue-600:#2F6BFF; --blue-500:#3D78FF; --blue-tx:#1D4ED8;
3062    --teal:#52c9ec; --teal-d:#1f9fc4;
3063    --amber:#E0901C; --slate:#64748B;
3064    --line:#E6EBF3; --panel:#F5F7FB;
3065    --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
3066    position:relative; isolation:isolate; overflow:hidden; font-family:var(--font);
3067    color:var(--ink); padding:0; height:100%; background:transparent; box-sizing:border-box;
3068  }
3069  .cove-os *,.cove-os *::before,.cove-os *::after{box-sizing:border-box;}
3070  .os-wrap{max-width:none; margin:0; height:100%;}
3071  .os-window{display:flex; height:100%; border-radius:0; overflow:hidden;
3072    background:#fff; border:0; box-shadow:none;
3073    animation:os-pop .8s cubic-bezier(.2,.9,.3,1.2) both;}
3074  @keyframes os-pop{from{opacity:0; transform:translateY(24px) scale(.97);} to{opacity:1; transform:none;}}
3075  .os-side{width:230px; flex:none; background:var(--side); color:#c2cfe4; display:flex; flex-direction:column; padding:16px 12px; overflow:hidden; animation:side-in .7s ease both .1s;}
3076  @keyframes side-in{from{transform:translateX(-30px); opacity:0;} to{transform:none; opacity:1;}}
3077  .os-brand{display:flex; align-items:center; justify-content:space-between; padding:4px 10px 16px;}
3078  .cove-logo{height:29px; width:auto; display:block;}
3079  .os-brand .cv{display:flex; align-items:center; gap:8px;}
3080  .os-brand .chev{width:16px; height:16px; color:#63799e;}
3081  .os-nav{position:relative; display:flex; flex-direction:column; gap:1px; flex:1; overflow:hidden; transition:opacity .3s;}
3082  .os-item{display:flex; align-items:center; gap:11px; padding:9px 11px; border-radius:8px; font-size:12.5px; font-weight:500; color:#9fb0c9; position:relative;}
3083  .os-item svg.i{width:15px; height:15px; flex:none; opacity:.85;}
3084  .os-item .rt{margin-left:auto; display:flex; align-items:center;}
3085  .os-chev{width:13px; height:13px; color:#5f7391;}
3086  .os-item.active{background:rgba(255,255,255,.07); color:#fff; box-shadow:inset 3px 0 0 var(--teal);}
3087  .os-sub{display:flex; align-items:center; padding:7px 11px 7px 42px; border-radius:8px; font-size:11.5px; color:#8598b4; font-weight:500;}
3088  .os-sub .rt{margin-left:auto; display:flex; align-items:center;}
3089  .os-sub.active{color:#fff; font-weight:700;}
3090  .bdg{font-size:10px; font-weight:700; background:#EF4444; color:#fff; min-width:19px; height:18px; padding:0 5px; border-radius:9px; display:grid; place-items:center;}
3091  .os-main{flex:1; background:var(--panel); min-width:0; overflow:hidden;}
3092  .os-body{height:100%; padding:24px 26px; overflow:hidden; position:relative;}
3093  .os-screen{height:100%; transition:opacity .35s ease, filter .35s ease, transform .35s ease;}
3094  .os-screen.leaving{opacity:0; filter:blur(6px); transform:scale(.985);}
3095  .sc-title{font-size:24px; font-weight:800; color:var(--ink); margin:0; letter-spacing:-.01em;}
3096  .sc-sub{font-size:12.5px; color:var(--muted); margin:4px 0 0;}
3097  .pill{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; padding:4px 11px; border-radius:999px;}
3098  .p-blue{color:#fff; background:var(--teal-d);} .p-amber{color:#fff; background:var(--amber);}
3099  .p-slate{color:#fff; background:#93a2b8;}
3100  .btn{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; border-radius:9px; padding:9px 15px; border:1px solid var(--line); background:#fff; color:var(--ink); white-space:nowrap;}
3101  .btn svg{width:15px; height:15px;}
3102  .btn.dark{background:var(--navy); color:#fff; border-color:var(--navy);}
3103  .btn.teal{background:var(--teal-d); color:#fff; border-color:var(--teal-d);}
3104  .btn.mut{color:#aab4c6;}
3105  .spark{color:var(--teal);}
3106  /* screen 1 */
3107  .an-wrap{display:flex; gap:20px; height:100%;}
3108  .an-form{flex:1; min-width:0; overflow:hidden;}
3109  .fl{font-size:12px; font-weight:700; color:var(--ink); margin:16px 0 7px;}
3110  .sec-hd{font-size:15px; font-weight:800; color:var(--ink); margin:18px 0 4px; padding-bottom:8px; border-bottom:1px solid var(--line);}
3111  .help{font-size:11.5px; color:var(--muted); line-height:1.4; margin:8px 0 12px;}
3112  .drop{border:1px solid var(--line); border-radius:9px; padding:11px 13px; background:#fff; display:flex; align-items:center; justify-content:space-between; font-size:13px; color:var(--muted); max-width:520px;}
3113  .drop svg{width:15px; height:15px; color:var(--muted);}
3114  .radio{display:flex; gap:12px; padding:9px 0;}
3115  .rd{width:19px; height:19px; border-radius:50%; border:2px solid #c3cede; flex:none; margin-top:2px; position:relative;}
3116  .rd.on{border-color:var(--blue-600);} .rd.on::after{content:&quot;&quot;; position:absolute; inset:3px; border-radius:50%; background:var(--blue-600);}
3117  .r-h{font-size:13.5px; font-weight:700; color:var(--ink);}
3118  .r-d{font-size:12px; color:var(--ink-2); margin-top:2px; line-height:1.4;}
3119  .r-s{font-size:11px; font-style:italic; color:var(--muted); margin-top:4px;}
3120  .inp{border:1px solid var(--line); border-radius:9px; background:#fff; padding:12px 13px; font-size:13px; color:var(--muted); max-width:640px;}
3121  .ta{border:1px solid var(--line); border-radius:9px; background:#fff; height:150px; max-width:640px; padding:12px 13px; font-size:11.5px; line-height:1.45; color:var(--ink); white-space:pre-wrap; overflow:hidden;}
3122  .an-ai{width:300px; flex:none; border:1px solid var(--line); border-radius:14px; background:#fff; padding:16px; display:flex; flex-direction:column; box-shadow:0 10px 30px -18px rgba(15,35,60,.4);}
3123  .ai-top{display:flex; align-items:center; gap:8px; font-size:15px; font-weight:800; color:var(--ink);}
3124  .ai-top svg{width:16px; height:16px;} .ai-top .x{margin-left:auto; color:var(--muted);}
3125  .ai-sub{font-size:12px; color:var(--muted); margin-top:5px;}
3126  .ai-link{font-size:12px; color:var(--blue-tx); font-weight:600; margin-top:6px; display:block;}
3127  .ai-bubble{background:var(--panel); border-radius:12px; padding:12px; margin-top:16px; font-size:11.5px; color:var(--ink-2); line-height:1.5;}
3128  .ai-bubble b{display:block; font-size:10px; color:var(--muted); font-weight:700; margin-bottom:5px;}
3129  .ai-il{font-size:12px; font-weight:700; color:var(--ink); margin:auto 0 7px;}
3130  .ai-ta{border:1px solid var(--line); border-radius:10px; padding:11px; font-size:11.5px; color:var(--ink); line-height:1.5; min-height:78px; white-space:pre-wrap; overflow:hidden;}
3131  .ai-disc{font-size:10px; color:var(--muted); margin:9px 0; line-height:1.4;}
3132  .ai-gen{background:#cbe9f4; color:#2f6f86; border-radius:10px; padding:12px; text-align:center; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; gap:8px;}
3133  .ai-gen svg{width:15px; height:15px;}
3134  .ai-gen.busy{opacity:.7;}
3135  .tw-cur{display:inline-block; width:0; border-right:2px solid currentColor; height:1em; vertical-align:text-bottom; margin-left:1px; animation:twblink 1s steps(1) infinite;}
3136  @keyframes twblink{50%{opacity:0;}}
3137  /* tables */
3138  .sc-card{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden;}
3139  table.sc-tbl{width:100%; border-collapse:collapse; font-size:12px;}
3140  .sc-tbl th{text-align:left; font-size:9.5px; letter-spacing:.05em; color:var(--muted); font-weight:700; text-transform:uppercase; padding:11px 12px; border-bottom:1px solid var(--line);}
3141  .sc-tbl td{padding:11px 12px; border-bottom:1px solid #F1F4FA; color:var(--ink-2); vertical-align:middle;}
3142  .sc-tbl tr:last-child td{border-bottom:none;}
3143  .sc-tbl .doc{color:var(--ink); font-weight:600; max-width:150px; word-break:break-word; font-size:11.5px;}
3144  .sc-tbl .ven{color:var(--ink); font-weight:600;}
3145  .trash{color:#aab4c6;} .trash svg{width:16px; height:16px;}
3146  .rev{display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:8px; padding:7px 12px; font-size:12px; font-weight:700; color:var(--ink);}
3147  .rev svg{width:14px; height:14px; color:var(--teal);}
3148  .toolbar{display:flex; align-items:center; gap:10px; margin:14px 0 10px;}
3149  .search{flex:1; max-width:360px; border:1px solid var(--line); border-radius:9px; padding:10px 13px; font-size:12.5px; color:var(--muted); background:#fff;}
3150  .rbar{display:flex; align-items:center; justify-content:space-between; margin:0 0 12px; font-size:11.5px; color:var(--muted);}
3151  .rl{display:flex; align-items:center; gap:8px;}
3152  .mini{display:inline-flex; align-items:center; gap:4px; border:1px solid var(--line); border-radius:7px; padding:4px 8px; color:var(--ink); font-weight:600; background:#fff;}
3153  .mini svg{width:12px; height:12px;}
3154  .pg{display:inline-grid; place-items:center; width:26px; height:26px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--muted);}
3155  .pg svg{width:13px; height:13px;}
3156  .seg{display:flex; border:1px solid var(--line); border-radius:9px; overflow:hidden; font-size:11.5px; font-weight:700;}
3157  .seg span{padding:7px 12px; color:var(--muted); display:flex; align-items:center; gap:5px;}
3158  .seg .on{background:#eef2f8; color:var(--ink);}
3159  .cnt{display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:700; color:var(--ink); margin:14px 0 4px;}
3160  .cnt .n{width:30px; height:30px; border-radius:50%; background:var(--navy); color:#fff; display:grid; place-items:center; font-size:13px; font-weight:800;}
3161  /* WO detail */
3162  .wo-actions{display:flex; gap:9px; flex-wrap:wrap;}
3163  .wo-head{display:flex; align-items:center; gap:12px; margin:14px 0 12px;}
3164  .wo-head h1{font-size:24px; font-weight:800; margin:0;}
3165  .wo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; background:#eef1f6; border-radius:12px; padding:15px 18px;}
3166  .wo-grid h4{font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin:0 0 8px; font-weight:700;}
3167  .dl{display:grid; grid-template-columns:auto 1fr; gap:5px 10px; font-size:11.5px;}
3168  .dl dt{color:var(--muted); font-weight:600;} .dl dd{margin:0; color:var(--ink); font-weight:600;}
3169  .ai-sum{background:#EAF4FB; border-radius:12px; padding:13px 16px; margin-top:14px;}
3170  .ai-sum-h{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:800; color:var(--ink); margin-bottom:8px;}
3171  .ai-sum-h svg{width:15px; height:15px; color:var(--teal-d);}
3172  .ai-sum-h .cl{margin-left:auto; color:var(--muted);}
3173  .ai-sum-h .gen{font-size:11px; font-weight:600; color:var(--teal-d); display:inline-flex; align-items:center; gap:2px;}
3174  .ai-sum-h .gen .dots{display:inline-flex; gap:2px; margin-left:4px;}
3175  .ai-sum-h .gen .dots i{width:3px; height:3px; border-radius:50%; background:var(--teal-d); animation:woblink 1s infinite;}
3176  .ai-sum-h .gen .dots i:nth-child(2){animation-delay:.16s;} .ai-sum-h .gen .dots i:nth-child(3){animation-delay:.32s;}
3177  @keyframes woblink{0%,60%,100%{opacity:.25; transform:translateY(0);} 30%{opacity:1; transform:translateY(-2px);}}
3178  .ai-sum ul{margin:0; padding-left:18px;} .ai-sum li{font-size:12px; color:var(--ink-2); margin:4px 0; line-height:1.4;}
3179  .wo-tabs{display:flex; gap:24px; margin:16px 0 12px; border-bottom:1px solid var(--line);}
3180  .wo-tab{font-size:13px; font-weight:700; color:var(--muted); padding-bottom:9px;}
3181  .wo-tab.on{color:var(--ink); box-shadow:inset 0 -3px 0 var(--teal);}
3182  .wo-fields{display:grid; grid-template-columns:1fr 1fr; gap:14px 20px;}
3183  .field label{font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); font-weight:700; display:block; margin-bottom:6px;}
3184  .fsel{border:1px solid var(--line); border-radius:9px; background:#fff; padding:10px 12px; display:flex; align-items:center; gap:9px; font-size:13px; font-weight:600; color:var(--ink);}
3185  .fsel .cd{width:12px; height:12px; border-radius:50%; flex:none;} .fsel svg{width:15px; height:15px; margin-left:auto; color:var(--muted);}
3186  .av{width:22px; height:22px; border-radius:50%; background:#c7d2e0; color:#33455f; font-size:9px; font-weight:800; display:grid; place-items:center; flex:none;}
3187  .bhelp{font-size:10px; font-style:italic; color:var(--muted); margin:-2px 0 6px;}
3188  .chips{border:1px solid var(--line); border-radius:9px; background:#fff; padding:8px 10px; display:flex; align-items:center; gap:7px; flex-wrap:wrap; min-height:40px;}
3189  .chip{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:#fff; padding:4px 9px; border-radius:7px;}
3190  .chip .x{width:13px; height:13px; border-radius:50%; background:rgba(255,255,255,.35); display:grid; place-items:center; font-size:9px;}
3191  .qa{margin-top:16px;} .qa h4{font-size:15px; font-weight:800; margin:0 0 9px;}
3192  .qa-row{display:flex; gap:10px; flex-wrap:wrap;}
3193  /* insights */
3194  .ins-scroll{height:100%; overflow-y:auto; padding-right:4px;}
3195  .ins-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;}
3196  .ins-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
3197  .icard{background:#fff; border:1px solid var(--line); border-radius:12px; padding:13px 15px;}
3198  .ich{display:flex; justify-content:space-between; align-items:flex-start; gap:8px;}
3199  .ich h4{font-size:13px; font-weight:800; color:var(--ink); margin:0;}
3200  .ict{display:flex; gap:8px;
3200 color:#c2ccda; flex:none;} .ict svg{width:13px; height:13px;}
3201  .cs{font-size:9.5px; color:var(--muted); margin:2px 0 8px;}
3202  .donut-wrap{display:flex; align-items:center; gap:10px;}
3203  .donut{position:relative; width:104px; height:104px; flex:none;}
3204  .donut .ctr{position:absolute; inset:0; display:grid; place-items:center; font-size:16px; font-weight:800; color:var(--ink);}
3205  .leg{display:flex; flex-direction:column; gap:5px;} .lgi{display:flex; align-items:center; gap:6px; font-size:10px; color:var(--ink-2); font-weight:600;}
3206  .lgi::before{content:&quot;&quot;; width:8px; height:8px; border-radius:50%; background:var(--c);}
3207  .vbars{display:flex; align-items:flex-end; gap:12px; height:118px; padding-top:14px;}
3208  .vb{flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%;}
3209  .vb .bar{width:70%; max-width:34px; background:var(--c,#2F6BFF); border-radius:5px 5px 0 0; height:0; transition:height .9s cubic-bezier(.22,1,.36,1);}
3210  .vb .vv{font-size:10px; font-weight:700; color:var(--ink); margin-bottom:4px;}
3211  .vb .vl{font-size:9px; color:var(--muted); margin-top:5px; text-align:center; line-height:1.15;}
3212  .hb{display:grid; grid-template-columns:78px 1fr 30px; align-items:center; gap:8px; margin-bottom:6px;}
3213  .hb .nm{font-size:10px; color:var(--ink-2); text-align:right; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
3214  .hb .tk{height:13px; background:#eef2f8; border-radius:4px; overflow:hidden;}
3215  .hb .fl2{height:100%; width:0; background:var(--c,#2F6BFF); border-radius:4px; transition:width .85s cubic-bezier(.22,1,.36,1);}
3216  .hb .vv{font-size:10px; font-weight:700; color:var(--ink);}
3217  .gb{display:flex; align-items:flex-end; gap:9px; height:120px; padding-top:12px;}
3218  .gcat{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%;}
3219  .gpair{display:flex; align-items:flex-end; gap:3px; height:100%; width:100%; justify-content:center;}
3220  .gpair .bar{width:12px; height:0; border-radius:3px 3px 0 0; transition:height .85s cubic-bezier(.22,1,.36,1);}
3221  .gcat .vl{font-size:9px; color:var(--muted); margin-top:5px; text-align:center; line-height:1.15;}
3222  @keyframes rise{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}
3223  @keyframes pop{from{opacity:0; transform:scale(.92);} to{opacity:1; transform:none;}}
3224  @keyframes slideL{from{opacity:0; transform:translateX(34px);} to{opacity:1; transform:none;}}
3225  .anim{opacity:0; animation:rise .55s cubic-bezier(.22,1,.36,1) both; animation-delay:var(--d,0ms);}
3226  .anim-pop{opacity:0; animation:pop .55s cubic-bezier(.2,.9,.3,1.3) both; animation-delay:var(--d,0ms);}
3227  .anim-r{opacity:0; animation:slideL .6s cubic-bezier(.22,1,.36,1) both; animation-delay:var(--d,0ms);}
3228  .os-controls{display:flex; align-items:center; justify-content:center; gap:16px; margin-top:22px;}
3229  .os-arrow{width:40px; height:40px; border-radius:50%; border:1px solid var(--teal); background:rgba(82,201,236,.14); color:#1593b8; cursor:pointer; display:grid; place-items:center; transition:.25s; flex:none;}
3230  .os-arrow:hover{background:var(--teal); border-color:var(--teal); color:#fff; transform:translateY(-2px);}
3231  .os-arrow svg{width:17px; height:17px;}
3232  .os-dots{display:flex; gap:9px;}
3233  .os-dot{--p:0; position:relative; width:30px; height:6px; border-radius:999px; border:none; padding:0; cursor:pointer; background:rgba(82,201,236,.28); overflow:hidden; transition:width .3s;}
3234  .os-dot i{position:absolute; inset:0; width:var(--p); background:linear-gradient(90deg,var(--blue-500),var(--teal)); border-radius:999px;}
3235  .os-dot.is-active{width:44px;}
3236  @media (max-width:820px){ .an-ai{display:none;} .wo-grid,.ins-grid,.wo-fields{grid-template-columns:1fr;} }
3237  @media (prefers-reduced-motion:reduce){
3238    .cove-os .os-window,.cove-os .os-side{animation:none;}
3239    .cove-os .anim,.cove-os .anim-pop,.cove-os .anim-r{animation-duration:.01ms !important; opacity:1;}
3240  }
3241</style>
3242</head>
3243<body style=&quot;margin:0;background:transparent;&quot;>
3244<section class=&quot;cove-os&quot; aria-label=&quot;Cove product tour&quot;>
3245 <div class=&quot;os-wrap&quot;>
3246  <div class=&quot;os-window&quot;>
3247    <aside class=&quot;os-side&quot;>
3248      <div class=&quot;os-brand&quot;>
3249        <span class=&quot;cv&quot;><img class=&quot;cove-logo&quot; src=&quot;https://21927082.fs1.hubspotusercontent-na1.net/hubfs/21927082/Cove_Logo_White_Teal_Dot.png?width=140&amp;name=Cove_Logo_White_Teal_Dot.png&quot; alt=&quot;Cove&quot; /></span>
3250        <svg class=&quot;chev&quot;
3250 viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot;><path d=&quot;M6 9l6 6 6-6&quot;/></svg>
3251      </div>
3252      <nav class=&quot;os-nav&quot; id=&quot;osNav&quot;></nav>
3253    </aside>
3254    <div class=&quot;os-main&quot;><div class=&quot;os-body&quot;><div class=&quot;os-screen&quot; id=&quot;osScreen&quot;></div></div></div>
3255  </div>
3256 </div>
3257</section>
3258<script>
3259(function(){
3260  var I={
3261    wo:'<path d=&quot;M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18v3h3l6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2-2z&quot;/>',
3262    maint:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;16&quot; rx=&quot;2&quot;/><path d=&quot;M8 4v4M16 4v4M3 10h18&quot;/>',
3263    insp:'<path d=&quot;M9 11l3 3L22 4&quot;/><path d=&quot;M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11&quot;/>',
3264    inc:'<path d=&quot;M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z&quot;/><path d=&quot;M12 9v4M12 17h.01&quot;/>',
3265    resv:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;17&quot; rx=&quot;2&quot;/><path d=&quot;M3 9h18M8 2v4M16 2v4&quot;/>',
3266    engage:'<path d=&quot;M3 11l18-8-8 18-2-7-8-3z&quot;/>',
3267    coi:'<path d=&quot;M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z&quot;/><path d=&quot;M9 12l2 2 4-4&quot;/>',
3268    vis:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;16&quot; rx=&quot;2&quot;/><circle cx=&quot;9&quot; cy=&quot;10&quot; r=&quot;2&quot;/><path d=&quot;M5 17a4 4 0 0 1 8 0M16 9h3M16 13h3&quot;/>',
3269    pkg:'<path d=&quot;M12 3l8 4v10l-8 4-8-4V7z&quot;/><path d=&quot;M4 7l8 4 8-4M12 11v10&quot;/>',
3270    log:'<path d=&quot;M3 12h4l2 6 4-14 2 8h6&quot;/>',
3271    insights:'<path d=&quot;M9 21h6M12 3a6 6 0 0 1 4 10.5c-.6.6-1 1.3-1 2.1V17H9v-1.4c0-.8-.4-1.5-1-2.1A6 6 0 0 1 12 3z&quot;/>',
3272    reports:'<path d=&quot;M3 3v18h18&quot;/><path d=&quot;M7 14l3-4 3 3 4-6&quot;/>',
3273    admin:'<circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;3.2&quot;/><path d=&quot;M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M19.1 4.9L17 7M7 17l-2.1 2.1&quot;/>',
3274    po:'<rect x=&quot;5&quot; y=&quot;3&quot; width=&quot;14&quot; height=&quot;18&quot; rx=&quot;2&quot;/><path d=&quot;M9 7h6M9 11h6M9 15h4&quot;/>',
3275    dir:'<circle cx=&quot;9&quot; cy=&quot;8&quot; r=&quot;3&quot;/><path d=&quot;M3.5 20a5.5 5.5 0 0 1 11 0&quot;/><circle cx=&quot;17.5&quot; cy=&quot;9&quot; r=&quot;2.2&quot;/><path d=&quot;M15.5 20a4.2 4.2 0 0 1 6.3-3.2&quot;/>',
3276    forms:'<rect x=&quot;4&quot; y=&quot;3&quot; width=&quot;16&quot; height=&quot;18&quot; rx=&quot;2&quot;/><path d=&quot;M8 9h8M8 13h8M8 17h5&quot;/>',
3277    propset:'<path d=&quot;M3 21h18M5 21V7l7-4 7 4v14M9 21v-5h6v5&quot;/>',
3278    support:'<circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;9&quot;/><path d=&quot;M9.5 9.2a2.5 2.5 0 0 1 4 1.4c0 1.5-2 1.9-2 3&quot;/><path d=&quot;M12 17h.01&quot;/>',
3279    clock:'<circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;9&quot;/><path d=&quot;M12 7v5l3 2&quot;/>',
3280    inbox:'<path d=&quot;M3 12h5l2 3h4l2-3h5&quot;/><path d=&quot;M4 12l2-7h12l2 7v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z&quot;/>',
3281    contact:'<path d=&quot;M21 15a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z&quot;/>',
3282    spark:'<path d=&quot;M12 2l1.6 4.8L18 8l-4.4 1.2L12 14l-1.6-4.8L6 8l4.4-1.2z&quot;/><path d=&quot;M18 13l.8 2.4L21 16l-2.2.6L18 19l-.8-2.4L15 16l2.2-.6z&quot;/>',
3283    x:'<path d=&quot;M18 6 6 18M6 6l12 12&quot;/>', chev:'<path d=&quot;M6 9l6 6 6-6&quot;/>', chevr:'<path d=&quot;M9 6l6 6-6 6&quot;/>', chevu:'<path d=&quot;M18 15l-6-6-6 6&quot;/>',
3284    trash:'<path d=&quot;M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6&quot;/>',
3285    upload:'<path d=&quot;M12 15V3M8 7l4-4 4 4M4 15v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4&quot;/>',
3286    print:'<path d=&quot;M6 9V2h12v7M6 18H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2M6 14h12v8H6z&quot;/>',
3287    edit:'<path d=&quot;M12 20h9&quot;/><path d=&quot;M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z&quot;/>',
3288    back:'<path d=&quot;M19 12H5M11 6l-6 6 6 6&quot;/>',
3289    attach:'<rect x=&quot;3&quot; y=&quot;4&quot; width=&quot;18&quot; height=&quot;14&quot; rx=&quot;2&quot;/><circle cx=&quot;9&quot; cy=&quot;10&quot; r=&quot;2&quot;/><path d=&quot;M4 17l5-4 4 3 3-2 4 3&quot;/>',
3290    plus:'<path d=&quot;M12 5v14M5 12h14&quot;/>'
3291  };
3292  function s(n,w){return '<svg viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;'+(w||2)+'&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;>'+(I[n]||'')+'</svg>';}
3293  function sf(n){return '<svg viewBox=&quot;0 0 24 24&quot; fill=&quot;currentColor&quot;>'+(I[n]||'')+'</svg>';}
3294  function ci(n){return '<svg class=&quot;i&quot;
3294 viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;>'+(I[n]||'')+'</svg>';}
3295  function cv(n){return '<svg class=&quot;os-chev&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2.2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;>'+(I[n]||'')+'</svg>';}
3296  // sidebar spec helpers
3297  function grp(icon,label,o){o=o||{};return {icon:icon,label:label,active:o.active,chev:o.chev,badge:o.badge,subs:o.subs};}
3298  function sub(label,o){o=o||{};return {label:label,active:o.active,chev:o.chev,badge:o.badge};}
3299  function renderNav(spec){
3300    var h='';
3301    spec.forEach(function(g){
3302      var rt='';
3303      if(g.badge)rt='<span class=&quot;bdg&quot;>'+g.badge+'</span>';
3304      else if(g.active&amp;&amp;g.subs)rt=cv('chevu');
3305      else if(g.chev)rt=cv('chev');
3306      h+='<div class=&quot;os-item'+(g.active?' active':'')+'&quot;>'+ci(g.icon)+'<span>'+g.label+'</span><span class=&quot;rt&quot;>'+rt+'</span></div>';
3307      if(g.active&amp;&amp;g.subs){g.subs.forEach(function(sb){
3308        var srt=sb.badge?'<span class=&quot;bdg&quot;>'+sb.badge+'</span>':(sb.chev?cv('chev'):'');
3309        h+='<div class=&quot;os-sub'+(sb.active?' active':'')+'&quot;><span>'+sb.label+'</span><span class=&quot;rt&quot;>'+srt+'</span></div>';
3310      });}
3311    });
3312    return h;
3313  }
3314  // charts
3315  function donut(segs,center,suf){
3316    var r=44,C=2*Math.PI*r,acc=0,arcs='';
3317    segs.forEach(function(sg){var len=sg[0]*C;arcs+='<circle cx=&quot;52&quot; cy=&quot;52&quot; r=&quot;'+r+'&quot; fill=&quot;none&quot; stroke=&quot;'+sg[1]+'&quot; stroke-width=&quot;15&quot; stroke-dasharray=&quot;'+len+' '+(C-len)+'&quot; stroke-dashoffset=&quot;'+(-acc)+'&quot; transform=&quot;rotate(-90 52 52)&quot;/>';acc+=len;});
3318    return '<div class=&quot;donut&quot;><svg viewBox=&quot;0 0 104 104&quot;><circle cx=&quot;52&quot; cy=&quot;52&quot; r=&quot;'+r+'&quot; fill=&quot;none&quot; stroke=&quot;#eef2f8&quot; stroke-width=&quot;15&quot;/>'+arcs+'</svg><div class=&quot;ctr&quot;><span data-count=&quot;'+center+'&quot;'+(suf?' data-suf=&quot;'+suf+'&quot;':'')+'>0</span></div></div>';
3319  }
3320  function head(t){return '<div class=&quot;ich&quot;><h4>'+t+'</h4><span class=&quot;ict&quot;>'+s('edit')+s('trash')+'</span></div>';}
3321  function donutCard(t,sub2,segs,center,suf,leg,d){
3322    var l=leg.map(function(x){return '<span class=&quot;lgi&quot; style=&quot;--c:'+x[1]+'&quot;>'+x[0]+'</span>';}).join('');
3323    return '<div class=&quot;icard anim-pop&quot; style=&quot;--d:'+d+'ms&quot;>'+head(t)+'<div class=&quot;cs&quot;>'+sub2+'</div><div class=&quot;donut-wrap&quot;>'+donut(segs,center,suf)+'<div class=&quot;leg&quot;>'+l+'</div></div></div>';
3324  }
3325  function vbarCard(t,sub2,data,color,d){
3326    var max=Math.max.apply(null,data.map(function(x){return x[1];}));
3327    var bars=data.map(function(x,i){return '<div class=&quot;vb&quot;><div class=&quot;vv&quot;>'+x[1]+'</div><div class=&quot;bar&quot; data-h=&quot;'+(x[1]/max*100)+'&quot; style=&quot;--c:'+color+';transition-delay:'+(d+i*70)+'ms&quot;></div><div class=&quot;vl&quot;>'+x[0]+'</div></div>';}).join('');
3328    return '<div class=&quot;icard anim&quot; style=&quot;--d:'+d+'ms&quot;>'+head(t)+'<div class=&quot;cs&quot;>'+sub2+'</div><div class=&quot;vbars&quot;>'+bars+'</div></div>';
3329  }
3330  function hbarCard(t,sub2,data,color,d){
3331    var max=Math.max.apply(null,data.map(function(x){return x[1];}));
3332    var bars=data.map(function(x,i){return '<div class=&quot;hb&quot;><div class=&quot;nm&quot;>'+x[0]+'</div><div class=&quot;tk&quot;><div class=&quot;fl2&quot; data-w=&quot;'+(x[1]/max*100)+'&quot; style=&quot;--c:'+color+';transition-delay:'+(d+i*55)+'ms&quot;></div></div><div class=&quot;vv&quot;>'+x[1]+'</div></div>';}).join('');
3333    return '<div class=&quot;icard anim&quot; style=&quot;--d:'+d+'ms&quot;>'+head(t)+'<div class=&quot;cs&quot;>'+sub2+'</div><div style=&quot;margin-top:10px&quot;>'+bars+'</div></div>';
3334  }
3335  function groupCard(t,sub2,cats,d){
3336    var max=Math.max.apply(null,cats.map(function(x){return Math.max(x[1],x[2]);}));
3337    var g=cats.map(function(x,i){return '<div class=&quot;gcat&quot;><div class=&quot;gpair&quot;><div class=&quot;bar&quot; data-h=&quot;'+(x[1]/max*100)+'&quot; style=&quot;background:#1f2937;transition-delay:'+(d+i*60)+'ms&quot;></div><div class=&quot;bar&quot; data-h=&quot;'+(x[2]/max*100)+'&quot; style=&quot;background:#EF4444;transition-delay:'+(d+i*60+40)+'ms&quot;></div></div><div class=&quot;vl&quot;>'+x[0]+'</div></div>';}).join('');
3338    return '<div class=&quot;icard anim&quot; style=&quot;--d:'+d+'ms&quot;>'+head(t)+'<div class=&quot;cs&quot;>'+sub2+'</div><div class=&quot;gb&quot;>
3338'+g+'</div></div>';
3339  }
3340  var NAV1=[
3341    grp('engage','Engage',{active:true,subs:[sub('Announcements',{active:true}),sub('App Home Screen'),sub('Highlights'),sub('Events'),sub('Engagement Tags'),sub('Surveys'),sub('Display Management')]}),
3342    grp('po','Purchase Orders',{chev:true}),grp('coi','COI Management',{chev:true}),grp('vis','Visitors',{chev:true}),
3343    grp('pkg','Packages'),grp('log','Activity Log'),grp('insights','Insights by Cove'),
3344    grp('reports','Reports &amp; Analytics',{chev:true}),grp('clock','Time Cards',{chev:true})
3345  ];
3346  var NAV2=[
3347    grp('coi','COI Management',{active:true,subs:[sub('AI Review',{active:true,badge:'25'}),sub('Tenant COIs'),sub('Vendor COIs'),sub('COI Setup',{chev:true})]}),
3348    grp('vis','Visitors',{chev:true}),grp('pkg','Packages'),grp('log','Activity Log'),grp('insights','Insights by Cove'),
3349    grp('reports','Reports &amp; Analytics',{chev:true}),grp('clock','Time Cards',{chev:true}),
3350    grp('forms','Waivers/Forms',{chev:true}),grp('propset','Property Setup',{chev:true}),grp('support','Support'),grp('admin','Admin',{chev:true})
3351  ];
3352  var NAV3=[
3353    grp('wo','Work Orders',{active:true,subs:[sub('Tenant Updates (0)'),sub('New in My Groups (0)'),sub('Assigned to Me (2)'),sub('Open Work Orders (1127)'),sub('Upcoming Work Orders (26)'),sub('All Work Orders',{active:true}),sub('Review and Billing',{chev:true}),sub('Work Order Setup',{chev:true})]}),
3354    grp('maint','Maintenance',{chev:true}),grp('insp','Inspections',{chev:true}),grp('inc','Incidents',{chev:true}),
3355    grp('resv','Reservations',{chev:true}),grp('dir','Directories',{chev:true}),grp('engage','Engage',{chev:true})
3356  ];
3357  var NAV4=[
3358    grp('inbox','Announcement Inbox'),grp('contact','Contact Hub',{chev:true}),grp('wo','Work Orders',{chev:true}),
3359    grp('maint','Maintenance',{chev:true}),grp('insp','Inspections',{chev:true}),grp('inc','Incidents',{chev:true}),
3360    grp('dir','Directories',{chev:true}),grp('engage','Engage',{chev:true}),grp('coi','COI Management',{chev:true}),
3361    grp('vis','Visitors',{chev:true}),grp('insights','Insights by Cove',{active:true}),
3362    grp('reports','Reports &amp; Analytics',{chev:true}),grp('propset','Property Team',{chev:true}),grp('admin','Admin',{chev:true})
3363  ];
3364  var screens=[
3365    { nav:NAV1, dwell:13500, render:function(){
3366      var form='<div class=&quot;an-form&quot;>'
3367        +'<h1 class=&quot;sc-title anim&quot;>New Announcement</h1>'
3368        +'<div class=&quot;sec-hd anim&quot; style=&quot;--d:80ms&quot;>Announcement Type</div>'
3369        +'<div class=&quot;help anim&quot; style=&quot;--d:120ms&quot;>Announcement types help organize communications, determine the sender name recipients see, and let recipients opt in or out of each type.</div>'
3370        +'<div class=&quot;radio anim&quot; style=&quot;--d:170ms&quot;><span class=&quot;rd on&quot;></span><div><div class=&quot;r-h&quot;>Property Communications</div><div class=&quot;r-s&quot;>Sent From Name: Cove Property Team ([email protected])</div></div></div>'
3371        +'<div class=&quot;radio anim&quot; style=&quot;--d:220ms&quot;><span class=&quot;rd&quot;></span><div><div class=&quot;r-h&quot;>Marketing Announcements</div><div class=&quot;r-s&quot;>Sent From Name: Promotional Offer ([email protected])</div></div></div>'
3372        +'<div class=&quot;radio anim&quot; style=&quot;--d:270ms&quot;><span class=&quot;rd&quot;></span><div><div class=&quot;r-h&quot;>Emergency Messages</div><div class=&quot;r-s&quot;>Sent From Name: Cove Emergency Team ([email protected])</div></div></div>'
3373        +'<div class=&quot;sec-hd anim&quot; style=&quot;--d:340ms&quot;>Email Content</div>'
3374        +'<div class=&quot;fl anim&quot; style=&quot;--d:380ms&quot;>Subject *</div><div class=&quot;inp anim&quot; id=&quot;aiSubj&quot; style=&quot;--d:410ms;color:#16233c&quot;></div>'
3375        +'<div class=&quot;fl anim&quot; style=&quot;--d:450ms&quot;>Message Body *</div><div class=&quot;ta anim&quot; id=&quot;aiBody&quot; style=&quot;--d:480ms&quot;></div>'
3376        +'</div>';
3377      var ai='<aside class=&quot;an-ai anim-r&quot; style=&quot;--d:260ms&quot;>'
3378        +'<div class=&quot;ai-top&quot;><span class=&quot;spark&quot;>'+sf('spark')+'</span>CoveAI Assistant<span class=&quot;x&quot;>'+s('x')+'</span></div>'
3379        +'<div class=&quot;ai-bubble&quot;><b>coveAI</b>Try &quot;Create an Announcement about planned building maintenance and building access&quot; and include a few relevant details.</div>'
3380        +'<div class=&quot;ai-il&quot;>Type Your Instructions</div>'
3381        +'<div class=&quot;ai-ta&quot; id=&quot;aiInput&quot;></div>'
3382        +'<div class=&quot;ai-disc&quot;>AI-generated content may contain errors. Please review carefully before using or publishing.</div>'
3383        +'<div class=&quot;ai-gen&quot; id=&quot;aiGen&quot;>'+sf('spark')+'Generate Announcement</div>'
3384        +'</aside>';
3385      return '<div class=&quot;an-wrap&quot;>'+form+ai+'</div>';
3386    }, boot:function(el,token){
3387      var input=el.querySelector('#aiInput'), subj=el.querySelector('#aiSubj'), body=el.querySelector('#aiBody'), btn=el.querySelector('#aiGen');
3388      var genHTML=sf('spark')+'Generate Announcement';
3389      var prompt=&quot;Announce our Local Eats Festival, starts today at noon, with local vendors coming to the lobby.&quot;;
3390      var subject=&quot;Local Eats Festival starts today at noon in the lobby&quot;;
3391      var bodyText=&quot;Hi everyone,\n\nOur Local Eats Festival starts today at noon in the lobby, with local vendors sharing their best bites. Come hungry and say hello.\n\nSee you downstairs,\nThe Property Team&quot;;
3392      setTimeout(function(){ if(token!==gen)return;
3393        typeInto(input,prompt,32,token,function(){
3394          if(btn){btn.classList.add('busy'); btn.textContent='Generating...';}
3395          setTimeout(function(){ if(token!==gen)return;
3396            if(btn){btn.classList.remove('busy'); btn.innerHTML=genHTML;}
3397            typeInto(subj,subject,26,token,function(){
3398              typeInto(body,bodyText,16,token);
3399            });
3400          },1000);
3401        });
3402      },1100);
3403    }},
3404    { nav:NAV2, render:function(){
3405      function issue(k){return k==='i'?'<span class=&quot;pill p-amber&quot;>ISSUES FOUND</span>':'<span class=&quot;pill p-slate&quot;>NONE</span>';}
3406      var rows=[
3407        ['Tenant_Lease_COI_Suite200.pdf','Apex Global Solutions','3','i','Oct 10, 2024','COI_1234A'],
3408        ['Vendor_Cleaning_COI_Q3.pdf','Pristine Cleaning Services','4','i','Oct 09, 2024','COI_5678B'],
3409        ['Contractor_HVAC_Maint.pdf','AirComfort Systems Inc.','4','n','Oct 08, 2024','COI_5678C'],
3410        ['Tenant_Lease_COI_Suite401.pdf','TechFlow Enterprises','3','i','Oct 08, 2024','COI_5678D'],
3411        ['Security_Service_COI.pdf','SecureGuard Services','4','i','Oct 07, 2024','COI_5678F'],
3412        ['Parking_Vendor_COI.pdf','City Park Inc.','4','i','Oct 07, 2024','COI_5678G'],
3413        ['Vendor_Landscaping_COI.pdf','GreenScape Designs','4','n','Oct 07, 2024','COI_5678H']
3414      ];
3415      var tr=rows.map(function(r,i){return '<tr class=&quot;anim&quot; style=&quot;--d:'+(i*55+360)+'ms&quot;><td><span class=&quot;trash&quot;>'+s('trash')+'</span></td>'
3416        +'<td><span class=&quot;rev&quot;>'+s('spark',0)+'Review</span></td>'
3417        +'<td class=&quot;doc&quot;>'+r[0]+'</td><td>
3417<span class=&quot;pill p-blue&quot;>READY</span></td><td class=&quot;ven&quot;>'+r[1]+'</td>'
3418        +'<td style=&quot;text-align:center;font-weight:700;color:#16233c&quot;>'+r[2]+'</td><td>'+issue(r[3])+'</td>'
3419        +'<td style=&quot;color:#8494ad&quot;>'+r[4]+'</td><td style=&quot;color:#8494ad&quot;>'+r[5]+'</td></tr>';}).join('');
3420      return '<div style=&quot;display:flex;align-items:flex-start;justify-content:space-between;gap:12px&quot; class=&quot;anim&quot;><div><h1 class=&quot;sc-title&quot;>AI Review - COI Document Intake</h1><p class=&quot;sc-sub&quot;>Documents extracted with coveAI that are ready for review and intake below.</p></div><span class=&quot;btn teal&quot;>'+sf('spark')+'Upload COIs</span></div>'
3421        +'<div class=&quot;cnt anim&quot; style=&quot;--d:120ms&quot;><span class=&quot;n&quot; data-count=&quot;35&quot;>0</span> Documents Needing Review</div>'
3422        +'<div class=&quot;toolbar anim&quot; style=&quot;--d:180ms&quot;><span class=&quot;search&quot;>Search by Object ID</span><span class=&quot;btn&quot;>Filter</span></div>'
3423        +'<div class=&quot;rbar anim&quot; style=&quot;--d:230ms&quot;><div class=&quot;rl&quot;>Showing 1-35 of 35 results <span class=&quot;mini&quot;>100'+s('chev')+'</span><span class=&quot;pg&quot;>'+s('chev')+'</span><span class=&quot;pg&quot;>'+s('chevr')+'</span></div><div class=&quot;seg&quot;><span class=&quot;on&quot;>Standard</span><span>Compact</span></div></div>'
3424        +'<div class=&quot;sc-card anim&quot; style=&quot;--d:290ms&quot;><table class=&quot;sc-tbl&quot;><thead><tr><th>Actions</th><th>Review</th><th>Extracted Document</th><th>Status</th><th>Tenant / Vendor</th><th>Policies Found</th><th>Potential Issues</th><th>Date Uploaded</th><th>Object ID</th></tr></thead><tbody>'+tr+'</tbody></table></div>';
3425    }},
3426    { nav:NAV3, dwell:9000, render:function(){
3427      var actions='<div class=&quot;wo-actions anim&quot;><span class=&quot;btn dark&quot;>'+s('print')+'Print Overview</span><span class=&quot;btn&quot;>'+s('edit')+'Edit Key Details</span><span class=&quot;btn mut&quot;>'+s('chev')+'Prev WO</span><span class=&quot;btn&quot;>Next WO'+s('chevr')+'</span></div>';
3428      var grid='<div class=&quot;wo-grid anim&quot; style=&quot;--d:160ms&quot;>'
3429        +'<div><h4>Ticket Details</h4><dl class=&quot;dl&quot;><dt>ID:</dt><dd>#WO-1234</dd><dt>Submitted:</dt><dd>May 15, 2024 10:00 AM</dd><dt>Category:</dt><dd>Plumbing</dd><dt>Issue Type:</dt><dd>Leak</dd><dt>Escalated:</dt><dd>No</dd></dl></div>'
3430        +'<div><h4>Location</h4><dl class=&quot;dl&quot;><dt>Suite:</dt><dd>400</dd><dt>Floor:</dt><dd>4th</dd><dt>Building:</dt><dd>Metropolis Tower</dd><dt>Lease Code:</dt><dd>B-123</dd><dt>Equipment:</dt><dd>Restroom Sink</dd></dl></div>'
3431        +'<div><h4>Tenant</h4><dl class=&quot;dl&quot;><dt>Tenant:</dt><dd>Acme Corp.</dd><dt>Created For:</dt><dd>Jane Doe</dd><dt>Email:</dt><dd>[email protected]</dd><dt>Phone:</dt><dd>555-1212</dd></dl></div></div>';
3432      var sum='<div class=&quot;ai-sum anim&quot; style=&quot;--d:240ms&quot;><div class=&quot;ai-sum-h&quot;>'+s('spark',0)+'CoveAI Summary<span class=&quot;gen&quot; id=&quot;woGen&quot;>Generating<span class=&quot;dots&quot;><i></i><i></i><i></i></span></span><span class=&quot;cl&quot;>'+s('chevu')+'</span></div><ul id=&quot;woSum&quot;></ul></div>';
3433      var tabs='<div class=&quot;wo-tabs anim&quot; style=&quot;--d:320ms&quot;><span class=&quot;wo-tab on&quot;>Overview</span><span class=&quot;wo-tab&quot;>Materials (0)</span><span class=&quot;wo-tab&quot;>Labor (0)</span><span class=&quot;wo-tab&quot;>Purchase Orders (0)</span><span class=&quot;wo-tab&quot;>Invoice</span></div>';
3434      var fields='<div class=&quot;field&quot; style=&quot;grid-column:1/-1&quot;><label>Description</label><div style=&quot;font-size:13px;color:#3d4d68;line-height:1.5&quot;>Active water leak under the sink in the main 4th-floor restroom. Floor is wet.</div></div>'
3435        +'<div class=&quot;field&quot;><label>Status</label><div class=&quot;fsel&quot;><span class=&quot;cd&quot; style=&quot;background:#E0901C&quot;></span>
3435Open'+s('chev')+'</div></div>'
3436        +'<div class=&quot;field&quot;><label>Assigned To</label><div class=&quot;fsel&quot;><span class=&quot;av&quot;>MS</span>Mike Smith (Maintenance Tech)'+s('chev')+'</div></div>'
3437        +'<div class=&quot;field&quot;><label>Groups</label><div class=&quot;chips&quot;><span class=&quot;chip&quot; style=&quot;background:#2f9fc4&quot;>Plumbing<span class=&quot;x&quot;>&amp;times;</span></span></div></div>'
3438        +'<div class=&quot;field&quot;><label>Tags</label><div class=&quot;chips&quot;><span class=&quot;chip&quot; style=&quot;background:#EF4444&quot;>Urgent<span class=&quot;x&quot;>&amp;times;</span></span><span class=&quot;chip&quot; style=&quot;background:#64748B&quot;>Water Damage<span class=&quot;x&quot;>&amp;times;</span></span></div></div>'
3439        +'<div class=&quot;field&quot;><label>Billing Verification</label><div class=&quot;bhelp&quot;>Must be in Closed status to verify.</div><div class=&quot;fsel&quot;><span class=&quot;cd&quot; style=&quot;background:#93a2b8&quot;></span>Pending Review'+s('chev')+'</div></div>';
3440      var qa='<div class=&quot;qa anim&quot; style=&quot;--d:540ms&quot;><h4>Quick Actions</h4><div class=&quot;qa-row&quot;><span class=&quot;btn&quot;>'+s('edit')+'Add a Note</span><span class=&quot;btn&quot;>'+s('attach')+'Upload Attachment</span><span class=&quot;btn&quot;>'+s('plus')+'Add Material</span><span class=&quot;btn&quot;>'+s('wo')+'Add Labor</span></div></div>';
3441      return '<div style=&quot;display:flex;align-items:center;justify-content:space-between;gap:12px&quot;><span class=&quot;btn anim&quot;>'+s('back')+'Back</span>'+actions+'</div>'
3442        +'<div class=&quot;wo-head anim&quot; style=&quot;--d:90ms&quot;><h1>Office Services</h1><span class=&quot;pill p-amber&quot;>SUBMITTED</span></div>'
3443        +grid+sum+tabs
3444        +'<div class=&quot;wo-fields anim&quot; style=&quot;--d:400ms&quot;>'+fields+'</div>'+qa;
3445    }, boot:function(el,token){
3446      var ul=el.querySelector('#woSum'), gtag=el.querySelector('#woGen');
3447      var bullets=[
3448        &quot;Acme Corp. submitted a request for a plumbing leak in the 4th floor restroom, suite 400.&quot;,
3449        &quot;The work order was created and submitted by Jane Doe on May 15, 2024.&quot;,
3450        &quot;The work order status is currently Open.&quot;,
3451        &quot;Mike Smith was assigned to the request.&quot;
3452      ];
3453      if(!ul)return;
3454      function typeBullets(n){
3455        if(token!==gen)return;
3456        if(n>=bullets.length){ if(gtag)gtag.style.display='none'; return; }
3457        var li=document.createElement('li'); ul.appendChild(li);
3458        typeInto(li,bullets[n],12,token,function(){ typeBullets(n+1); });
3459      }
3460      setTimeout(function(){ if(token!==gen)return; typeBullets(0); },1000);
3461    }},
3462    { nav:NAV4, render:function(){
3463      var top='<div class=&quot;ins-head anim&quot;><h1 class=&quot;sc-title&quot;>Insights</h1><div style=&quot;display:flex;gap:9px&quot;><span class=&quot;btn&quot;>Operations Metrics &amp; Insights'+s('chev')+'</span><span class=&quot;btn&quot;>Edit Board</span><span class=&quot;btn&quot;>New Board</span></div></div>';
3464      var leg=[['Open','#2F6BFF'],['In Progress','#E0901C'],['Closed','#16233c']];
3465      var row1='<div class=&quot;ins-grid&quot;>'
3466        +donutCard('Work Orders by Status','Last 3 months - Opened At',[[.55,'#2F6BFF'],[.18,'#E0901C'],[.27,'#16233c']],2500,'',leg,120)
3467        +donutCard('PMs by Status','Last 3 months - Opened At',[[.6,'#2F6BFF'],[.15,'#E0901C'],[.25,'#16233c']],1200,'',leg,200)
3468        +donutCard('Inspections','Last 3 months - Opened At',[[.62,'#2F6BFF'],[.16,'#E0901C'],[.22,'#16233c']],450,'',leg,280)
3469        +'</div>';
3470      var row2='<div class=&quot;ins-grid&quot; style=&quot;margin-top:12px&quot;>'
3471        +vbarCard('Work Orders by Month','Last 3 months - Count',[['Apr',600],['May',650],['Jun',700],['Jul',550]],'#2F6BFF',360)
3472        +hbarCard('Work Order Issue Types','Last 3 months - Count',[['HVAC',300],['Plumbing',250],['Electrical',200],['Gen. Maint',150],['Cleaning',100]],'#2f9fc4',440)
3473        +groupCard('Incidents by Category','Last 3 months - Count',[['HVAC',12,8],['Plumbing',35,22],['Electrical',27,22],['Security',18,13],['Slip',7,6]],520)
3474        +'</div>';
3475      var row3='<div class=&quot;ins-grid&quot; style=&quot;margin-top:12px&quot;>'
3476        +hbarCard('Work Orders by Tenant','Last 3 months - Count',[['Global Corp',400],['Tech Solutions',350],['Law Firm LLP',250],['Finance Group',200],['CTC Holdings',200],['Paul Weiss',150]],'#2f9fc4',600)
3477        +vbarCard('Incidents by Building','Last 3 months - Count',[['Metropolis',50],['Park Ave',40],['Commerce',30],['1140 19th',30],['Riverside',20],['Midtown',15]],'#2f9fc4',680)
3478        +donutCard('Labor by Work Type','Last 3 months - 6,500 hrs',[[.4,'#2F6BFF'],[.28,'#EF4444'],[.2,'#8b5cf6'],[.12,'#E0901C']],6500,'',[['HVAC','#2F6BFF'],['Plumbing','#EF4444'],['Electrical','#8b5cf6'],['General','#E0901C']],760)
3479        +'</div>';
3480      return '<div class=&quot;ins-scroll&quot;>'+top+row1+row2+row3+'</div>';
3481    }}
3482  ];
3483  function easeOut(t){return 1-Math.pow(1-t,3);}
3484  function countUp(el){var to=parseInt(el.dataset.count,10),suf=el.dataset.suf||'',dur=1100,t0=null;
3484function st(ts){if(!t0)t0=ts;var p=Math.min((ts-t0)/dur,1);el.textContent=Math.round(easeOut(p)*to).toLocaleString()+suf;if(p<1)requestAnimationFrame(st);}requestAnimationFrame(st);}
3485  function typeInto(el,text,speed,token,cb){
3486    if(!el){if(cb)cb();return;}
3487    el.textContent='';var cur=document.createElement('span');cur.className='tw-cur';el.appendChild(cur);var i=0;
3488    (function tick(){ if(token!==gen)return;
3489      if(i<text.length){cur.insertAdjacentText('beforebegin',text.charAt(i));i++;setTimeout(tick,speed);}
3490      else{if(cur.parentNode)cur.parentNode.removeChild(cur); if(cb)setTimeout(function(){if(token===gen)cb();},450);}
3491    })();
3492  }
3493  function runScreen(el){
3494    setTimeout(function(){el.querySelectorAll('[data-count]').forEach(countUp);},300);
3495    el.querySelectorAll('[data-w]').forEach(function(f){requestAnimationFrame(function(){requestAnimationFrame(function(){f.style.width=f.dataset.w+'%';});});});
3496    el.querySelectorAll('[data-h]').forEach(function(f){requestAnimationFrame(function(){requestAnimationFrame(function(){f.style.height=f.dataset.h+'%';});});});
3497  }
3498  var scEl=document.getElementById('osScreen'), navEl=document.getElementById('osNav');
3499  var idx=0, gen=0, raf=null, start=0, elapsed=0, paused=false, DWELL=6400;
3500  function render(i){
3501    gen++;
3502    idx=(i+screens.length)%screens.length;var sc=screens[idx];
3503    navEl.style.opacity=0;
3504    navEl.innerHTML=renderNav(sc.nav);
3505    requestAnimationFrame(function(){navEl.style.opacity=1;});
3506    scEl.classList.remove('leaving');scEl.innerHTML=sc.render();runScreen(scEl);
3507    if(sc.boot)sc.boot(scEl,gen);
3508    startProgress();
3509  }
3510  function goto(i){scEl.classList.add('leaving');setTimeout(function(){render(i);},300);}
3511  function startProgress(){cancelAnimationFrame(raf);start=0;elapsed=0;var dw=(screens[idx]&amp;&amp;screens[idx].dwell)||DWELL;
3512    function tick(ts){if(paused){start=ts-elapsed;raf=requestAnimationFrame(tick);return;}if(!start)start=ts;elapsed=ts-start;var p=Math.min(elapsed/dw,1);if(p>=1){goto(idx+1);return;}raf=requestAnimationFrame(tick);}
3513    raf=requestAnimationFrame(tick);}
3514  var win=document.querySelector('.os-window');
3515  win.addEventListener('mouseenter',function(){paused=true;});win.addEventListener('mouseleave',function(){paused=false;});
3516  document.addEventListener('visibilitychange',function(){paused=document.hidden;});
3517  if('IntersectionObserver' in window){new IntersectionObserver(function(e){paused=!e[0].isIntersecting;},{threshold:.15}).observe(win);}
3518  render(0);
3519})();
3520</script>
3520
3521</body>
3522</html>
3523" style="position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;pointer-events:none;transition:opacity .45s ease;"></iframe>
3524        </div>
3525      </div>
3526    </div>
3527  </div>
3528</section>
3529
3530
3531</div>
3532
3533<!-- ===== UNIFY & SCALE ===== -->
3534<div class="cove-home-section">
3535<section style="padding:72px 24px 24px; font-family:'Inter',-apple-system,sans-serif; background:transparent;">
3536  <div style="max-width:1240px; margin:0 auto;">
3537    <div style="display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px;">
3538      <div style="padding:32px; border-radius:20px; background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%); border:1px solid rgba(0,53,103,0.08); box-shadow:0 12px 30px -16px rgba(0,53,103,0.12);">
3539        <div style="width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eafaff 0%,#c6ecfa 100%);color:#003567;margin-bottom:18px;"><svg width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7" rx="1" /><rect x="14" y="3" width="7" height="7" rx="1" /><rect x="3" y="14" width="7" height="7" rx="1" /><rect x="14" y="14" width="7" height="7" rx="1" /></svg></div>
3540        <h3 style="font-family:'Sora',sans-serif; font-size:21px; font-weight:700; color:#003567; margin:0 0 8px;">Unified Tech Stack</h3>
3541        <p style="font-size:15px; color:#4a6580; margin:0; line-height:1.6;">Eliminate operational silos and reduce costs by managing every system through a single, connected foundation.</p>
3542      </div>
3543      <div style="padding:32px; border-radius:20px; background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%); border:1px solid rgba(0,53,103,0.08); box-shadow:0 12px 30px -16px rgba(0,53,103,0.12);">
3544        <div style="width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eafaff 0%,#c6ecfa 100%);color:#003567;margin-bottom:18px;"><svg width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l2.4 6.6L21 11l-6.6 2.4L12 20l-2.4-6.6L3 11l6.6-2.4z" /></svg></div>
3545        <h3 style="font-family:'Sora',sans-serif; font-size:21px; font-weight:700; color:#003567; margin:0 0 8px;">Instant Intelligence</h3>
3546        <p style="font-size:15px; color:#4a6580; margin:0; line-height:1.6;">Automate everyday workflows with evolving AI built alongside leading property teams.</p>
3547      </div>
3548      <div style="padding:32px; border-radius:20px; background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%); border:1px solid rgba(0,53,103,0.08); box-shadow:0 12px 30px -16px rgba(0,53,103,0.12);">
3549        <div style="width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eafaff 0%,#c6ecfa 100%);color:#003567;margin-bottom:18px;"><svg width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="m11 17 2 2a1 1 0 1 0 3-3" /><path d="m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4" /><path d="m21 3 1 11h-2" /><path d="M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3" /><path d="M3 4h8" /></svg></div>
3550        <h3 style="font-family:'Sora',sans-serif; font-size:21px; font-weight:700; color:#003567; margin:0 0 8px;">Proven Partnership</h3>
3551        <p style="font-size:15px; color:#4a6580; margin:0; line-height:1.6;">Stay aligned with your long-term goals through high-touch engagement and real-world iteration.</p>
3552      </div>
3553    </div>
3554  </div>
3555</section>
3556</div>
3557
3558<!-- ===== TAILORED SOLUTIONS ===== -->
3559<div class="cove-home-section">
3560<section style="position: relative; padding: 96px 24px; overflow: hidden; font-family: 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color: #0b1f36; line-height: 1.5; -webkit-font-smoothing: antialiased; background: transparent;">
3561<div style="max-width: 1240px; margin: 0 auto; position: relative; z-index: 1;">
3562<div style="text-align: center; max-width: 760px; margin: 0 auto 64px;"><span class="cove-eyebrow" style="display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #003567; padding: 8px 14px; border-radius: 999px; background: rgba(82,201,236,0.14); border: 1px solid rgba(82,201,236,0.35); margin-bottom: 24px;"> <span style="display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #52C9EC; box-shadow: 0 0 0 4px rgba(82,201,236,0.22);"></span> Built for your team </span>
3563<h2 class="cove-std-title cove-nowrap" style="font-family: 'Sora','Inter',-apple-system,sans-serif; font-weight: bold; font-size: clamp(32px,4.4vw,52px); line-height: 1.08; letter-spacing: -0.02em; color: #003567; margin: 0 0 18px; text-align: center;">Tailored Solutions for<span style="display: block; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;">Every Stakeholder</span></h2>
3564<p class="cove-std-sub" style="font-size: 17px; color: #4a6580; margin: 0 auto; max-width: 720px;">One platform, three perspectives. Cove adapts to how your team actually works, whether you're running operations, managing assets, or keeping systems online.</p>
3565</div>
3566<div style="display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: 24px;">
3567<article style="position: relative; padding: 36px; border-radius: 22px; background: linear-gradient(180deg,#ffffff 0%,#f6fbff 100%); border: 1px solid rgba(0,53,103,0.08); box-shadow: 0 12px 30px -14px rgba(0,53,103,0.14),0 2px 4px rgba(0,53,103,0.04); display: flex; flex-direction: column;">
3568<div style="display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 28px;">
3569<div style="width: 60px; height: 60px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg,#ffffff 0%,rgba(82,201,236,0.22) 100%); border: 1px solid rgba(82,201,236,0.4); box-shadow: inset 0 1px 0 rgba(255,255,255,0.8),0 6px 18px -6px rgba(82,201,236,0.5); color: #003567;"><svg width="28" height="28" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="width: 28px; height: 28px; display: block;"><path d="M3 21h18"></path><path d="M6 21V5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16"></path><path d="M14 21V10h3a1 1 0 0 1 1 1v10"></path><path d="M9 8h2"></path><path d="M9 12h2"></path><path d="M9 16h2"></path></svg></div>
3570<span style="font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(0,53,103,0.6); padding: 6px 10px; border-radius: 999px; background: rgba(0,53,103,0.06);">01 / Operators</span></div>
3571<h3 style="font-family: 'Sora','Inter',-apple-system,sans-serif; font-weight: bold; font-size: 24px; color: #003567; margin: 0 0 10px; letter-spacing: -0.01em;">Property Managers</h3>
3572<p style="font-size: 15px; color: #4a6580; margin: 0 0 24px; line-height: 1.6;">Stop jumping between systems. Run operations, visitors, and tenant requests in one platform while AI automates the routine work.</p>
3573<ul style="list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-direction: column; gap: 10px;">
3574<li style="list-style: none; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #003567;"><span style="flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); display: inline-flex; align-items: center; justify-content: center; color: #ffffff;"> <svg width="10" height="10" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="width: 10px; height: 10px; display: block;"><polyline points="20 6 9 17 4 12"></polyline></svg> </span>Tenants get answers instantly</li>
3575<li style="list-style: none; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #003567;"><span style="flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); display: inline-flex; align-items: center; justify-content: center; color: #ffffff;"> <svg width="10" height="10" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="width: 10px; height: 10px; display: block;"><polyline points="20 6 9 17 4 12"></polyline></svg> </span>Visitors check in without you</li>
3576<li style="list-style: none; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #003567;"><span style="flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); display: inline-flex; align-items: center; justify-content: center; color: #ffffff;"> <svg width="10" height="10" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="width: 10px; height: 10px; display: block;"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> Less busywork, more time for what matters</li>
3577</ul>
3578<div style="margin-top: auto; padding-top: 20px; border-top: 1px dashed rgba(0,53,103,0.14); display: flex; align-items: center; justify-content: space-between; gap: 16px;"><a href="https://cove.is/solution/property-managers?hsLang=en" style="display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; color: #003567; text-decoration: none; padding: 10px 0;"> Explore for managers <span style="width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#7ad7f0 100%); display: inline-flex; align-items: center; justify-content: center; color: #003567;"> <svg width="12" height="12" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="width: 12px; height: 12px; display: block;"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a></div>
3579</article>
3580<article style="position: relative; padding: 36px; border-radius: 22px; background: linear-gradient(180deg,#ffffff 0%,#f6fbff 100%); border: 1px solid rgba(0,53,103,0.08); box-shadow: 0 12px 30px -14px rgba(0,53,103,0.14),0 2px 4px rgba(0,53,103,0.04); display: flex; flex-direction: column;">
3581<div style="display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 28px;">
3582<div style="width: 60px; height: 60px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg,#ffffff 0%,rgba(82,201,236,0.22) 100%); border: 1px solid rgba(82,201,236,0.4); box-shadow: inset 0 1px 0 rgba(255,255,255,0.8),0 6px 18px -6px rgba(82,201,236,0.5); color: #003567;"><svg width="28" height="28" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="width: 28px; height: 28px; display: block;"> <rect x="5" y="3" width="14" height="18" rx="1.5"></rect> <rect x="8" y="7" width="2" height="2" fill="currentColor" stroke="none"></rect> <rect x="14" y="7" width="2" height="2" fill="currentColor" stroke="none"></rect> <rect x="8" y="11" width="2" height="2" fill="currentColor" stroke="none"></rect> <rect x="14" y="11" width="2" height="2" fill="currentColor" stroke="none"></rect> <rect x="10.5" y="16" width="3" height="5" fill="currentColor" stroke="none"></rect> </svg></div>
3583<span style="font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(0,53,103,0.6); padding: 6px 10px; border-radius: 999px; background: rgba(0,53,103,0.06);">02 / Owners</span></div>
3584<h3 style="font-family: 'Sora','Inter',-apple-system,sans-serif; font-weight: bold; font-size: 24px; color: #003567; margin: 0 0 10px; letter-spacing: -0.01em;">Landlords</h3>
3585<p style="font-size: 15px; color: #4a6580; margin: 0 0 24px; line-height: 1.6;">Turn fragmented building data into portfolio intelligence that helps you protect NOI, improve performance, and grow long-term asset value.</p>
3586<ul style="list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-direction: column; gap: 10px;">
3587<li style="list-style: none; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #003567;"><span style="flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); display: inline-flex; align-items: center; justify-content: center; color: #ffffff;"> <svg width="10" height="10" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="width: 10px; height: 10px; display: block;"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> Portfolio-wide building visibility</li>
3588<li style="list-style: none; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #003567;"><span style="flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); display: inline-flex; align-items: center; justify-content: center; color: #ffffff;"> <svg width="10" height="10" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="width: 10px; height: 10px; display: block;"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> Real-time asset performance</li>
3589<li style="list-style: none; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #003567;"><span style="flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); display: inline-flex; align-items: center; justify-content: center; color: #ffffff;"> <svg width="10" height="10" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="width: 10px; height: 10px; display: block;"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> Benchmarking and forecasting</li>
3590</ul>
3591<div style="margin-top: auto; padding-top: 20px; border-top: 1px dashed rgba(0,53,103,0.14); display: flex; align-items: center; justify-content: space-between; gap: 16px;"><a href="https://cove.is/solution/landlords?hsLang=en" style="display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; color: #003567; text-decoration: none; padding: 10px 0;"> Explore for landlords <span style="width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#7ad7f0 100%); display: inline-flex; align-items: center; justify-content: center; color: #003567;"> <svg width="12" height="12" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="width: 12px; height: 12px; display: block;"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a></div>
3592</article>
3593<article style="position: relative; padding: 36px; border-radius: 22px; background: linear-gradient(180deg,#ffffff 0%,#f6fbff 100%); border: 1px solid rgba(0,53,103,0.08); box-shadow: 0 12px 30px -14px rgba(0,53,103,0.14),0 2px 4px rgba(0,53,103,0.04); display: flex; flex-direction: column;">
3594<div style="display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 28px;">
3595<div style="width: 60px; height: 60px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg,#ffffff 0%,rgba(82,201,236,0.22) 100%); border: 1px solid rgba(82,201,236,0.4); box-shadow: inset 0 1px 0 rgba(255,255,255,0.8),0 6px 18px -6px rgba(82,201,236,0.5); color: #003567;"><svg width="28" height="28" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="r
3595ound" stroke-linejoin="round" style="width: 28px; height: 28px; display: block;"><path d="M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18v3h3l6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2-2z"></path></svg></div>
3596<span style="font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(0,53,103,0.6); padding: 6px 10px; border-radius: 999px; background: rgba(0,53,103,0.06);">03 / Field teams</span></div>
3597<h3 style="font-family: 'Sora','Inter',-apple-system,sans-serif; font-weight: bold; font-size: 24px; color: #003567; margin: 0 0 10px; letter-spacing: -0.01em;">Engineers</h3>
3598<p style="font-size: 15px; color: #4a6580; margin: 0 0 24px; line-height: 1.6;">Run work orders, preventive maintenance, and equipment tracking in one platform while AI helps you spot problems early and keep systems running.</p>
3599<ul style="list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-direction: column; gap: 10px;">
3600<li style="list-style: none; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #003567;"><span style="flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); display: inline-flex; align-items: center; justify-content: center; color: #ffffff;"> <svg width="10" height="10" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="width: 10px; height: 10px; display: block;"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> Smart work order dispatch</li>
3601<li style="list-style: none; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #003567;"><span style="flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); display: inline-flex; align-items: center; justify-content: center; color: #ffffff;"> <svg width="10" height="10" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="width: 10px; height: 10px; display: block;"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> Preventive maintenance alerts</li>
3602<li style="list-style: none; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #003567;"><span style="flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#003567 100%); display: inline-flex; align-items: center; justify-content: center; color: #ffffff;"> <svg width="10" height="10" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="width: 10px; height: 10px; display: block;"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> Full equipment history</li>
3603</ul>
3604<div style="margin-top: auto; padding-top: 20px; border-top: 1px dashed rgba(0,53,103,0.14); display: flex; align-items: center; justify-content: space-between; gap: 16px;"><a href="https://cove.is/solution/engineers?hsLang=en" style="display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; color: #003567; text-decoration: none; padding: 10px 0;"> Explore for engineers <span style="width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg,#52C9EC 0%,#7ad7f0 100%); display: inline-flex; align-items: center; justify-content: center; color: #003567;"> <svg width="12" height="12" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="width: 12px; height: 12px; display: block;"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a></div>
3605</article>
3606</div>
3607</div>
3608</section>
3609</div>
3610
3611<!-- ===== AI FEATURES ===== -->
3612<div class="cove-home-section">
3613<section class="cove-ai tone-light" style="--section-pad: 120px;">
3614  <div class="cove-ai-container">
3615    <!-- ---------- HEADER ---------- -->
3616    <div class="cove-section-header">
3617      <span class="cove-eyebrow">AI Built for Property Operations</span>
3618      <h2 class="cove-section-title">
3619        Intelligence That
3620        <span class="cove-accent">Does the Work</span>
3621      </h2>
3622      <div class="cove-section-sub">
3623        <p>Cove's AI writes communications, vets vendor paperwork, and distills endless work order chains, so your team stays ahead, not buried.</p>
3624      </div>
3625    </div>
3626    <!-- ---------- CARD GRID ---------- -->
3627    <div class="cove-ai-grid">
3628      <!-- CARD 1: AI Tenant Comms -->
3629      <article class="cove-ai-card">
3630        <div class="cove-stage" aria-hidden="true">
3631          <div class="s-announce">
3632            <div class="a-input">
3633              <div class="a-input-label">Your note</div>
3634              <div class="a-input-text">water off flrs 12-15 fri 9-11am<span class="a-caret"></span></div>
3635            </div>
3636            <div class="a-transform">
3637              <svg class="a-transform-spin" width="11" height="11" viewbox="0 0 24 24" fill="currentColor"><path d="M12 2l1.7 5.3L19 9l-5.3 1.7L12 16l-1.7-5.3L5 9l5.3-1.7L12 2z" /></svg>
3638              POLISHING WITH AI
3639            </div>
3640            <div class="a-output">
3641              <div class="a-output-title">Scheduled Water Maintenance Friday</div>
3642              <div class="a-output-body">Water service on Floors 12–15 will be temporarily unavailable Friday from 9:00–11:00 AM. Thank you for your patience.</div>
3643              <div class="a-output-foot">
3644                <span class="send-lbl">Sending via</span>
3645                <span class="a-channel-mini ch1">
3646                  <svg width="9" height="9" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" /></svg>
3647                  Push
3648                </span>
3649                <span class="a-channel-mini ch2">
3650                  <svg width="9" height="9" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2" /><path d="M3 7l9 6 9-6" /></svg>
3651                  Email
3652                </span>
3653                <span class="a-channel-mini ch3">
3654                  <svg width="9" height="9" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" /></svg>
3655                  SMS
3656                </span>
3657                <span class="a-channel-mini ch4">
3658                  <svg width="9" height="9" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.95.36 1.89.7 2.79a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.29-1.27a2 2 0 0 1 2.11-.45c.9.34 1.84.57 2.79.7A2 2 0 0 1 22 16.92z" /></svg>
3659                  Voice
3660                </span>
3661              </div>
3662            </div>
3663          </div>
3664        </div>
3665        <div class="cove-ai-body">
3666          <span class="cove-ai-label"><span class="dot"></span>AI Tenant Comms</span>
3667          <h3>A rough note in. Polished communications out.</h3>
3668          <p>Jot a quick line. Cove rewrites it as a clear, professional announcements, event descriptions and highlights and sends it via push, email, SMS, and voice call.</p>
3669        </div>
3670      </article>
3671      <!-- CARD 2: COI Extraction -->
3672      <article class="cove-ai-card">
3673        <div class="cove-stage" aria-hidden="true">
3674          <div class="s-coi">
3675            <div class="coi-doc">
3676              <div class="coi-doc-tag">COI</div>
3677              <div class="coi-line w1"></div>
3678              <div class="coi-line w2"></div>
3679              <div class="coi-line w3"></div>
3680              <div class="coi-line w4"></div>
3681              <div class="coi-line w5"></div>
3682              <div class="coi-line w6"></div>
3683              <div class="coi-hl h1"></div>
3684              <div class="coi-hl h2"></div>
3685              <div class="coi-hl h3"></div>
3686              <div class="coi-hl h4"></div>
3687              <div class="coi-scan"></div>
3688            </div>
3689            <div class="coi-panel">
3690              <div class="coi-row r1">
3691                <span class="k">Insured</span>
3692                <span class="v">Acme HVAC
3693                  <span class="coi-check"><svg width="7" height="7" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" /></svg></span>
3694                </span>
3695              </div>
3696              <div class="coi-row r2">
3697                <span class="k">GL Limit</span>
3698                <span class="v">$2M
3699                  <span class="coi-check"><svg width="7" height="7" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" /></svg></span>
3700                </span>
3701              </div>
3702              <div class="coi-row r3">
3703                <span class="k">Expires</span>
3704                <span class="v">12/31/26
3705                  <span class="coi-check"><svg width="7" height="7" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" /></svg></span>
3706                </span>
3707              </div>
3708              <div class="coi-row r4">
3709                <span class="k">Additional</span>
3710                <span class="v">Listed
3711                  <span class="coi-check"><svg width="7" height="7" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" /></svg></span>
3712                </span>
3713              </div>
3714              <div class="coi-verdict">
3715                <svg width="11" height="11" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" /></svg>
3716                Compliant
3717              </div>
3718            </div>
3719          </div>
3720        </div>
3721        <div class="cove-ai-body">
3722          <span class="cove-ai-label"><span class="dot"></span>COI Extraction</span>
3723          <h3>
3723Every vendor COI, read and checked.</h3>
3724          <p>Cove pulls limits, expirations, and named insureds from any Certificate of Insurance, and flags whether it meets your building's requirements.</p>
3725        </div>
3726      </article>
3727      <!-- CARD 3: Work Order Intelligence -->
3728      <article class="cove-ai-card">
3729        <div class="cove-stage" aria-hidden="true">
3730          <div class="s-wo">
3731            <div class="wo-chain">
3732              <div class="wo-msg m1"><span class="wo-who">Tenant</span><span class="wo-text">Ceiling leaking in 4B</span></div>
3733              <div class="wo-msg me m2"><span class="wo-who">PM</span><span class="wo-text">Sending plumber today</span></div>
3734              <div class="wo-msg m3"><span class="wo-who">Vendor</span><span class="wo-text">On the way, ETA 2pm</span></div>
3735              <div class="wo-msg me m4"><span class="wo-who">PM</span><span class="wo-text">Access via master key</span></div>
3736              <div class="wo-msg m5"><span class="wo-who">Tenant</span><span class="wo-text">Any ETA on fix?</span></div>
3737              <div class="wo-msg me m6"><span class="wo-who">PM</span><span class="wo-text">Waiting on parts…</span></div>
3738              <div class="wo-msg m7"><span class="wo-who">Vendor</span><span class="wo-text">Parts arrive Thursday</span></div>
3739              <div class="wo-msg me m8"><span class="wo-who">PM</span><span class="wo-text">Scheduled Thu 2pm</span></div>
3740            </div>
3741            <div class="wo-summary">
3742              <div class="wo-sum-head">
3743                <span class="cove-ai-chip">
3744                  <svg width="10" height="10" viewbox="0 0 24 24" fill="currentColor"><path d="M12 2l1.7 5.3L19 9l-5.3 1.7L12 16l-1.7-5.3L5 9l5.3-1.7L12 2z" /></svg>
3745                  AI Summary
3746                </span>
3747                <span class="count">47 messages</span>
3748              </div>
3749              <h4>Ceiling Leak · Unit 4B</h4>
3750              <ul>
3751                <li>
3752                  <span class="bullet"><svg width="7" height="7" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" /></svg></span>
3753                  Plumber scheduled Thu 2pm
3754                </li>
3755                <li>
3756                  <span class="bullet"><svg width="7" height="7" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" /></svg></span>
3757                  Access via master key confirmed
3758                </li>
3759                <li>
3760                  <span class="bullet"><svg width="7" height="7" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" /></svg></span>
3761                  Parts arriving Thursday
3762                </li>
3763              </ul>
3764              <div class="wo-sum-status">
3765                <span>Last updated 2m ago</span>
3766                <span class="status-pill"><span class="dot-s"></span>In progress</span>
3767              </div>
3768            </div>
3769          </div>
3770        </div>
3771        <div class="cove-ai-body">
3772          <span class="cove-ai-label"><span class="dot"></span>Work Order Intelligence</span>
3773          <h3>Endless threads, one clean summary.</h3>
3774          <p>Long back-and-forth conversations collapse into a tight status update: who's doing what, what's done, and what's still open.</p>
3775        </div>
3776      </article>
3777    </div>
3778    <!-- ---------- CTA ---------- -->
3779    <div class="cove-ai-cta">
3780      <a class="cove-ai-cta-btn" href="https://cove.is/ai-property-management-software?hsLang=en">
3781        Learn More About CoveAI
3782      </a>
3783    </div>
3784  </div>
3785</section>
3786</div>
3787
3788<!-- ===== WILLIS TOWER ===== -->
3789<div class="cove-home-section">
3790<section style="padding:88px 24px; font-family:'Inter',-apple-system,sans-serif; background:transparent;">
3791  <div class="cove-split2" style="max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;">
3792    <div>
3793      <span class="cove-eyebrow" style="display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#003567; padding:8px 14px; border-radius:999px; background:rgba(82,201,236,0.14); border:1px solid rgba(82,201,236,0.35); margin-bottom:22px;"><span style="width:6px;height:6px;border-radius:50%;background:#52C9EC;box-shadow:0 0 0 4px rgba(82,201,236,0.22);"></span> Case Study</span>
3794      <h2 class="cove-std-title" style="font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(32px,4.2vw,44px); line-height:1.1; letter-spacing:-0.02em; color:#003567; margin:0 0 18px;">Powering the <span style="background:linear-gradient(135deg,#52C9EC 0%,#003567 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;">Willis Tower</span></h2>
3795      <p style="font-size:16px; color:#4a6580; line-height:1.65; margin:0 0 16px;">Cove powers the tenant experience at Chicago's Willis Tower, the largest multi-tenant office building in the Western Hemisphere.</p>
3796      <p style="font-size:16px; color:#4a6580; line-height:1.65; margin:0 0 16px;">Through the custom white-label My Willis Tower app, thousands of tenants can reserve conference space, RSVP to events, register visitors, order food, and book fitness classes, making it easy to access and use everything the building offers.</p>
3797      <p style="font-size:16px; color:#4a6580; line-height:1.65; margin:0 0 28px;">The result is a more active, modern workplace experience that strengthens tenant satisfaction and retention while enabling the property team to deliver amenities, services, and programming at scale.</p>
3798      <a href="https://cove.is/cove-powers-the-willis-tower?hsLang=en" style="display:inline-flex; align-items:center; gap:10px; padding:14px 28px; background:#52C9EC; color:#fff; font-weight:600; font-size:15px; text-decoration:none; border-radius:999px; box-shadow:0 6px 18px rgba(82,201,236,0.35);">Read the Full Story</a>
3799    </div>
3800    <div style="position:relative;">
3801      <div style="position:absolute; inset:6% 10%; background:radial-gradient(ellipse at center, rgba(82,201,236,0.22) 0%, transparent 65%); filter:blur(24px); z-index:0;"></div>
3802      <img src="https://cove.is/hubfs/Image_fx%20(9)%20(1)%20(1)-1.webp" alt="My Willis Tower app with Cove" loading="lazy" style="position:relative; z-index:1; width:100%; height:auto; border-radius:20px; display:block;">
3803    </div>
3804  </div>
3805</section>
3806</div>
3807
3808<!-- ===== RXR VIDEO ===== -->
3809<div class="cove-home-section">
3810<section style="padding:88px 24px; font-family:'Inter',-apple-system,sans-serif; background:transparent;">
3811  <div class="cove-split2" style="max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:center;">
3812    <div style="position:relative; aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:#0B1F3D; box-shadow:0 24px 60px -28px rgba(0,53,103,0.4);">
3813      <div class="hs-video-widget" data-hsv-embed-id="external-embed-1777404149692" style="width:100%;height:100%;">
3814        <img data-hsv-id="208712576595" src="https://cove.is/hs-fs/hubfs/custom-video-thumbnails/RXR%20Case%20Study%20-%20Main-thumb-Mar-04-2026-03-31-45-4456-PM.jpeg?length=1920" alt="RXR Case Study with Cove" data-hsv-width="100%" style="width:100%;height:100%;object-fit:cover;display:block;">
3815        
3815<script data-hs-portal-id="21927082" data-hs-env="prod" data-hs-external="true" data-hs-seo="true" src="https://static.hsappstatic.net/video-embed/ex/loader.js" type="text/javascript"></script>
3815
3816      </div>
3817    </div>
3818    <div>
3819      <span class="cove-eyebrow" style="display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#003567; padding:8px 14px; border-radius:999px; background:rgba(82,201,236,0.14); border:1px solid rgba(82,201,236,0.35); margin-bottom:22px;"><span style="width:6px;height:6px;border-radius:50%;background:#52C9EC;box-shadow:0 0 0 4px rgba(82,201,236,0.22);"></span> Customer Story</span>
3820      <h2 class="cove-std-title" style="font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(32px,4.2vw,44px); line-height:1.1; letter-spacing:-0.02em; color:#003567; margin:0 0 16px;">How RXR Unified Their Portfolio with Cove</h2>
3821      <p style="font-size:16px; color:#4a6580; line-height:1.65; margin:0 0 16px;">Hear why one of the country's leading owner-operators consolidated building operations and tenant experience onto Cove.</p>
3822      <p style="font-size:16px; color:#4a6580; line-height:1.65; margin:0 0 28px;">RXR unified its teams on a single platform, cut tool sprawl, and gained portfolio-wide visibility, saving roughly $0.05 per square foot across the portfolio.</p>
3823    </div>
3824  </div>
3825</section>
3826</div>
3827
3828<!-- ===== INTEGRATIONS ===== -->
3829<div class="cove-home-section">
3830<!-- ============================================================
3831     COVE INTEGRATIONS MODULE
3832     Standalone embed - paste into any page / HubSpot rich text
3833     ============================================================ -->
3834
3835<link rel="preconnect" href="https://fonts.googleapis.com">
3836<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
3837<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&amp;
3837family=Sora:wght@600;700&amp;display=swap" rel="stylesheet">
3838
3839
3840
3841<section class="cove-integrations tone-transparent">
3842  <div class="cove-integrations__container">
3843
3844    <header class="cove-integrations__header">
3845      <span class="cove-eyebrow">
3846        <span class="cove-dot"></span>
3847        Integrations &amp; Partnerships
3848      </span>
3849      <h2 class="cove-integrations__title cove-nowrap">
3850        Connects With What
3851        <span class="cove-accent">You Already Use</span>
3852      </h2>
3853      <p class="cove-integrations__subtitle">
3854        Cove plugs into your existing access control, payments, occupancy, and parking systems — so your stack stays yours.
3855      </p>
3856    </header>
3857
3858    <div class="cove-integrations__stats">
3859      <div class="cove-integrations__stat">
3860        <div class="cove-integrations__stat-num">30+</div>
3861        <div class="cove-integrations__stat-label">Native Integrations</div>
3862      </div>
3863      <div class="cove-integrations__stat-divider" aria-hidden="true"></div>
3864      <div class="cove-integrations__stat">
3865        <div class="cove-integrations__stat-num">9</div>
3866        <div class="cove-integrations__stat-label">Categories Covered</div>
3867      </div>
3868      <div class="cove-integrations__stat-divider" aria-hidden="true"></div>
3869      <div class="cove-integrations__stat">
3870        <div class="cove-integrations__stat-num">Open</div>
3871        <div class="cove-integrations__stat-label">API &amp; Webhooks</div>
3872      </div>
3873    </div>
3874
3875    <div class="cove-integrations__filters" role="tablist" aria-label="Integration categories">
3876      <button class="cove-integrations__filter is-active" data-filter="all" role="tab" aria-selected="true">All</button>
3877      <button class="cove-integrations__filter" data-filter="access-control" role="tab">Access Control</button>
3878      <button class="cove-integrations__filter" data-filter="accounting-payments" role="tab">Accounting &amp; Payments</button>
3879      <button class="cove-integrations__filter" data-filter="parking" role="tab">Parking</button>
3880      <button class="cove-integrations__filter" data-filter="food-ordering" role="tab">Food Ordering</button>
3881      <button class="cove-integrations__filter" data-filter="amenity-management" role="tab">Amenity Management</button>
3882      <button class="cove-integrations__filter" data-filter="resource-calendars" role="tab">Resource Calendars</button>
3883      <button class="cove-integrations__filter" data-filter="occupancy-sensing" role="tab">Occupancy Sensing</button>
3884      <button class="cove-integrations__filter" data-filter="building-analytics" role="tab">Building Analytics</button>
3885      <button class="cove-integrations__filter" data-filter="transit-data" role="tab">Transit Data</button>
3886    </div>
3887
3888    <div class="cove-integrations__grid-wrap">
3889      <div class="cove-integrations__grid">
3890        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/Lenel.png" alt="LenelS2" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3891        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/Genetec.png" alt="Genetec" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3892        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/Open%20Path.png" alt="Openpath" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3893        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/Datawatch.png" alt="Datawatch Systems" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3894        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/Genea.png" alt="Genea" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3895        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/C-Cure.png" alt="C-CURE" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3896        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/Kastle.png" alt="Kastle" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3897        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/S.png" alt="Access Control Partner" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3898        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/AMAG.png" alt="AMAG" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3899        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/Wavelynx.png" alt="Wavelynx" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3900        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/DSX.png" alt="DSX" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3901        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/HID-1.png" alt="HID" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3902        <div class="cove-integrations__card" data-category="access-control"><img src="https://cove.is/hubfs/Avigilonalta.png" alt="Avigilon Alta" loading="lazy"><span class="cove-integrations__card-cat">Access Control</span></div>
3903
3904        <div class="cove-integrations__card" data-category="accounting-payments"><img src="https://cove.is/hubfs/MRI.png" alt="MRI" loading="lazy"><span class="cove-integrations__card-cat">Accounting</span></div>
3905        <div class="cove-integrations__card" data-category="accounting-payments"><img src="https://cove.is/hubfs/Yardi.png" alt="Yardi" loading="lazy"><span class="cove-integrations__card-cat">Accounting</span></div>
3906        <div class="cove-integrations__card" data-category="accounting-payments"><img src="https://cove.is/hubfs/Stripe.png" alt="Stripe" loading="lazy"><span class="cove-integrations__card-cat">Payments</span></div>
3907
3908        <div class="cove-integrations__card" data-category="occupancy-sensing"><img src="https://cove.is/hubfs/Density.png" alt="Density" loading="lazy"><span class="cove-integrations__card-cat">Occupancy</span></div>
3909
3910        <div class="cove-integrations__card" data-category="parking"><img src="https://cove.is/hubfs/Skidata.png" alt="SKIDATA" loading="lazy"><span class="cove-integrations__card-cat">Parking</span></div>
3911        <div class="cove-integrations__card" data-category="parking"><img src="https://cove.is/hubfs/parkable.png" alt="Parkable" loading="lazy"><span class="cove-integrations__card-cat">Parking</span></div>
3912        <div class="cove-integrations__card" data-category="parking"><img src="https://cove.is/hubfs/Amano.png" alt="Amano" loading="lazy"><span class="cove-integrations__card-cat">Parking</span></div>
3913        <div class="cove-integrations__card" data-category="parking"><img src="https://cove.is/hubfs/Vend.png" alt="Vend" loading="lazy"><span class="cove-integrations__card-cat">Parking</span></div>
3914        <div class="cove-integrations__card" data-category="parking">
3914<img src="https://cove.is/hubfs/Flash.png" alt="Flash" loading="lazy"><span class="cove-integrations__card-cat">Parking</span></div>
3915
3916        <div class="cove-integrations__card" data-category="amenity-management"><img src="https://cove.is/hubfs/Tripleseat.png" alt="Tripleseat" loading="lazy"><span class="cove-integrations__card-cat">Amenities</span></div>
3917        <div class="cove-integrations__card" data-category="amenity-management"><img src="https://cove.is/hubfs/Mindbody.png" alt="Mindbody" loading="lazy"><span class="cove-integrations__card-cat">Amenities</span></div>
3918
3919        <div class="cove-integrations__card" data-category="food-ordering"><img src="https://cove.is/hubfs/GoTab.png" alt="GoTab" loading="lazy"><span class="cove-integrations__card-cat">Food</span></div>
3920        <div class="cove-integrations__card" data-category="food-ordering"><img src="https://cove.is/hubfs/Ritual.png" alt="Ritual" loading="lazy"><span class="cove-integrations__card-cat">Food</span></div>
3921        <div class="cove-integrations__card" data-category="food-ordering"><img src="https://cove.is/hubfs/Square.png" alt="Square" loading="lazy"><span class="cove-integrations__card-cat">Food</span></div>
3922        <div class="cove-integrations__card" data-category="food-ordering"><img src="https://cove.is/hubfs/Toast-1.png" alt="Toast" loading="lazy"><span class="cove-integrations__card-cat">Food</span></div>
3923
3924        <div class="cove-integrations__card" data-category="building-analytics"><img src="https://cove.is/hubfs/Kodelabs.png" alt="KODE Labs" loading="lazy"><span class="cove-integrations__card-cat">Analytics</span></div>
3925
3926        <div class="cove-integrations__card" data-category="resource-calendars"><img src="https://cove.is/hubfs/Google%20Calendar.png" alt="Google Calendar" loading="lazy"><span class="cove-integrations__card-cat">Calendar</span></div>
3927        <div class="cove-integrations__card" data-category="resource-calendars"><img src="https://cove.is/hubfs/Outlook.png" alt="Outlook" loading="lazy"><span class="cove-integrations__card-cat">Calendar</span></div>
3928
3929        <div class="cove-integrations__card" data-category="transit-data"><img src="https://cove.is/hubfs/Actionfigure.png" alt="Actionfigure" loading="lazy"><span class="cove-integrations__card-cat">Transit</span></div>
3930      </div>
3931
3932      <div class="cove-integrations__empty" hidden>
3933        <svg width="32" height="32" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
3934          <circle cx="11" cy="11" r="7" />
3935          <line x1="21" y1="21" x2="16.65" y2="16.65" />
3936        </svg>
3937        <p>No integrations in this category yet.</p>
3938      </div>
3939    </div>
3940
3941  </div>
3942</section>
3943
3944<script>
3945(function(){
3946  "use strict";
3947  function init(root){
3948    var buttons = root.querySelectorAll(".cove-integrations__filter");
3949    var cards   = root.querySelectorAll(".cove-integrations__card");
3950    var empty   = root.querySelector(".cove-integrations__empty");
3951
3952    function applyFilter(filter){
3953      var visible = 0;
3954      cards.forEach(function(card){
3955        var cat  = card.dataset.category;
3956        var show = filter === "all" || cat === filter;
3957        card.classList.toggle("is-hidden", !show);
3958        if (show) visible++;
3959      });
3960      if (empty){
3961        if (visible === 0){
3962          empty.setAttribute("data-visible","true");
3963          empty.removeAttribute("hidden");
3964        } else {
3965          empty.setAttribute("data-visible","false");
3966          empty.setAttribute("hidden","");
3967        }
3968      }
3969    }
3970
3971    buttons.forEach(function(btn){
3972      btn.addEventListener("click", function(){
3973        buttons.forEach(function(b){
3974          b.classList.remove("is-active");
3975          b.setAttribute("aria-selected","false");
3976        });
3977        btn.classList.add("is-active");
3978        btn.setAttribute("aria-selected","true");
3979        applyFilter(btn.dataset.filter);
3980      });
3981    });
3982  }
3983  function boot(){
3984    document.querySelectorAll(".cove-integrations").forEach(function(root){ init(root); });
3985  }
3986  if (document.readyState === "loading"){
3987    document.addEventListener("DOMContentLoaded", boot);
3988  } else {
3989    boot();
3990  }
3991})();
3992</script>
3992
3993</div>
3994
3995<!-- ===== YARDI / TRUST ===== -->
3996<div class="cove-home-section">
3997<section style="padding:24px 24px 72px; font-family:'Inter',-apple-system,sans-serif; background:transparent;">
3998  <div style="max-width:1240px; margin:0 auto;">
3999    <div style="display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px;">
4000      <div style="padding:32px; border-radius:20px; background:#ffffff; border:1px solid rgba(0,53,103,0.08); box-shadow:0 12px 30px -16px rgba(0,53,103,0.12);">
4001        <div style="height:40px;display:flex;align-items:center;margin-bottom:18px;"><img src="https://cove.is/hubfs/Yardi.png" alt="Yardi" style="height:30px;width:auto;display:block;" loading="lazy"></div>
4002        <h3 style="font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:#003567; margin:0 0 8px;">Always-Synced Yardi Data</h3>
4003        <p style="font-size:15px; color:#4a6580; margin:0; line-height:1.6;">Cove integrates with your existing specialized tools to eliminate operational silos and keep data moving.</p>
4004      </div>
4005      <div style="padding:32px; border-radius:20px; background:#ffffff; border:1px solid rgba(0,53,103,0.08); box-shadow:0 12px 30px -16px rgba(0,53,103,0.12);">
4006        <div style="width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eafaff 0%,#c6ecfa 100%); color:#003567; margin-bottom:18px;"><svg width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 17l6-6 4 4 7-7"></path><path d="M17 8h4v4"></path></svg></div>
4007        <h3 style="font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:#003567; margin:0 0 8px;">Built to Scale</h3>
4008        <p style="font-size:15px; color:#4a6580; margin:0; line-height:1.6;">A single, connected foundation designed to evolve alongside the industry's leading owners and operators.</p>
4009      </div>
4010      <div style="padding:32px; border-radius:20px; background:#ffffff; border:1px solid rgba(0,53,103,0.08); box-shadow:0 12px 30px -16px rgba(0,53,103,0.12);">
4011        <div style="width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eafaff 0%,#c6ecfa 100%); color:#003567; margin-bottom:18px;"><svg width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5z" /><path d="M9 12l2 2 4-4" /></svg></div>
4012        <h3 style="font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:#003567; margin:0 0 8px;">Security You Can Trust</h3>
4013        <p style="font-size:15px; color:#4a6580; margin:0; line-height:1.6;">End-to-end SOC 2 Type II protection keeps your building and tenant data fully safeguarded.</p>
4014      </div>
4015    </div>
4016  </div>
4017</section>
4018</div>
4019
4020<!-- ===== TESTIMONIALS ===== -->
4021<div class="cove-home-section">
4022<section style="padding:88px 24px; font-family:'Inter',-apple-system,sans-serif; background:transparent;">
4023  <div style="max-width:1240px; margin:0 auto;">
4024    <div style="text-align:center; max-width:720px; margin:0 auto 56px;">
4025      <span class="cove-eyebrow" style="display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#003567; padding:8px 14px; border-radius:999px; background:rgba(82,201,236,0.14); border:1px solid rgba(82,201,236,0.35); margin-bottom:22px;"><span style="width:6px;height:6px;border-radius:50%;background:#52C9EC;box-shadow:0 0 0 4px rgba(82,201,236,0.22);"></span> Testimonials</span>
4026      <h2 class="cove-std-title" style="font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(32px,4.2vw,44px); line-height:1.1; letter-spacing:-0.02em; color:#003567; margin:0 0 14px;">What Customers Say About Cove</h2>
4027      <p class="cove-std-sub" style="font-size:17px; color:#4a6580; margin:0;">Real stories from finance, ops, and IT leaders who unified their stack with Cove.</p>
4028    </div>
4029    <div style="display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px;">
4030      <div style="background:#fff; border:1px solid rgba(0,53,103,0.08); border-radius:18px; padding:28px; box-shadow:0 8px 24px -16px rgba(0,53,103,0.18); display:flex; flex-direction:column;"><div style="font-family:'Sora',sans-serif; font-size:42px; line-height:.6; color:#52C9EC; margin-bottom:14px;">“</div><p style="font-size:15.5px;
4030 color:#1a2b42; line-height:1.6; flex:1; margin:0 0 18px;">Overall, we had an outstanding experience with Cove and would highly recommend them as a trusted resource for both work order systems and apps.”</p><div style="font-weight:700; color:#003567; font-size:15px;">Ryan Hursh</div><div style="font-size:13.5px; color:#4a6580;">Asset Management, Vallarta Properties</div><img src="https://cove.is/hubfs/Vallarta%20Properties%20OR%20artisanventure.png" alt="Vallarta Properties logo" loading="lazy" style="height:26px;width:auto;max-width:140px;object-fit:contain;margin-top:16px;opacity:.85;align-self:flex-start;display:block;"></div>
4031      <div style="background:#fff; border:1px solid rgba(0,53,103,0.08); border-radius:18px; padding:28px; box-shadow:0 8px 24px -16px rgba(0,53,103,0.18); display:flex; flex-direction:column;"><div style="font-family:'Sora',sans-serif; font-size:42px; line-height:.6; color:#52C9EC; margin-bottom:14px;">“</div><p style="font-size:15.5px; color:#1a2b42; line-height:1.6; flex:1; margin:0 0 18px;">We wouldn't be here today without the support we got from the Cove team. They walked us through every step, customized the setup, and worked directly with our vendors.”</p><div style="font-weight:700; color:#003567; font-size:15px;">Tim Rivett</div><div style="font-size:13.5px; color:#4a6580;">General Manager, Samuels &amp; Associates</div><img src="https://cove.is/hubfs/Samuels%20Associates.png" alt="Samuels &amp; Associates logo" loading="lazy" style="height:26px;width:auto;max-width:140px;object-fit:contain;margin-top:16px;opacity:.85;align-self:flex-start;display:block;margin-left:-14px;"></div>
4032      <div style="background:#fff; border:1px solid rgba(0,53,103,0.08); border-radius:18px; padding:28px; box-shadow:0 8px 24px -16px rgba(0,53,103,0.18); display:flex; flex-direction:column;"><div style="font-family:'Sora',sans-serif; font-size:42px; line-height:.6; color:#52C9EC; margin-bottom:14px;">“</div><p style="font-size:15.5px; color:#1a2b42; line-height:1.6; flex:1; margin:0 0 18px;">In Cove, we have found a company that we believe can help landlords shape the future of work. Cove sets a new standard for technology in the built environment.”</p><div style="font-weight:700; color:#003567; font-size:15px;">John Fitzpatrick</div><div style="font-size:13.5px; color:#4a6580;">CTO of Alternate Asset Management, Blackstone</div><img src="https://cove.is/hubfs/Blackstone-PRESS-QUALITY-6312.webp" alt="Blackstone logo" loading="lazy" style="height:26px;width:auto;max-width:140px;object-fit:contain;margin-top:16px;opacity:.85;align-self:flex-start;display:block;"></div>
4033      <div style="background:#fff; border:1px solid rgba(0,53,103,0.08); border-radius:18px; padding:28px; box-shadow:0 8px 24px -16px rgba(0,53,103,0.18); display:flex; flex-direction:column;"><div style="font-family:'Sora',sans-serif; font-size:42px; line-height:.6; color:#52C9EC; margin-bottom:14px;">“</div><p style="font-size:15.5px; color:#1a2b42; line-height:1.6; flex:1; margin:0 0 18px;">The consolidation of our tech has resulted in a savings of about $0.05 per square foot. Spread that across the size of our portfolio, and I'll let you do the math.”</p><div style="font-weight:700; color:#003567; font-size:15px;">Michael Aisner</div><div style="font-size:13.5px; color:#4a6580;">SVP, Head of Property Management &amp; ESG, RXR</div><img src="https://cove.is/hubfs/RXR.png" alt="RXR logo" loading="lazy" style="height:26px;width:auto;max-width:140px;object-fit:contain;margin-top:16px;opacity:.85;align-self:flex-start;display:block;margin-left:-22px;"></div>
4034      <div style="background:#fff; border:1px solid rgba(0,53,103,0.08); border-radius:18px; padding:28px; box-shadow:0 8px 24px -16px rgba(0,53,103,0.18); display:flex; flex-direction:column;"><div style="font-family:'Sora',sans-serif; font-size:42px; line-height:.6; color:#52C9EC; margin-bottom:14px;">“</div><p style="font-size:15.5px; color:#1a2b42; line-height:1.6; flex:1; margin:0 0 18px;">Having a dedicated person to bounce ideas off of was great. The weekly meetings are wonderful for catching up on anything that came up and working through issues in real time.”</p><div style="font-weight:700; color:#003567; font-size:15px;">
4034Melissa Huston, CPM</div><div style="font-size:13.5px; color:#4a6580;">Property Manager, The John Buck Company</div><img src="https://cove.is/hubfs/JBC.png" alt="The John Buck Company logo" loading="lazy" style="height:26px;width:auto;max-width:140px;object-fit:contain;margin-top:16px;opacity:.85;align-self:flex-start;display:block;"></div>
4035      <div style="background:#fff; border:1px solid rgba(0,53,103,0.08); border-radius:18px; padding:28px; box-shadow:0 8px 24px -16px rgba(0,53,103,0.18); display:flex; flex-direction:column;"><div style="font-family:'Sora',sans-serif; font-size:42px; line-height:.6; color:#52C9EC; margin-bottom:14px;">“</div><p style="font-size:15.5px; color:#1a2b42; line-height:1.6; flex:1; margin:0 0 18px;">Building Engines was working fine for our team, but until we implemented Cove, we didn't realize what we were missing.”</p><div style="font-weight:700; color:#003567; font-size:15px;">Jamie Adams</div><div style="font-size:13.5px; color:#4a6580;">Property Manager, Boyle Investment Company</div><img src="https://cove.is/hubfs/Boyle.png" alt="Boyle Investment Company logo" loading="lazy" style="height:26px;width:auto;max-width:140px;object-fit:contain;margin-top:16px;opacity:.85;align-self:flex-start;display:block;margin-left:-10px;"></div>
4036    </div>
4037    <div style="text-align:center; margin-top:40px;"><a href="https://cove.is/buildings-powered-by-cove?hsLang=en" style="display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:15px; color:#003567; text-decoration:none;">See More Success Stories →</a></div>
4038  </div>
4039</section>
4040</div>
4041
4042<!-- ===== RESOURCES ===== -->
4043<div class="cove-home-section">
4044<section style="padding:24px 24px 88px; font-family:'Inter',-apple-system,sans-serif; background:transparent;">
4045  <div style="max-width:1240px; margin:0 auto;">
4046    <div style="text-align:center; max-width:720px; margin:0 auto 48px;">
4047      <span class="cove-eyebrow" style="display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#003567; padding:8px 14px; border-radius:999px; background:rgba(82,201,236,0.14); border:1px solid rgba(82,201,236,0.35); margin-bottom:22px;"><span style="width:6px;height:6px;border-radius:50%;background:#52C9EC;box-shadow:0 0 0 4px rgba(82,201,236,0.22);"></span> Resources</span>
4048      <h2 class="cove-std-title cove-nowrap" style="font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(32px,4.2vw,44px); line-height:1.1; letter-spacing:-0.02em; color:#003567; margin:0 0 14px;">Resources for Owners &amp; Operators</h2>
4049      <p class="cove-std-sub" style="font-size:17px; color:#4a6580; margin:0 auto; max-width:620px;">Guides, reports, and insights to help you run excellent buildings.</p>
4050    </div>
4051    <div style="display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px;">
4052      
4053      <a href="https://landing.cove.is/scaling-tenant-experience-in-life-science?hsLang=en" style="text-decoration:none; background:#fff; border:1px solid rgba(0,53,103,0.08); border-radius:18px; overflow:hidden; box-shadow:0 10px 28px -18px rgba(0,53,103,0.18); display:flex; flex-direction:column;"><div style="aspect-ratio:16/9; background:url('https://cove.is/hubfs/custom_thumbnail_large.png') center/cover;"></div><div style="padding:22px;"><span style="font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#52C9EC;">webinar</span><h3 style="font-family:'Sora',sans-serif; font-size:18px; color:#003567; margin:8px 0 14px; line-height:1.3;">Scale tenant experience across every campus.</h3><span style="font-weight:600; font-size:14px; color:#003567;">Read more →</span></div></a>
4054      
4055      <a href="https://landing.cove.is/office-report-vacancy-eases-to-18-as-quality-concentrates-demand?hsLang=en" style="text-decoration:none; background:#fff; border:1px solid rgba(0,53,103,0.08); border-radius:18px; overflow:hidden; box-shadow:0 10px 28px -18px rgba(0,53,103,0.18); display:flex; flex-direction:column;"><div style="aspect-ratio:16/9;
4055 background:url('https://cove.is/hubfs/Office%20Report%202026.png') center/cover;"></div><div style="padding:22px;"><span style="font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#52C9EC;">report</span><h3 style="font-family:'Sora',sans-serif; font-size:18px; color:#003567; margin:8px 0 14px; line-height:1.3;">Office Vacancy Eases to 18% as Quality Concentrates Demand</h3><span style="font-weight:600; font-size:14px; color:#003567;">Read more →</span></div></a>
4056      
4057      <a href="https://landing.cove.is/the-commercial-property-manager-guide-to-the-industrys-next-era?hsLang=en" style="text-decoration:none; background:#fff; border:1px solid rgba(0,53,103,0.08); border-radius:18px; overflow:hidden; box-shadow:0 10px 28px -18px rgba(0,53,103,0.18); display:flex; flex-direction:column;"><div style="aspect-ratio:16/9; background:url('https://cove.is/hubfs/Resource%20-%20Commercial%20Property%20Manager.png') center/cover;"></div><div style="padding:22px;"><span style="font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#52C9EC;">guide</span><h3 style="font-family:'Sora',sans-serif; font-size:18px; color:#003567; margin:8px 0 14px; line-height:1.3;">The Commercial Property Manager Guide to the Industry's Next Era</h3><span style="font-weight:600; font-size:14px; color:#003567;">Read more →</span></div></a>
4058      
4059    </div>
4060    <div style="text-align:center; margin-top:40px;"><a href="https://cove.is/building-operator-resources?hsLang=en" style="display:inline-block; padding:14px 32px; background:linear-gradient(135deg,#52C9EC 0%,#2aa8d4 100%); color:#fff; font-family:'Sora',sans-serif; font-weight:700; font-size:16px; text-decoration:none; border-radius:999px; box-shadow:0 8px 22px rgba(82,201,236,0.45);">Access More Resources</a></div>
4061  </div>
4062</section>
4063</div>
4064
4065<!-- ===== FINAL CTA ===== -->
4066<div class="cove-home-section">
4067<section style="padding:24px 24px 96px; font-family:'Inter',-apple-system,sans-serif; background:transparent;">
4068  <div style="max-width:1180px; margin:0 auto; position:relative; overflow:hidden; border-radius:28px; background:linear-gradient(150deg,#003567 0%,#00253f 100%); padding:70px 40px; text-align:center;">
4069    <div style="position:absolute; right:-100px; top:-120px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(82,201,236,.4), transparent 70%);"></div>
4070    <div style="position:absolute; left:-120px; bottom:-140px; width:380px; height:380px; border-radius:50%; background:radial-gradient(circle, rgba(82,201,236,.22), transparent 70%);"></div>
4071    <h2 style="position:relative; font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(30px,3.6vw,44px); line-height:1.12; color:#fff; max-width:760px; margin:0 auto 16px;">Ready to reimagine what's possible in your building?</h2>
4072    <p style="position:relative; color:rgba(255,255,255,.82); font-size:18px; line-height:1.6; max-width:640px; margin:0 auto 30px;">Cove helps leading property teams simplify operations, reduce costs, and improve tenant satisfaction, all through one unified platform. If you're looking to create a connected, best-in-class experience across your building or portfolio, we're here to help.</p>
4073    <div style="position:relative; display:flex; gap:14px; justify-content:center; flex-wrap:wrap;">
4074      <a href="https://landing.cove.is/book-a-demo?hsLang=en" style="display:inline-block; padding:14px 32px; border-radius:999px; background:linear-gradient(135deg,#52C9EC 0%,#2aa8d4 100%); color:#fff; font-family:'Sora',sans-serif; font-weight:700; font-size:16px; text-decoration:none; box-shadow:0 8px 22px rgba(82,201,236,0.45);">Modernize My Building</a>
4075      <a href="https://landing.cove.is/get-pricing-cove?hsLang=en" style="display:inline-block; padding:14px 32px; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; border:1.5px solid rgba(255,255,255,.3); font-family:'Sora',sans-serif; font-weight:700; font-size:16px; text-decoration:none;">Get Custom Pricing</a>
4076    </div>
4077  </div>
4078</section>
4079</div>
4080
4081</main></div>
4082
4083</div><!--end widget-span -->
4084</div><!--end row-->
4085</div><!--end row-wrapper -->
4086
4087</div><!--end widget-span -->
4088</div><!--end row-->
4089</div><!--end row-wrapper -->
4090
4091</div><!--end widget-span -->
4092</div>
4093</div>
4094</div>
4095</div>
4096
4097
4098<main id="main-content" class="body-container-wrapper home_page_v1_page">
4099  
4100  <div class="container-fluid home_dnd_area_Top middle-dnd-area">
4101<div class="row-fluid-wrapper">
4102<div class="row-fluid">
4103<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12">
4104
4105</div><!--end widget-span -->
4106</div>
4107</div>
4108</div>
4109
4110  <div class="container-fluid home_dnd_area_Main main-dnd-area">
4111<div class="row-fluid-wrapper">
4112<div class="row-fluid">
4113<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12">
4114
4115</div><!--end widget-span -->
4116</div>
4117</div>
4118</div>
4119
4120  <div class="container-fluid home_dnd_area_Bottom">
4121<div class="row-fluid-wrapper">
4122<div class="row-fluid">
4123<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12">
4124
4125</div><!--end widget-span -->
4126</div>
4127</div>
4128</div>
4129</main>
4130
4131
4132      
4133      
4134      <div data-global-resource-path="Cove_March2025/templates/partials/footer.html"><div class="footer_partial_wrapper">
4135  <div class="container-fluid footer_dnd_sec footer_top_sec">
4136<div class="row-fluid-wrapper">
4137<div class="row-fluid">
4138<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12">
4139
4140</div><!--end widget-span -->
4141</div>
4142</div>
4143</div>
4144
4145  <div id="hs_cos_wrapper_footer_section__2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module">
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155<footer class="footer footer_section__2 cm-footer">
4156
4157  
4158
4159  
4160  
4161
4162
4163  
4164
4165  
4166
4167  <div class="footer-section   footer-section-1  border_ _bg_choice sec_mob_spac	">
4168    <div class="page-center">
4169      <div class="flex_row  " style="">
4170        
4171        <div class="col-section  num1  ">
4172
4173          
4174          <div class="footer-row   al_ al_tab_ al_mob_ row1 type_logo  "> 
4175
4176            
4177            
4178            
4179
4180            
4181            
4182            <div class="footer-logo">
4183              
4184              
4185              
4186              <span id="hs_cos_wrapper_footer_section__2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_logo" style="" data-hs-cos-general-type="widget" data-hs-cos-type="logo"><a href="//cove.is?hsLang=en" id="hs-link-footer_section__2_" style="border-width:0px;border:0px;"><img src="https://cove.is/hs-fs/hubfs/Cove_March2025/images/final+logo_all_white.png?width=96&amp;height=39&amp;name=final+logo_all_white.png" class="hs-image-widget " height="39" style="height: auto;width:96px;border-width:0px;border:0px;" width="96" alt="Cove" title="Cove" loading="" srcset="https://cove.is/hs-fs/hubfs/Cove_March2025/images/final+logo_all_white.png?width=48&amp;height=20&amp;name=final+logo_all_white.png 48w, https://cove.is/hs-fs/hubfs/Cove_March2025/images/final+logo_all_white.png?width=96&amp;height=39&amp;name=final+logo_all_white.png 96w, https://cove.is/hs-fs/hubfs/Cove_March2025/images/final+logo_all_white.png?width=144&amp;height=59&amp;name=final+logo_all_white.png 144w, https://cove.is/hs-fs/hubfs/Cove_March2025/images/final+logo_all_white.png?width=192&amp;height=78&amp;name=final+logo_all_white.png 192w, https://cove.is/hs-fs/hubfs/Cove_March2025/images/final+logo_all_white.png?width=240&amp;height=98&amp;name=final+logo_all_white.png 240w, https://cove.is/hs-fs/hubfs/Cove_March2025/images/final+logo_all_white.png?width=288&amp;height=117&amp;name=final+logo_all_white.png 288w" sizes="(max-width: 96px) 100vw, 96px"></a></span>
4187            </div>
4188            
4189            
4190
4191
4192            
4193            
4194            
4195
4196            
4197            
4198            
4199
4200            
4201            
4202            
4203
4204            
4205            
4206            
4207
4208            
4209            
4210            
4211
4212            
4213            
4214            
4215
4216            
4217            
4218            
4219
4220            
4221            
4222            
4223
4224            
4225            
4226            
4227
4228            
4229            
4230            
4231
4232            
4233            
4234              
4235
4236              </div>
4237              
4238          <div class="footer-row   al_ al_tab_ al_mob_ row2 type_social_icons  "> 
4239
4240            
4241            
4242            
4243
4244            
4245            
4246            
4247
4248
4249            
4250            
4251            
4252
4253            
4254            
4255            
4256
4257            
4258            
4259            
4260
4261            
4262            
4263            
4264
4265            
4266            
4267            
4268
4269            
4270            
4271            
4272
4273            
4274            
4275            <div class="footer-social">
4276              
4277              <div class="footer-social-item tyicon">
4278                
4279                
4280                <a href="https://www.linkedin.com/company/poweredbycove/" target="_blank" rel="noopener">
4281
4282                
4283                <span id="hs_cos_wrapper_footer_section__2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_icon" style="" data-hs-cos-general-type="widget" data-hs-cos-type="icon"><svg version="1.0" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 448 512" aria-hidden="true"><g id="LinkedIn1_layer"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z" /></g></svg></span>
4284                
4285
4286                
4287
4288                
4289
4290
4291                </a>
4292              </div>
4293              
4294              <div class="footer-social-item tyicon">
4295                
4296                
4297                <a href="https://www.facebook.com/people/Cove-Software/61575749103383/#" target="_blank" rel="noopener">
4298
4299                
4300                <span id="hs_cos_wrapper_footer_section__2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_icon" style="" data-hs-cos-general-type="widget" data-hs-cos-type="icon"><svg version="1.0" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 448 512" aria-hidden="true"><g id="Facebook Square2_layer"><path d="M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z" /></g></svg></span>
4301                
4302
4303                
4304
4305                
4306
4307
4308                </a>
4309              </div>
4310              
4311              <div class="footer-social-item tyicon">
4312                
4313                
4314                <a href="https://x.com/CoveSoftwareCRE" target="_blank" rel="noopener">
4315
4316                
4317                <span id="hs_cos_wrapper_footer_section__2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_icon" style="" data-hs-cos-general-type="widget" data-hs-cos-type="icon"><svg version="1.0" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 448 512" aria-hidden="true"><g id="Twitter Square3_layer"><path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z" /></g></svg></span>
4318                
4319
4320                
4321
4322                
4323
4324
4325                </a>
4326              </div>
4327              
4328            </div>
4329            
4330            
4331
4332            
4333            
4334            
4335
4336            
4337            
4338            
4339
4340            
4341            
4342            
4343
4344            
4345            
4346              
4347
4348              </div>
4349              
4350          <div class="footer-row footer-newsletter-form  al_left al_tab_left al_mob_left row3 type_form_box  "> 
4351
4352            
4353            
4354            
4355
4356            
4357            
4358            
4359
4360
4361            
4362            
4363            
4364            <div class="footer-form form_add">
4365              <span id="hs_cos_wrapper_footer_section__2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_form" style="" data-hs-cos-general-type="widget" data-hs-cos-type="form"><h3 id="hs_cos_wrapper_footer_section__2__title" class="hs_cos_wrapper form-title" data-hs-cos-general-type="widget_field" data-hs-cos-type="text"></h3>
4366
4367<div id="hs_form_target_footer_section__2_"></div>
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377</span>
4378            </div>
4379            
4380            
4381            
4382
4383            
4384            
4385            
4386
4387            
4388            
4389            
4390
4391            
4392            
4393            
4394
4395            
4396            
4397            
4398
4399            
4400            
4401            
4402
4403            
4404            
4405            
4406
4407            
4408            
4409            
4410
4411            
4412            
4413            
4414
4415            
4416            
4417            
4418
4419            
4420            
4421              
4422
4423              </div>
4424              
4425            </div>
4426            
4427        <div class="col-section  num2  ">
4428
4429          
4430          <div class="footer-row   al_left al_tab_left al_mob_left row1 type_advance_menu  "> 
4431
4432            
4433            
4434            
4435
4436            
4437            
4438            
4439
4440
4441            
4442            
4443            
4444
4445            
4446            
4447            
4448
4449            
4450            
4451            
4452
4453            
4454            
4455            
4456            <div class="footer-menu">
4457              <span id="hs_cos_wrapper_footer_section__2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="menu"><div id="hs_menu_wrapper_footer_section__2_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="187431349852" aria-label="Navigation Menu">
4458 <ul role="menu">
4459  <li class="hs-menu-item hs-menu-depth-1 hs-item-has-children" role="none"><a href="javascript:;" aria-haspopup="true" aria-expanded="false" role="menuitem">Sectors</a>
4460   <ul role="menu" class="hs-menu-children-wrapper">
4461    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/sector/office" role="menuitem">Office</a></li>
4462    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/sector/life-sciences" role="menuitem">Life Science</a></li>
4463    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/sector/retail" role="menuitem">Retail</a></li>
4464    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/sector/industrial" role="menuitem">Industrial</a></li>
4465    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/sector/medical" role="menuitem">Medical</a></li>
4466   </ul></li>
4467 </ul>
4468</div></span>
4469            </div>
4470            
4471            
4472            
4473
4474            
4475            
4476            
4477
4478            
4479            
4480            
4481
4482            
4483            
4484            
4485
4486            
4487            
4488            
4489
4490            
4491            
4492            
4493
4494            
4495            
4496            
4497
4498            
4499            
4500              
4501
4502              </div>
4503              
4504          <div class="footer-row   al_left al_tab_left al_mob_left row2 type_advance_menu  "> 
4505
4506            
4507            
4508            
4509
4510            
4511            
4512            
4513
4514
4515            
4516            
4517            
4518
4519            
4520            
4521            
4522
4523            
4524            
4525            
4526
4527            
4528            
4529            
4530            <div class="footer-menu">
4531              <span id="hs_cos_wrapper_footer_section__2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="menu"><div id="hs_menu_wrapper_footer_section__2_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="187429430311" aria-label="Navigation Menu">
4532 <ul role="menu">
4533  <li class="hs-menu-item hs-menu-depth-1 hs-item-has-children" role="none"><a href="javascript:;" aria-haspopup="true" aria-expanded="false" role="menuitem">Solutions</a>
4534   <ul role="menu" class="hs-menu-children-wrapper">
4535    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/solution/property-managers" role="menuitem">Property Managers</a></li>
4536    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/solution/landlords" role="menuitem">Landlords</a></li>
4537    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/solution/engineers" role="menuitem">Engineers</a></li>
4538   </ul></li>
4539  <li class="hs-menu-item hs-menu-depth-1 hs-item-has-children" role="none"><a href="javascript:;" aria-haspopup="true" aria-expanded="false" role="menuitem">Product</a>
4540   <ul role="menu" class="hs-menu-children-wrapper">
4541    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/product/building-operations" role="menuitem">Building Operations</a></li>
4542    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/product/tenant-experience" role="menuitem">Tenant Experience</a></li>
4543   </ul></li>
4544 </ul>
4545</div></span>
4546            </div>
4547            
4548            
4549            
4550
4551            
4552            
4553            
4554
4555            
4556            
4557            
4558
4559            
4560            
4561            
4562
4563            
4564            
4565            
4566
4567            
4568            
4569            
4570
4571            
4572            
4573            
4574
4575            
4576            
4577              
4578
4579              </div>
4580              
4581          <div class="footer-row   al_left al_tab_left al_mob_left row3 type_advance_menu  "> 
4582
4583            
4584            
4585            
4586
4587            
4588            
4589            
4590
4591
4592            
4593            
4594            
4595
4596            
4597            
4598            
4599
4600            
4601            
4602            
4603
4604            
4605            
4606            
4607            <div class="footer-menu">
4608              <span id="hs_cos_wrapper_footer_section__2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="menu"><div id="hs_menu_wrapper_footer_section__2_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="187431889195" aria-label="Navigation Menu">
4609 <ul role="menu">
4610  <li class="hs-menu-item hs-menu-depth-1 hs-item-has-children" role="none"><a href="javascript:;" aria-haspopup="true" aria-expanded="false" role="menuitem">Company</a>
4611   <ul role="menu" class="hs-menu-children-wrapper">
4612    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/team" role="menuitem">Our Team</a></li>
4613    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/blog-press" role="menuitem">Blog &amp; Press</a></li>
4614    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/careers" role="menuitem">Careers</a></li>
4615    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/portfolio" role="menuitem">Portfolio</a></li>
4616    <li class="hs-menu-item hs-menu-depth-2" role="none"><a href="https://cove.is/contact" role="menuitem">Contact</a></li>
4617   </ul></li>
4618 </ul>
4619</div></span>
4620            </div>
4621            
4622            
4623            
4624
4625            
4626            
4627            
4628
4629            
4630            
4631            
4632
4633            
4634            
4635            
4636
4637            
4638            
4639            
4640
4641            
4642            
4643            
4644
4645            
4646            
4647            
4648
4649            
4650            
4651              
4652
4653              </div>
4654              
4655            </div>
4656            
4657        <div class="col-section  num3  ">
4658
4659          
4660            </div>
4661            
4662          </div>
4663        </div>
4664      </div>
4665      
4666
4667  
4668  
4669
4670
4671  
4672
4673  
4674
4675  <div class="footer-section   footer-section-2  border_0 _bg_choice sec_mob_spac	">
4676    <div class="page-center">
4677      <div class="flex_row primary_font " style="">
4678        
4679        <div class="col-section  num1  ">
4680
4681          
4682          <div class="footer-row   al_left al_tab_left al_mob_left row1 type_richtext  "> 
4683
4684            
4685            
4686            
4687
4688            
4689            
4690            
4691
4692
4693            
4694            
4695            
4696
4697            
4698            
4699            
4700
4701            
4702            
4703            
4704
4705            
4706            
4707            
4708
4709            
4710            
4711            
4712
4713            
4714            
4715            
4716
4717            
4718            
4719            
4720
4721            
4722            
4723            
4724
4725            
4726            
4727            
4728
4729            
4730            
4731            <div class="footer-content">
4732              <p>© 2026 Livelyhood, Inc. All rights reserved.</p>
4733            </div>
4734            
4735            
4736
4737            
4738            
4739              
4740
4741              </div>
4742              
4743          <div class="footer-row   al_left al_tab_left al_mob_left row2 type_advance_menu  "> 
4744
4745            
4746            
4747            
4748
4749            
4750            
4751            
4752
4753
4754            
4755            
4756            
4757
4758            
4759            
4760            
4761
4762            
4763            
4764            
4765
4766            
4767            
4768            
4769            <div class="footer-menu">
4770              <span id="hs_cos_wrapper_footer_section__2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="menu"><div id="hs_menu_wrapper_footer_section__2_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="187431889444" aria-label="Navigation Menu">
4771 <ul role="menu">
4772  <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://cove.is/privacy-policy" role="menuitem">Privacy Policy</a></li>
4773 </ul>
4774</div></span>
4775            </div>
4776            
4777            
4778            
4779
4780            
4781            
4782            
4783
4784            
4785            
4786            
4787
4788            
4789            
4790            
4791
4792            
4793            
4794            
4795
4796            
4797            
4798            
4799
4800            
4801            
4802            
4803
4804            
4805            
4806              
4807
4808              </div>
4809              
4810            </div>
4811            
4812          </div>
4813        </div>
4814      </div>
4815      
4816      
4817      </footer>	
4818
4819
4820
4821
4822
4823
4824
4825
4826    
4827    </div>
4828  <div class="container-fluid footer_dnd_sec footer_bottom_sec">
4829<div class="row-fluid-wrapper">
4830<div class="row-fluid">
4831<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12">
4832
4833</div><!--end widget-span -->
4834</div>
4835</div>
4836</div>
4837
4838</div></div>
4839      
4840      
4841    </div>
4842    
4843    
4844    
4845    
4846
4847    
4848    
4849<!-- HubSpot performance collection script -->
4850<script defer src="/hs/hsstatic/content-cwv-embed/static-1.1293/embed.js"></script>
vendor: 1 bytes, line 4850
4850
4851<script src="https://cove.is/hubfs/hub_generated/template_assets/1/187406759761/1784748281197/template_child.min.js"></script>
vendor: 1 bytes, line 4851
4851
4852<script src="https://cove.is/hubfs/hub_generated/template_assets/1/187406797850/1784748280554/template_aos.min.js"></script>
vendor: 1 bytes, line 4852
4852
4853<script src="https://cove.is/hubfs/hub_generated/template_assets/1/187427570271/1784748280482/template_parallax.min.js"></script>
4853
4854
4855    
4855<script>
4856      AOS.init({
4857        once: true,
4858        duration: 500
4859      });
4860    </script>
4860
4861    
4862<script>
4863var hsVars = hsVars || {}; hsVars['language'] = 'en';
4864</script>
4864
4865
4866<script src="/hs/hsstatic/cos-i18n/static-1.53/bundles/project.js"></script>
vendor: 1 bytes, line 4866
4866
4867<script src="https://cove.is/hubfs/hub_generated/module_assets/1/215778434909/1783691999062/module_HP_Site_Page_-_June_2026.min.js"></script>
vendor: 1 bytes, line 4867
4867
4868<script src="https://cove.is/hubfs/hub_generated/module_assets/1/187406764215/1742187094760/module_footer-section.min.js"></script>
4868
4869
4870    <!--[if lte IE 8]>
4871    
4871<script charset="utf-8" src="https://js.hsforms.net/forms/v2-legacy.js"></script>
4871
4872    <![endif]-->
4873
4874<script data-hs-allowed="true" src="/_hcms/forms/v2.js"></script>
4874
4875
4876    
4876<script data-hs-allowed="true">
4877        var options = {
4878            portalId: '21927082',
4879            formId: 'dacbe2f7-2499-4901-8c51-fae357ed5f19',
4880            formInstanceId: '9673',
4881            
4882            pageId: '187474757559',
4883            
4884            region: 'na1',
4885            
4886            
4887            
4888            
4889            pageName: "Unified Commercial Property Management Software | Cove",
4890            
4891            
4892            
4893            
4894            
4895            
4896            css: '',
4897            target: '#hs_form_target_footer_section__2_',
4898            
4899            
4900            
4901            
4902            
4903            
4904            abTestId: 217657519964,
4905            
4906            
4907            contentType: "standard-page",
4908            
4909            
4910            
4911            formsBaseUrl: '/_hcms/forms/',
4912            
4913            
4914            
4915            formData: {
4916                cssClass: 'hs-form stacked hs-custom-form'
4917            }
4918        };
4919
4920        options.getExtraMetaDataBeforeSubmit = function() {
4921            var metadata = {};
4922            
4923
4924            if (hbspt.targetedContentMetadata) {
4925                var count = hbspt.targetedContentMetadata.length;
4926                var targetedContentData = [];
4927                for (var i = 0; i < count; i++) {
4928                    var tc = hbspt.targetedContentMetadata[i];
4929                     if ( tc.length !== 3) {
4930                        continue;
4931                     }
4932                     targetedContentData.push({
4933                        definitionId: tc[0],
4934                        criterionId: tc[1],
4935                        smartTypeId: tc[2]
4936                     });
4937                }
4938                metadata["targetedContentMetadata"] = JSON.stringify(targetedContentData);
4939            }
4940
4941            return metadata;
4942        };
4943
4944        hbspt.forms.create(options);
4945    </script>
4945
4946
4947<script src="/hs/hsstatic/keyboard-accessible-menu-flyouts/static-1.17/bundles/project.js"></script>
4947
4948
4949<!-- Start of HubSpot Analytics Code -->
4950<script type="text/javascript">
4951var _hsq = _hsq || [];
4952_hsq.push(["setContentType", "standard-page"]);
4953_hsq.push(["setCanonicalUrl", "https:\/\/cove.is"]);
4954_hsq.push(["setPageId", "187474757559"]);
4955_hsq.push(["setContentMetadata", {
4956    "contentPageId": 187474757559,
4957    "legacyPageId": "187474757559",
4958    "contentFolderId": null,
4959    "contentGroupId": null,
4960    "abTestId": 217657519964,
4961    "languageVariantId": 187474757559,
4962    "languageCode": "en",
4963    
4964    
4965}]);
4966</script>
4966
4967
4968<script type="text/javascript" id="hs-script-loader" async defer src="/hs/scriptloader/21927082.js"></script>
4968
4969<!-- End of HubSpot Analytics Code -->
4970
4971
4972<script type="text/javascript">
4973var hsVars = {
4974    render_id: "95500e39-fd57-4e45-b9ac-a35a5ba6b371",
4975    ticks: 1789752660328,
4976    page_id: 187474757559,
4977    
4978    content_group_id: 0,
4979    portal_id: 21927082,
4980    app_hs_base_url: "https://app.hubspot.com",
4981    cp_hs_base_url: "https://cp.hubspot.com",
4982    language: "en",
4983    analytics_page_type: "standard-page",
4984    scp_content_type: "",
4985    
4986    analytics_page_id: "187474757559",
4987    category_id: 1,
4988    folder_id: 0,
4989    is_hubspot_user: false
4990}
4991</script>
4991
4992
4993
4994<script defer src="/hs/hsstatic/HubspotToolsMenu/static-1.640/js/index.js"></script>
4994
4995
4996<script type="text/javascript">
4997_linkedin_partner_id = "7103372";
4998window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
4999window._linkedin_data_partner_ids.push(_linkedin_partner_id);
5000</script>
5000<script type="text/javascript">
5001(function(l) {
5002if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])};
5003window.lintrk.q=[]}
5004var s = document.getElementsByTagName("script")[0];
5005var b = document.createElement("script");
5006b.type = "text/javascript";b.async = true;
5007b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
5008s.parentNode.insertBefore(b, s);})(window.lintrk);
5009</script>
5009
5010<noscript>
5011<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=7103372&amp;fmt=gif">
5012</noscript>
5013<style>
5014/* make the footer newsletter button smaller */
5015.footer-newsletter-form .hs-form .actions input[type="submit"],
5016.footer-newsletter-form .hs-form .actions button {
5017  padding: 0.5rem 1rem !important;
5018  font-size: 0.875rem !important;
5019  max-width: 160px !important;
5020  display: inline-block !important;
5021}
5022</style>
5023
5024
5025
5026    
5027    
5028    
5029  
5030</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.