/**
 * ITS landing pages: the "Navigo for Corporate Real Estate" design.
 *
 * Built from the design file by ticket-fix/corporate-real-estate-landing/tools/scope_css.py.
 * Every rule is scoped under #lp, and the global theme CSS (webflow.css,
 * style.css, its.webflow.css) is reverted inside #lp first, so the two can't
 * fight. SVG is left out of the revert because its presentation attributes
 * count as author styles.
 */

/* ---------- Isolation from the global theme CSS ---------- */
#lp :where(*:not(svg, svg *)),
#lp :where(*:not(svg, svg *))::before,
#lp :where(*:not(svg, svg *))::after{all:revert}
#lp .hidden,#lp [hidden],#lp .js-hide{display:none!important}
#lp .visually-hidden:not(:focus):not(:active){position:absolute!important;clip:rect(1px,1px,1px,1px)!important;overflow:hidden!important;height:1px!important;width:1px!important;word-wrap:normal!important}

/* ---------- Fonts (pulled out of the design file) ---------- */
@font-face{font-family:'DM Sans';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/dm-sans-italic-400.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500 600;font-display:swap;src:url(../fonts/dm-sans-normal-500-600.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/lora-normal-500.woff2) format('woff2')}
@font-face{font-family:'Noto Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/noto-sans-normal-400-700.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/nunito-normal-800.woff2) format('woff2')}
@font-face{font-family:'Roboto';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/roboto-normal-300-700.woff2) format('woff2')}

/* ---------- Design (scoped) ---------- */
#lp{--navy:#283883; --navy-deep:#222f72; --accent:#2E90D8; --accent-hi:#4FA8EE; --cyan:#3CC4DA;
  --charcoal:#2D2D2D; --ink:#0f1115; --text:#1d2129; --muted:#5b6270;
  --mist:#F0F3F8; --mist-2:#E6EBF3; --card-dark:#0B2E46; --footer:#252525; --star:#F08A3E; --req:#E0393E;
  --f-head:"Arial Rounded MT Bold","Arial Rounded MT","Nunito",ui-rounded,system-ui,sans-serif;
  --f-body:"Roboto",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --f-dm:"DM Sans","Roboto",system-ui,sans-serif;
  --f-foot:"Noto Sans","Roboto",system-ui,sans-serif;
  --wrap:1240px; --gutter:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);}
#lp *,#lp *::before,#lp *::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
body.lp-page{margin:0;background:#fff}
#lp{margin:0;background:#fff;color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
#lp img,#lp svg{display:block;max-width:100%}
#lp a{color:inherit}
#lp h1,#lp h2,#lp h3{margin:0}
#lp p{margin:0}
#lp .wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
#lp .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#lp :focus-visible{outline:3px solid var(--accent-hi);outline-offset:3px;border-radius:4px}
#lp .skip{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;color:var(--navy);padding:10px 14px;border-radius:6px;font-weight:500;transition:top .2s}
#lp .skip:focus{top:12px}
#lp .btn{--bg:var(--accent);display:inline-flex;align-items:center;justify-content:center;gap:.45em;font:500 16px/1 var(--f-body);text-decoration:none;color:#fff;background:var(--bg);border:1px solid transparent;border-radius:6px;padding:0 26px;min-height:48px;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .2s,border-color .2s}
#lp .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(46,144,216,.75)}
#lp .btn:active{transform:translateY(0);box-shadow:none}
#lp .btn .arr{display:inline-block;transition:transform .25s var(--ease);font-size:.9em}
#lp .btn:hover .arr{transform:translateX(4px)}
#lp .btn-ghost{--bg:rgba(255,255,255,.02);border-color:rgba(255,255,255,.38)}
#lp .btn-ghost:hover{--bg:rgba(255,255,255,.08);border-color:rgba(255,255,255,.7);box-shadow:none}
#lp .btn-lg{min-height:68px;padding:0 34px;font-size:16px;border-radius:7px}
#lp .topbar{background:var(--navy);color:#fff;font-size:14px;text-align:center;padding:8px var(--gutter);line-height:1.35}
#lp .site-header{position:sticky;top:0;z-index:40;background:#fff;transition:box-shadow .3s}
#lp .site-header.is-stuck{box-shadow:0 6px 24px -12px rgba(15,25,60,.35)}
#lp .site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding-block:2px}
#lp .brand{display:flex;align-items:flex-end;gap:10px;text-decoration:none;color:#1a1a1a}
#lp .brand img{height:28px;width:auto}
#lp .brand span{font-size:14.5px;letter-spacing:.1px;padding-bottom:1px}
#lp .header-cta{display:flex;align-items:center;gap:12px}
#lp .header-phone{font-size:19px;text-decoration:none;color:#111;letter-spacing:.2px;transition:color .2s}
#lp .header-phone:hover{color:var(--accent)}
#lp .header-cta .btn{min-height:48px;padding:0 40px;border-radius:4px;font-weight:400}
@media (max-width:820px){
  #lp .brand span{display:none}
}
@media (max-width:560px){
  #lp .header-phone{display:none}
  #lp .header-cta .btn{padding:0 18px;min-height:42px;font-size:15px}
  #lp .topbar{font-size:12.5px}
}
#lp .hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate}
#lp .hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:720px;height:720px;border-radius:50%;background:radial-gradient(closest-side,rgba(60,196,218,.16),transparent 70%);z-index:-1;pointer-events:none}
#lp .hero .wrap{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center;padding-block:clamp(48px,7vw,62px) clamp(48px,7vw,50px)}
#lp .pill{display:inline-flex;align-items:center;gap:10px;background:#262a33;color:var(--accent-hi);font-size:13px;letter-spacing:.3px;text-transform:uppercase;padding:8px 18px;border-radius:999px;margin-bottom:34px}
#lp .pill::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 rgba(79,168,238,.6);animation:blip 2.4s infinite}
@keyframes blip{0%{box-shadow:0 0 0 0 rgba(79,168,238,.55)}70%{box-shadow:0 0 0 7px rgba(79,168,238,0)}100%{box-shadow:0 0 0 0 rgba(79,168,238,0)}}
#lp .hero h1{font-family:var(--f-head);font-weight:700;font-size:clamp(36px,4.15vw,56px);line-height:1.12;letter-spacing:.2px;max-width:15.5em}
#lp .hero h1 em{font-style:normal;color:var(--cyan)}
#lp .hero-lede{margin-top:36px;font-size:clamp(17px,1.6vw,21px);line-height:1.9;letter-spacing:.45px;max-width:35em;color:#fff}
#lp .hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
#lp .hero-actions .btn-lg{min-width:208px}
#lp .demo-card{background:#fff;color:#111;border-radius:18px;padding:26px 26px 30px;box-shadow:0 40px 80px -40px rgba(4,10,40,.65);scroll-margin-top:90px}
#lp .demo-card h2{font:700 27px/1.15 var(--f-body);letter-spacing:-.1px}
#lp .demo-card .sub{color:#666;font-size:15px;margin-top:4px}
#lp .form{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:16px}
#lp .field{display:flex;flex-direction:column;gap:6px}
#lp .field.full{grid-column:1/-1}
#lp .field label{font-size:11.5px;color:#222;font-weight:500;padding-left:1px}
#lp .field label b{color:var(--req);font-weight:500}
#lp .field input,#lp .field select{appearance:none;-webkit-appearance:none;width:100%;height:46px;border:1px solid transparent;border-radius:6px;background:#F2F2F2;font:400 15px var(--f-body);color:#111;padding:0 14px;transition:background-color .2s,border-color .2s,box-shadow .2s}
#lp .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23666' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
#lp .field select:invalid{color:#8a8f98}
#lp .field input:hover,#lp .field select:hover{background-color:#ececec}
#lp .field input:focus,#lp .field select:focus{outline:none;background-color:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,144,216,.22)}
#lp .field input:user-invalid{border-color:var(--req)}
#lp .form .btn{grid-column:1/-1;min-height:48px;border-radius:5px;font-weight:400;margin-top:0}
#lp .form-note{grid-column:1/-1;text-align:center;color:#666;font-size:15px;line-height:1.3;margin-top:2px;padding-inline:12px}
#lp .form-done{grid-column:1/-1;display:none;background:#EEF6FD;border:1px solid #cfe5f8;color:#173f66;border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.45}
#lp .form.is-done .form-done{display:block}
@media (max-width:980px){
  #lp .hero .wrap{grid-template-columns:1fr}
  #lp .demo-card{max-width:560px}
}
@media (max-width:460px){
  #lp .form{grid-template-columns:1fr}
  #lp .demo-card{padding:22px 18px 24px}
  #lp .hero-actions .btn-lg{flex:1 1 100%}
}
#lp .logos{background:linear-gradient(#E9EDF4,var(--mist) 22%);border-bottom:1px solid #e6eaf1}
#lp .logos .wrap{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 34px;min-height:66px;padding-block:14px}
#lp .logos small{font:600 10.5px/1 var(--f-dm);letter-spacing:1.3px;color:#6b7280;text-transform:uppercase}
#lp .logos ul{display:contents;list-style:none}
#lp .logos li{font:600 14px/1 var(--f-dm);color:#a6adb9;letter-spacing:.2px;transition:color .25s}
#lp .logos li:hover{color:#5b6270}
#lp .section{padding-block:clamp(64px,8vw,110px)}
#lp .eyebrow{font:700 14px/1 var(--f-body);letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
#lp .h2{font-family:var(--f-head);font-weight:700;font-size:clamp(30px,3.15vw,42px);line-height:1.18;color:#000;letter-spacing:.1px}
#lp .lead{font-size:clamp(17px,1.45vw,19.5px);line-height:1.85;margin-top:30px;color:#111}
#lp .center{text-align:center}
#lp .center .lead{margin-inline:auto}
#lp .challenge .intro{max-width:690px}
#lp .challenge .h2{max-width:17em}
#lp .cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:66px}
#lp .c-card{background:var(--mist);border-radius:8px;padding:16px 20px 26px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-color .3s}
#lp .c-card:hover{transform:translateY(-4px);background:#fff;box-shadow:0 22px 40px -24px rgba(20,40,90,.35),0 0 0 1px var(--mist-2)}
#lp .c-icon{width:34px;height:34px;border-radius:6px;background:var(--charcoal);display:grid;place-items:center;color:var(--accent-hi);font:700 13px var(--f-body);letter-spacing:.5px}
#lp .c-icon svg{width:18px;height:18px}
#lp .c-card h3{font:500 20.5px/1.2 var(--f-body);color:#000;margin-top:18px;letter-spacing:-.1px}
#lp .c-card p{font-size:14.5px;line-height:1.75;margin-top:14px;color:#111}
@media (max-width:860px){
  #lp .cards-3{grid-template-columns:1fr;margin-top:44px}
}
#lp .lobby{background:var(--mist)}
#lp .lobby .h2{font-size:clamp(28px,2.95vw,40px)}
#lp .lobby .lead{max-width:30em;margin-top:22px;font-size:18px;line-height:1.55}
#lp .lead .touch{display:none}
@media (hover:none){
  #lp .lead .hover{display:none}
  #lp .lead .touch{display:inline}
}
#lp .scene{position:relative;max-width:944px;margin:40px auto 0}
#lp .scene-frame{border-radius:12px;overflow:hidden;box-shadow:0 40px 70px -45px rgba(10,25,70,.7);background:#0d1b36}
#lp .scene svg{width:100%;height:auto}
#lp .dev{cursor:pointer;outline:none;transition:filter .35s var(--ease)}
#lp .dev .scr{transition:stroke .3s}
#lp .dev:hover,#lp .dev.is-active{filter:drop-shadow(0 0 16px rgba(60,196,218,.55)) drop-shadow(0 0 2px rgba(60,196,218,.9))}
#lp .dev:focus-visible{filter:drop-shadow(0 0 0 #fff) drop-shadow(0 0 16px rgba(60,196,218,.8))}
#lp .hs-ring{fill:rgba(60,196,218,.06);stroke:#36b8cf;stroke-opacity:.5;stroke-width:3}
#lp .hs-dot{fill:#1fd6f0}
#lp .hs-pulse{fill:none;stroke:#3cc4da;stroke-width:2;transform-box:fill-box;transform-origin:center;opacity:0}
@media (prefers-reduced-motion:no-preference){
  #lp .hs-pulse{animation:hsPulse 2.8s var(--ease) infinite}
  #lp .dev:nth-of-type(2) .hs-pulse{animation-delay:.5s}
  #lp .dev:nth-of-type(3) .hs-pulse{animation-delay:1s}
  #lp .dev:nth-of-type(4) .hs-pulse{animation-delay:1.5s}
  #lp .dev:nth-of-type(5) .hs-pulse{animation-delay:2s}
}
@keyframes hsPulse{0%{transform:scale(.35);opacity:.9}100%{transform:scale(1.6);opacity:0}}
#lp .lobby-tip{--ax:50%;position:absolute;left:0;top:0;width:290px;background:#fff;border-radius:12px;padding:14px 18px 15px;text-align:center;box-shadow:0 18px 40px -16px rgba(5,12,40,.55);pointer-events:none;transition:left .35s var(--ease),top .35s var(--ease),opacity .2s;z-index:2}
#lp .lobby-tip::before{content:"";position:absolute;left:var(--ax);width:14px;height:14px;background:#fff;transform:translateX(-50%) rotate(45deg);border-radius:2px}
#lp .lobby-tip[data-place="bottom"]{transform:translate(-50%,14px)}
#lp .lobby-tip[data-place="bottom"]::before{top:-6px}
#lp .lobby-tip[data-place="top"]{transform:translate(-50%,calc(-100% - 14px))}
#lp .lobby-tip[data-place="top"]::before{bottom:-6px}
#lp .lobby-tip strong{display:block;font:600 15px/1.3 var(--f-dm);color:#111827}
#lp .lobby-tip span{display:block;font:400 12.5px/1.55 var(--f-dm);color:#5b6270;margin-top:6px}
#lp .tip-swap{animation:tipIn .3s var(--ease)}
@keyframes tipIn{from{opacity:.2}to{opacity:1}}
#lp .scene-chips{display:none}
@media (max-width:699px){
  #lp .lobby-tip{position:relative;left:auto!important;top:auto!important;transform:none!important;width:auto;margin-top:14px;text-align:left;box-shadow:0 10px 30px -18px rgba(5,12,40,.45)}
  #lp .lobby-tip::before{display:none}
  #lp .scene-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
  #lp .scene-chips button{font:500 13px var(--f-body);border:1px solid #cfd8e6;background:#fff;color:#1d2a4d;border-radius:999px;padding:7px 12px;cursor:pointer}
  #lp .scene-chips button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
}
#lp .solutions{background:var(--navy);color:#fff}
#lp .solutions .eyebrow{color:var(--accent-hi)}
#lp .solutions .h2{color:#fff;max-width:17em}
#lp .solutions .lead{color:#f1f4fb;max-width:35em}
#lp .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:60px}
#lp .s-card{position:relative;background:var(--card-dark);border-radius:6px;padding:26px 20px 26px;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
#lp .s-card::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(79,168,238,0);transition:border-color .35s;pointer-events:none}
#lp .s-card::before{content:"";position:absolute;width:340px;height:340px;right:-140px;top:-170px;border-radius:50%;background:radial-gradient(closest-side,rgba(79,168,238,.16),transparent);opacity:0;transition:opacity .45s;z-index:-1}
#lp .s-card:hover{transform:translateY(-3px);box-shadow:0 24px 40px -26px rgba(0,0,0,.6)}
#lp .s-card:hover::after{border-color:rgba(79,168,238,.45)}
#lp .s-card:hover::before{opacity:1}
#lp .s-num{font:700 13.5px/1 var(--f-body);letter-spacing:2.6px;text-transform:uppercase;color:var(--accent-hi)}
#lp .s-card h3{font:500 20.5px/1.25 var(--f-body);margin-top:22px;letter-spacing:-.1px}
#lp .s-card p{font-size:14.5px;line-height:1.78;color:#eef1f6;margin-top:16px;max-width:38em}
#lp .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;list-style:none;padding:0}
#lp .tags li{font-size:11.5px;color:#6CC0F5;background:var(--navy);border-radius:999px;padding:4px 26px;line-height:1.4}
@media (max-width:900px){
  #lp .grid-2{grid-template-columns:1fr;margin-top:44px}
  #lp .tags li{padding:4px 16px}
}
#lp .stats{background:var(--accent);color:#fff}
#lp .stats ul{list-style:none;margin:0 auto;padding:36px var(--gutter) 50px;max-width:var(--wrap);display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
#lp .stat-num{display:block;font:700 clamp(36px,3.6vw,46px)/1.1 var(--f-head);letter-spacing:.5px;font-variant-numeric:tabular-nums}
#lp .stats li span:last-child{display:block;font-size:15px;margin-top:8px;opacity:.97}
@media (max-width:700px){
  #lp .stats ul{grid-template-columns:repeat(2,1fr);row-gap:34px}
}
#lp .testimonials{background:var(--mist)}
#lp .t-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:72px;max-width:1290px;margin-inline:auto;padding-inline:var(--gutter)}
#lp .t-card{background:#fff;border-radius:14px;padding:30px 28px 32px;margin:0;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
#lp .t-card:hover{transform:translateY(-4px);box-shadow:0 28px 50px -30px rgba(20,40,90,.35)}
#lp .stars{color:var(--star);font-size:17px;letter-spacing:1px;line-height:1}
#lp .t-card blockquote{margin:22px 0 0;font:italic 400 15px/1.78 var(--f-dm);color:#2a2e35;flex:1}
#lp .t-card figcaption{margin-top:22px;font-family:var(--f-dm)}
#lp .t-card figcaption b{display:block;font-weight:600;font-size:13.5px;color:#111}
#lp .t-card figcaption span{display:block;font-size:12.5px;color:#6b7280;margin-top:2px}
@media (max-width:900px){
  #lp .t-grid{grid-template-columns:1fr;max-width:640px;margin-top:44px;gap:16px}
}
#lp .how .lead{max-width:29em;color:#3d4250;margin-top:24px}
#lp .steps-wrap{position:relative;margin-top:70px}
#lp .steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;padding:0;margin:0}
#lp .steps-line{position:absolute;top:34px;left:12.5%;right:12.5%;height:2px;background:var(--accent);transform-origin:left center}
#lp .step{position:relative;text-align:center}
#lp .step-num{width:69px;height:69px;margin:0 auto;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:700 30px/1 var(--f-head);box-shadow:0 0 0 6px #fff;transition:transform .35s var(--ease),background-color .3s}
#lp .step:hover .step-num{transform:scale(1.07);background:var(--accent)}
#lp .step h3{font:500 17.5px/1.3 var(--f-body);color:#000;margin-top:26px}
#lp .step p{font-size:14.5px;line-height:1.75;color:#3d4250;margin:14px auto 0;max-width:16.5em}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    #lp .steps-line{animation:drawX linear both;animation-timeline:view();animation-range:entry 30% cover 50%}
    #lp .step-num{animation:pop linear both;animation-timeline:view();animation-range:entry 15% cover 35%}
  }
}
@keyframes drawX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes drawY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media (max-width:760px){
  #lp .steps-wrap{margin-top:44px}
  #lp .steps{grid-template-columns:1fr;gap:30px}
  #lp .steps-line{top:34px;bottom:60px;left:34px;right:auto;width:2px;height:auto;transform-origin:center top}
  @supports (animation-timeline:view()){
    @media (prefers-reduced-motion:no-preference){
      #lp .steps-line{animation-name:drawY}
    }
  }
  #lp .step{text-align:left;display:grid;grid-template-columns:69px 1fr;column-gap:20px;align-items:start}
  #lp .step-num{grid-row:span 2;margin:0}
  #lp .step h3{margin-top:10px}
  #lp .step p{margin:6px 0 0;max-width:none}
}
#lp .site-footer{background:var(--footer);color:#d6d6d6;font-family:var(--f-foot);font-size:14px}
#lp .site-footer .wrap{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:40px 48px;padding-block:56px 40px}
#lp .site-footer h4{font:700 17px/1.2 var(--f-foot);color:#fff;text-transform:uppercase;margin:0 0 8px;letter-spacing:.1px}
#lp .site-footer address{font-style:normal;line-height:1.7;margin-bottom:18px;max-width:24em}
#lp .site-footer a{text-decoration:none;transition:color .2s}
#lp .site-footer a:hover{color:#fff}
#lp .f-logo{width:120px;height:auto;margin-bottom:22px}
#lp .f-member{display:flex;align-items:center;gap:18px;margin:6px 0 18px}
#lp .f-member img{width:113px;height:auto}
#lp .f-label{font-size:12px;color:#9a9a9a;text-transform:uppercase;letter-spacing:.8px}
#lp .f-phones{display:grid;grid-template-columns:auto auto;justify-content:start;gap:4px 28px;margin-bottom:18px}
#lp .f-phones a{display:block;color:#fff;font-weight:700;font-size:17px}
#lp .f-social{display:flex;gap:8px}
#lp .f-social a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;background:#3898EC;color:#fff;border-radius:3px;font-size:13px;font-weight:700}
#lp .f-social a:hover{background:#4fa8f5}
#lp .f-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,max-content);gap:9px 70px}
#lp .f-nav a{color:#d6d6d6}
#lp .f-insights p{line-height:1.7;max-width:22em}
#lp .f-insights p a{color:#3898EC}
#lp .f-insights p a:hover{color:#6db6f7;text-decoration:underline}
#lp .f-insights .btn{--bg:#3898EC;width:100%;max-width:345px;min-height:50px;border-radius:2px;margin-top:22px;font:700 14px var(--f-foot);text-transform:uppercase;letter-spacing:.2px}
#lp .f-bottom{border-top:1px solid #383838}
#lp .f-bottom .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-block:18px;grid-template-columns:none}
#lp .f-bottom small{font-size:12.5px;color:#a3a3a3}
#lp .f-bottom a{font-size:11.5px;letter-spacing:2px;color:#a3a3a3;text-transform:uppercase}
#lp .f-bottom a b{color:#e5e5e5;font-weight:700}
@media (max-width:980px){
  #lp .site-footer .wrap{grid-template-columns:1fr 1fr}
  #lp .f-insights{grid-column:1/-1}
}
@media (max-width:620px){
  #lp .site-footer .wrap{grid-template-columns:1fr}
  #lp .f-nav ul{gap:9px 40px}
}
@media (prefers-reduced-motion:no-preference){
  #lp .hero-copy>*{animation:rise .8s var(--ease) both}
  #lp .hero-copy>*:nth-child(2){animation-delay:.08s}
  #lp .hero-copy>*:nth-child(3){animation-delay:.16s}
  #lp .hero-copy>*:nth-child(4){animation-delay:.24s}
  #lp .demo-card{animation:rise .9s .22s var(--ease) both}
}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ==========================================================================
   Additions for the Drupal build (not in the static design file)
   ========================================================================== */

/* Sticky header: clip instead of hidden so position:sticky keeps working,
   and sit below the admin toolbar when an editor is logged in. */
#lp{overflow-x:clip}
/* The global theme sets overflow on <html> and <body>, which makes <body> a
   scroll container that never scrolls: the sticky header and the design's
   scroll-driven animations (steps line, step numbers) then freeze part-way. */
body.lp-page{overflow:visible}
#lp .site-header{top:var(--drupal-displace-offset-top,0px)}

/* Editor tabs (View / Edit / Clone / Leads) and status messages. */
#lp .lp-admin{background:#f3f5f9;border-bottom:1px solid #e3e7ee;font:14px/1.4 var(--f-body)}
#lp .lp-admin ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0 auto;padding:8px var(--gutter);max-width:var(--wrap)}
#lp .lp-admin a{color:var(--navy);text-decoration:none}
#lp .lp-admin a:hover{text-decoration:underline}
#lp .lp-admin .is-active>a,#lp .lp-admin a.is-active{font-weight:700}
#lp .lp-messages{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
#lp .lp-messages .messages:last-child{margin-bottom:14px}
#lp .messages{border-radius:8px;padding:12px 16px;margin:14px 0 0;font-size:15px;line-height:1.45;background:#EEF6FD;border:1px solid #cfe5f8;color:#173f66}
#lp .messages--error{background:#fdeeee;border-color:#f3c4c4;color:#8a1c1c}
#lp .messages--warning{background:#fff7e6;border-color:#f3dca6;color:#6b4a00}
#lp .messages ul{margin:0;padding-left:18px}

/* Hero: optional background image under a navy overlay. */
#lp .hero.has-bg{background-size:cover;background-position:center}

/* Demo form: Drupal renders each field as wrapper > .form-item > label + input. */
#lp .form .field .form-item{display:flex;flex-direction:column;gap:6px;margin:0}
#lp .field label.form-required::after{content:" *";color:var(--req);font-weight:500}
#lp .field input.error,#lp .field select.error{border-color:var(--req)}
#lp .field select.is-empty{color:#8a8f98}
#lp .field .description{font-size:12px;color:#666}
#lp .form .form-actions{grid-column:1/-1;margin:0}
#lp .form .form-actions .btn{width:100%}
#lp .form .captcha{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0}
#lp .form .captcha__title{position:absolute;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px}
#lp .form .captcha__description{font-size:12px;color:#666;margin-bottom:6px}
#lp .form-note-out{text-align:center;color:#666;font-size:15px;line-height:1.3;margin-top:14px;padding-inline:12px}

/* Trusted-by strip with uploaded logos instead of names. */
#lp .logos li img{display:block;height:28px;width:auto;max-width:140px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:opacity .25s,filter .25s}
#lp .logos li:hover img{filter:none;opacity:1}

/* Stats and steps follow the number of items (the design has 4 of each). */
@media (min-width:701px){#lp .stats ul{grid-template-columns:repeat(var(--n,4),1fr)}}
@media (min-width:761px){
  #lp .steps{grid-template-columns:repeat(var(--n,4),1fr)}
  #lp .steps-line{left:calc(50% / var(--n,4));right:calc(50% / var(--n,4))}
}

/* Steps: the line runs from the first number to the last, behind the circles
   (no white ring, so it meets each circle). On phones each step draws its own
   connector to the next one, so the line ends on the last circle however the
   text wraps. */
#lp .step-num{position:relative;z-index:1;box-shadow:none}
/* Finish the scroll animations early: a circle is at full colour as soon as it
   is fully on screen, and the line is fully drawn once it is a quarter of the
   way up. (The design's ranges left lower circles pale while being read.) */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    #lp .step-num{animation-range:entry 0% entry 100%}
    #lp .steps-line{animation-range:entry 0% cover 25%}
  }
}
@media (max-width:760px){
  #lp .steps-line{display:none}
  #lp .step:not(:last-child)::after{content:"";position:absolute;left:33.5px;top:34px;width:2px;height:calc(100% + 30px);background:var(--accent)}
}

/* Optional label on light cards. */
#lp .c-card .s-num{color:var(--accent);margin-top:18px}

/* Card images (optional). */
#lp .card-img{display:block;width:100%;height:auto;border-radius:6px;margin-bottom:16px}
#lp .c-icon img{width:100%;height:100%;object-fit:cover;border-radius:6px}

/* Lobby with an uploaded image: hotspots are buttons placed in % of the image. */
#lp .scene-frame--image{position:relative;background:#0d1b36}
#lp .scene-frame--image img{display:block;width:100%;height:auto}
#lp .hs{position:absolute;width:54px;height:54px;margin:-27px 0 0 -27px;padding:0;border:0;background:none;cursor:pointer;border-radius:50%;transition:filter .35s var(--ease)}
#lp .hs svg{width:100%;height:100%;overflow:visible}
#lp .hs:hover,#lp .hs.is-active{filter:drop-shadow(0 0 16px rgba(60,196,218,.55)) drop-shadow(0 0 2px rgba(60,196,218,.9))}
#lp .hs .hs-ring{fill:rgba(13,27,54,.35)}
#lp .dev.is-off{pointer-events:none}
#lp .dev.is-off .hs-pulse,#lp .dev.is-off .hs-ring,#lp .dev.is-off .hs-dot{display:none}
@media (prefers-reduced-motion:no-preference){
  #lp .hs .hs-pulse{animation:hsPulse 2.8s var(--ease) infinite}
  #lp .hs:nth-of-type(2n) .hs-pulse{animation-delay:.7s}
  #lp .hs:nth-of-type(3n) .hs-pulse{animation-delay:1.4s}
}

/* Plain text section (lp_text). */
#lp .text-section.bg-mist{background:var(--mist)}
#lp .text-section.bg-navy{background:var(--navy);color:#fff}
#lp .text-section.bg-navy .h2{color:#fff}
#lp .text-section.bg-navy .eyebrow{color:var(--accent-hi)}
#lp .text-body{max-width:46em;margin-top:26px;font-size:17px;line-height:1.8}
#lp .text-body p{margin:0 0 1em}
#lp .text-body a{color:var(--accent)}
#lp .text-section.bg-navy .text-body a{color:var(--accent-hi)}
#lp .text-body ul,#lp .text-body ol{padding-left:1.3em;margin:0 0 1em}
#lp .text-body h3{font:500 20px/1.3 var(--f-body);margin:1.4em 0 .5em}

/* ==========================================================================
   Page style "Property & facility" (.lp--pfm) and its two sections
   (Hero + video, Form + text). Sizes are taken from the design screenshot,
   scaled to a 1440 px wide page. Nothing here matches existing markup.
   ========================================================================== */
#lp{--pv-dark:#0a1229;--pv-top:#0b1430;--pv-hero-a:#18244f;--pv-hero-b:#0b1430;--pv-card:#0f254c;
  --pv-blue:#2563ea;--pv-blue-hi:#3b78f2;--pv-hl:#7fa6ff;--pv-ink:#0f1424;--pv-muted:#5b6478;--pv-bg:#f4f6fb}
#lp .pv-wrap{width:min(1336px,100% - 2 * var(--gutter));margin-inline:auto}

/* Top bar, header, footer */
#lp .pv-topbar{background:var(--pv-top);color:#c9d3ee;font:600 12px/42px var(--f-body);letter-spacing:2.4px;text-transform:uppercase;text-align:center;padding-inline:var(--gutter);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#lp .pv-header{background:#fff;border-bottom:1px solid #e6eaf2}
#lp .pv-header-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:149px}
#lp .pv-logo{display:block;flex:none}
#lp .pv-logo img{display:block;height:133px;width:auto}
#lp .pv-header-cta{display:flex;align-items:center;gap:14px}
#lp .pv-pill{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:61px;padding:0 32px;border-radius:999px;font:700 16px/1 var(--f-body);text-decoration:none;white-space:nowrap;transition:background-color .2s,border-color .2s,transform .2s var(--ease),box-shadow .2s}
#lp .pv-pill--blue{background:var(--pv-blue);color:#fff;border:1px solid var(--pv-blue)}
#lp .pv-pill--blue:hover{background:var(--pv-blue-hi);transform:translateY(-1px);box-shadow:0 10px 24px -12px rgba(37,99,234,.8)}
#lp .pv-pill--line{background:#fff;color:var(--pv-ink);border:1.5px solid #d3d9e6}
#lp .pv-pill--line:hover{border-color:var(--pv-blue)}
#lp .pv-pill--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}
#lp .pv-pill--ghost:hover{border-color:#fff}
#lp .pv-footer{background:var(--pv-dark);color:#8a94ad}
#lp .pv-footer-in{display:flex;align-items:center;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;min-height:61px;padding-block:10px}
#lp .pv-footer small{font-size:12px}
#lp .pv-footer-links{display:flex;gap:26px}
#lp .pv-footer-links a{color:#e7ebf5;font:700 12px var(--f-body);text-decoration:none}
#lp .pv-footer-links a:hover{text-decoration:underline}

/* Hero + video */
#lp .pv-hero{background:radial-gradient(900px 520px at 78% 0%,rgba(74,130,245,.16),transparent 70%),linear-gradient(160deg,var(--pv-hero-a),var(--pv-hero-b) 70%);color:#fff;padding-block:62px 54px}
#lp .pv-hero-grid{display:grid;grid-template-columns:minmax(0,630px) minmax(0,645px);justify-content:space-between;gap:48px}
#lp .pv-eyebrow{font:700 13px/1.2 var(--f-body);letter-spacing:2.6px;text-transform:uppercase;color:var(--pv-hl);margin:0 0 26px}
#lp .pv-hero h1{font:700 58px/1.09 var(--f-body);letter-spacing:-.2px;color:#fff;max-width:10.2em}
#lp .pv-hl{display:block;color:var(--pv-hl)}
#lp .pv-lede{margin-top:30px;font-size:18px;line-height:1.76;color:#b8c3dd;max-width:600px}
#lp .pv-lede p{margin:0 0 .8em}
#lp .pv-lede p:last-child{margin-bottom:0}
#lp .pv-lede strong,#lp .pv-lede b{color:#fff;font-weight:700}
#lp .pv-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
#lp .pv-video-col{padding-top:14px}
#lp .pv-video-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
#lp .pv-video-label{font:700 14px var(--f-body);color:#fff}
#lp .pv-video-corner{font:600 12px var(--f-body);letter-spacing:2px;text-transform:uppercase;color:#8a96b5}
#lp .pv-video{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:10px;overflow:hidden;background:#0b1430;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
#lp .pv-video img,#lp .pv-video iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}
#lp .pv-play{position:absolute;inset:0;margin:auto;width:76px;height:76px;padding:0;border:0;background:none;cursor:pointer;border-radius:50%}
#lp .pv-play svg{width:100%;height:100%}
#lp .pv-play circle{fill:rgba(0,0,0,.82);transition:fill .2s}
#lp .pv-play path{fill:#fff}
#lp .pv-play:hover circle{fill:var(--pv-blue)}
#lp .pv-play:focus-visible{outline:3px solid var(--pv-hl);outline-offset:4px}
#lp .pv-caption{margin-top:16px;font-size:13px;line-height:1.65;color:#aab4cc}
#lp .pv-caption p{margin:0}
#lp .pv-caption a{color:#dfe6f7;text-decoration:underline}
#lp .pv-checks{display:flex;flex-wrap:wrap;gap:10px 40px;list-style:none;margin:44px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.12)}
#lp .pv-checks li{display:flex;align-items:center;gap:10px;font-size:14px;color:#c9d3ee}
#lp .pv-checks li::before{content:"";width:14px;height:8px;border-left:2px solid var(--pv-hl);border-bottom:2px solid var(--pv-hl);transform:rotate(-45deg) translateY(-2px);flex:none}

/* Form + text */
#lp .pv-form-sec{background:var(--pv-bg);padding-block:72px 80px;scroll-margin-top:20px}
#lp .pv-form-grid{display:grid;grid-template-columns:minmax(0,777px) minmax(0,465px);justify-content:space-between;gap:48px;align-items:start}
#lp .pv-card{background:var(--pv-card);border-radius:14px;padding:34px 34px 38px;box-shadow:0 30px 60px -30px rgba(10,20,50,.45);color:#fff}
#lp .pv-card .form{margin-top:0;gap:22px 16px}
#lp .pv-card .field label{font-size:12px;font-weight:700;color:#fff}
#lp .pv-card .field label.form-required::after{color:#ff8a8a}
#lp .pv-card .field input,#lp .pv-card .field select,#lp .pv-card .field textarea{background-color:#fff;border:1px solid #d9dfea;border-radius:5px;height:52px;font:400 15px var(--f-body);color:#111;padding:0 14px}
#lp .pv-card .field textarea{appearance:none;width:100%;height:122px;padding:12px 14px;line-height:1.5;resize:vertical}
#lp .pv-card .field input::placeholder,#lp .pv-card .field textarea::placeholder{color:#9aa3b5}
#lp .pv-card .field input:focus,#lp .pv-card .field select:focus,#lp .pv-card .field textarea:focus{outline:none;border-color:var(--pv-hl);box-shadow:0 0 0 3px rgba(127,166,255,.35)}
#lp .pv-card .field .description{color:#c9d3ee}
#lp .pv-privacy{grid-column:1/-1;margin:-8px 0 0;font-size:12px;line-height:1.6;color:rgba(255,255,255,.75)}
#lp .pv-card .form .form-actions{display:flex;gap:16px;align-items:center}
#lp .pv-card .form .form-actions .btn{width:auto;min-height:60px;padding:0 34px;border-radius:999px;font:700 16px var(--f-body);background:var(--pv-blue);border-color:var(--pv-blue)}
#lp .pv-card .form .form-actions .btn:hover{background:var(--pv-blue-hi)}
#lp .pv-card .captcha__description{color:#c9d3ee}
#lp .pv-side{padding-top:20px}
#lp .pv-side .pv-eyebrow{color:var(--pv-blue);font-size:12px;letter-spacing:2.4px;margin-bottom:14px}
#lp .pv-side h2{font:700 42px/1.2 var(--f-body);letter-spacing:-.4px;color:var(--pv-ink);margin:0 0 22px;max-width:10.4em;text-wrap:balance}
#lp .pv-side-text{font-size:15.5px;line-height:1.75;color:var(--pv-muted)}
#lp .pv-side-text p{margin:0 0 14px}
#lp .pv-call{margin-top:26px;padding-top:26px;border-top:1px solid #dde2ec}
#lp .pv-call-h{font:700 15px var(--f-body);color:var(--pv-ink);margin:0}
#lp .pv-call-phone{display:inline-block;margin:6px 0 14px;font:700 24px var(--f-body);color:var(--pv-blue);text-decoration:none}
#lp .pv-call-phone:hover{text-decoration:underline}
#lp .pv-call-note{font-size:15px;line-height:1.7;color:var(--pv-muted);margin:0}

/* Narrower screens */
@media (max-width:1100px){
  #lp .pv-hero-grid,#lp .pv-form-grid{grid-template-columns:minmax(0,1fr)}
  #lp .pv-video-col{max-width:720px}
  #lp .pv-side{order:-1;padding-top:0}
  #lp .pv-checks{margin-top:44px}
}
@media (max-width:720px){
  #lp .pv-header-in{min-height:88px}
  #lp .pv-logo img{height:72px}
  #lp .pv-pill{min-height:46px;padding:0 20px;font-size:14px}
  #lp .pv-topbar{font-size:10.5px;letter-spacing:1.4px;line-height:34px}
  #lp .pv-hero{padding-block:44px 40px}
  #lp .pv-hero h1{font-size:40px;letter-spacing:-.8px}
  #lp .pv-lede{font-size:16px}
  #lp .pv-checks{gap:10px 24px}
  #lp .pv-form-sec{padding-block:48px 56px}
  #lp .pv-card{padding:24px 20px 28px}
  #lp .pv-card .form{grid-template-columns:minmax(0,1fr)}
  #lp .pv-side h2{font-size:32px}
}
@media (max-width:560px){
  #lp .pv-header-cta .pv-pill--line{display:none}
  #lp .pv-hero h1{font-size:34px}
  #lp .pv-topbar{white-space:normal;line-height:1.6;padding-block:7px}
  #lp .pv-actions .pv-pill{flex:1 1 100%}
}

/* Book a Demo: superscript ® in "Navigo®" (its_landing BrandMark). The #lp
   reset above reverts the theme's .superscript rule, so restate it here. */
#lp sup.superscript{font-size:60%;vertical-align:super;line-height:0}

/* reCAPTCHA: the #lp reset also reverts the widget iframe's width/height
   attributes and its frameborder, so it fell back to the browser default
   (300x150 plus a 2px white inset border) and covered the privacy note. */
#lp .g-recaptcha iframe{width:304px;height:78px;border:0;display:block}
