@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600&display=swap');
:root{--nav:#555;--mast:#ece8e7;--page:#f7f7f7;--purple:#60638f;--char:#474747;--dark:#1f1f1f;--blue:#2483bd;--text:#666;--rule:#ddd;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--text);font-family:'Raleway','Helvetica Neue',Arial,sans-serif;font-weight:400;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.site-width{width:min(1180px,calc(100% - 38px));margin:0 auto}
.topnav{height:55px;background:var(--nav);color:#eee;position:relative;z-index:80}.topnav .site-width{height:100%;display:flex;align-items:center}.menu{display:flex;align-items:stretch;height:100%;gap:0}.menu>a,.menu-item>button{height:100%;display:flex;align-items:center;padding:0 29px;border:0;background:transparent;color:#eee;font:400 12px 'Raleway',sans-serif;letter-spacing:.02em;cursor:pointer}.menu>a:first-child{padding-left:28px}.menu>a:hover,.menu-item:hover>button{background:#4c4c4c;color:#fff}.menu-item{position:relative}.submenu{position:absolute;top:55px;left:0;min-width:310px;background:#4b4b4b;box-shadow:0 12px 28px #0004;display:none}.menu-item:hover .submenu,.menu-item:focus-within .submenu{display:block}.submenu a{display:block;padding:12px 16px;color:#fff;font-size:12px;border-bottom:1px solid #ffffff14}.submenu a:hover{background:#5b5b5b}.mobile-toggle{display:none;margin-left:auto;color:white;background:none;border:1px solid #ffffff55;border-radius:3px;padding:7px 10px;font-size:18px}
.masthead{background:var(--mast);height:142px}.masthead .site-width{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 52px}.brand img{width:188px;height:auto}.contact-head{text-align:right;color:#282828;font-family:Arial,sans-serif}.contact-head .phone{font-size:21px;line-height:1.15}.contact-head .email{font-size:18px;margin-top:4px}.socials{display:flex;justify-content:flex-end;gap:7px;margin-top:7px}.socials a{width:34px;height:34px;border-radius:50%;background:#555;color:#eee;display:grid;place-items:center;font:bold 15px Arial}.socials a.mail{font-size:20px}
.breadcrumb{height:49px;background:#fff}.breadcrumb .site-width{height:100%;display:flex;align-items:center;font-size:14px;color:#555;padding:0 12px}.breadcrumb a{color:#2d91cb}.page-title-box{background:#fff;border:1px solid #eee;margin:0 auto 18px;padding:12px 14px;text-align:center}.page-title-box h1{font-weight:300;color:#575757;font-size:22px;margin:0 0 9px}.thin-gold{border-top:1px solid #d8c59e}
.video-stage{background:#000;padding:22px 0 12px}.video-shell{width:min(1180px,calc(100% - 38px));margin:0 auto}.video-frame{aspect-ratio:16/9;background:#000;border:0;width:100%;display:block}.video-note{text-align:center;color:#fff;font:400 25px Arial,sans-serif;padding:6px 0 5px}
.boost{background:var(--purple);color:#fff;padding:54px 0 66px}.boost-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:760px}.boost-copy{padding:6px 56px 0 14px;border-right:3px solid rgba(255,255,255,.85)}.boost h2{font:500 40px/1.12 Arial,sans-serif;text-transform:uppercase;margin:0 0 15px;letter-spacing:.01em}.boost p,.boost li{font-family:Arial,sans-serif;font-size:16px;line-height:1.45}.boost ul{padding-left:24px;margin-top:6px}.boost-form-wrap{padding:3px 18px 0 44px}.form-card{background:#fff;color:#555;padding:30px 31px 28px;max-width:420px;margin:0 auto;box-shadow:0 1px 1px #0001}.form-card h3{color:#111;font:700 18px/1.28 Arial,sans-serif;margin:0 0 30px}.field{margin-bottom:16px}.field label{display:block;color:#666;font:14px Arial;margin-bottom:5px}.field small{display:block;font:12px Arial;color:#777;margin:-2px 0 7px}.field input,.field textarea{width:100%;border:1px solid #d7dde4;background:#fff;padding:11px 10px;outline:none}.field textarea{min-height:160px;resize:vertical}.form-card button{width:100%;background:#365f86;color:#fff;border:0;padding:14px 16px;font-weight:600;cursor:pointer}.form-card button:hover{background:#2f5478}.form-status{font-size:12px;margin-top:8px}.hp{position:absolute;left:-99999px}
.section{padding:64px 0}.section-title{text-align:center;color:#eee;font-size:36px;font-weight:300;margin:0 0 18px}.section-title.darktext{color:#444}.section-rule{height:1px;background:#eee;opacity:.85;margin-bottom:24px}.success{background:#555;color:#f4f4f4}.success-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.testimonial-card{border:1px solid #bbb;padding:22px 29px 20px;min-height:470px}.testimonial-card .logo{height:82px;background:white;display:flex;align-items:center;justify-content:center;padding:14px;margin-bottom:22px}.testimonial-card .logo img{max-height:55px;width:auto}.testimonial-card h3{font-size:20px;font-weight:400;margin:0 0 13px;color:#fff}.testimonial-card p{font-family:Arial,sans-serif;font-size:15px;line-height:1.55;margin:9px 0}.person{display:flex;align-items:center;gap:15px;margin-top:15px}.person img{width:61px;height:61px;border-radius:50%;object-fit:cover}.person strong{font-family:Arial,sans-serif;color:#fff}.person span{font:14px Arial;line-height:1.35}.outline-btn{display:block;width:max-content;margin:28px auto 0;border:3px solid #fff;border-radius:24px;padding:7px 29px;color:#fff;font-size:14px}
.clients{background:var(--mast);padding:53px 0 62px}.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 28px}.client-card{background:transparent;border:0;display:flex;align-items:center;justify-content:center;padding:0;text-align:center;overflow:hidden;aspect-ratio:257/131}.client-card img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;display:block}.client-card.text-logo{font-family:Georgia,serif;letter-spacing:.01em}.client-card.text-logo b{display:block;color:#222;font:700 17px Arial}.benefits{background:#555;color:#e8e8e8}.benefit-title{font-size:27px;font-weight:300;text-align:center;color:#eee;margin:0 0 28px}.benefit-row{display:grid;grid-template-columns:420px 1fr;gap:35px;padding:47px 0;border-top:1px solid #ddd;align-items:center}.benefit-row.reverse{grid-template-columns:1fr 420px}.benefit-row.reverse .benefit-img{background:transparent;border:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:visible}.benefit-img{background:#fff;border:1px solid #ddd;min-height:230px;display:flex;align-items:center;justify-content:center;overflow:hidden}.benefit-img img{width:100%;height:auto;object-fit:contain;display:block}.benefit-row p,.benefit-row li{font:16px/1.45 Arial,sans-serif;color:#ddd;margin:0}.light-benefits{background:#fff;padding:62px 0}.light-row{display:grid;grid-template-columns:1fr 1.25fr;gap:45px;align-items:center;padding:43px 0;border-top:1px solid #d9d9d9}.light-row.reverse{grid-template-columns:1.25fr 1fr}.light-row.reverse .light-media{min-height:0;background:transparent;overflow:visible}.light-row h3{font-weight:300;font-size:24px;color:#565656;margin:0 0 14px}.light-row p,.light-row li{font-family:Arial,sans-serif;font-size:15px;color:#777}.light-media{min-height:265px;background:#eee;overflow:hidden}.light-media img{width:100%;height:auto;object-fit:contain;display:block}
.linkedin{background:#f4f1f1;padding:64px 0}.linkedin-box{background:#fff;border:1px solid #ddd;max-width:880px;margin:0 auto;padding:32px}.linkedin-head{display:flex;align-items:center;gap:16px}.li-icon{background:#0a66c2;color:#fff;font:bold 25px Arial;width:48px;height:48px;border-radius:4px;display:grid;place-items:center}.linkedin-head h3{font-weight:500;color:#333;margin:0}.linkedin-head a{margin-left:auto;color:#0a66c2;font-weight:600}.li-post{margin-top:22px;border-top:1px solid #eee;padding-top:20px;font-family:Arial,sans-serif;color:#555}.li-post .tagline{font-size:13px;color:#777}.li-post .read{display:inline-block;margin-top:12px;color:#0a66c2;font-weight:700}
.awards{background:var(--purple);padding:30px 0}.awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;align-items:center;justify-items:center}.award-image{width:100%;display:flex;justify-content:center;align-items:center}.award-image img{display:block;max-width:100%;width:auto;height:245px;object-fit:contain}
.footer{background:#1f1f1f;color:#ddd;padding:50px 0 38px}.footer-grid{display:grid;grid-template-columns:1.15fr .9fr 1fr;gap:75px}.footer .wordmark{font-size:27px;font-weight:300;color:#eee;letter-spacing:.02em}.footer h3{font-size:21px;font-weight:300;margin:0 0 10px;color:#ddd}.footer-links a{display:block;color:#2586c2;font-size:14px;line-height:1.55}.footer-copy{font:600 13px/1.35 Arial,sans-serif;color:#eee}.footer-copy .line{height:2px;background:#ddd;margin:18px 0}.footer .socials{justify-content:center}
.content-wrap{background:#fff;padding:0 12px 48px}.prose{max-width:1120px;margin:0 auto;color:#666;font-family:Arial,sans-serif;font-size:15px}.prose h2{font:300 25px 'Raleway';color:#555;margin:32px 0 10px}.prose h3{font:400 20px 'Raleway';color:#555;margin:25px 0 9px}.prose p{margin:0 0 13px}.prose ul{margin-top:6px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.content-card{background:#eee9e8;padding:18px}.content-card img{width:100%;height:auto}.demo-embed{background:#111;padding:14px;margin:20px 0}.demo-embed iframe{width:100%;height:650px;border:0;display:block;background:#111}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#ddd}.quote-list{display:grid;gap:20px}.quote-full{background:#eee9e8;padding:22px;display:grid;grid-template-columns:160px 1fr;gap:25px}.quote-full .quote-logo{background:#fff;min-height:110px;display:flex;align-items:center;justify-content:center;padding:12px}.quote-full .quote-logo img{max-height:70px;width:auto}.contact-page .boost{padding-top:45px}.contact-page .boost-grid{min-height:930px}
@media(max-width:900px){.topnav{height:auto}.topnav .site-width{min-height:55px;flex-wrap:wrap}.mobile-toggle{display:block}.menu{display:none;width:100%;height:auto;flex-direction:column}.menu.open{display:flex}.menu>a,.menu-item>button{width:100%;height:auto;padding:13px 14px;text-align:left;justify-content:flex-start}.submenu{position:static;display:block;box-shadow:none;background:#4b4b4b;margin-left:12px}.masthead{height:115px}.masthead .site-width{padding:0 10px}.brand img{width:145px}.contact-head .phone{font-size:17px}.contact-head .email{font-size:15px}.boost-grid,.success-grid,.benefit-row,.benefit-row.reverse,.light-row,.light-row.reverse,.footer-grid,.content-grid{grid-template-columns:1fr}.boost-grid{min-height:0}.boost-copy{border-right:0;border-bottom:2px solid #fff;padding:0 5px 35px}.boost-form-wrap{padding:35px 0 0}.success-grid{gap:18px}.client-grid{grid-template-columns:repeat(2,1fr)}.benefit-row.reverse .benefit-img,.light-row.reverse .light-media{order:0}.awards-grid{gap:15px}.award-badge{width:150px;height:150px;font-size:15px}.award-badge.center{width:165px;height:130px}.demo-embed iframe{height:500px}}
@media(max-width:560px){.site-width,.video-shell{width:min(100% - 24px,1180px)}.masthead .site-width{justify-content:center}.contact-head{display:none}.video-note{font-size:16px}.boost{padding:40px 0}.boost h2{font-size:31px}.section-title{font-size:29px}.client-grid{grid-template-columns:1fr}.benefit-row,.light-row{padding:32px 0}.awards-grid{grid-template-columns:1fr}.footer-grid{gap:30px}.quote-full{grid-template-columns:1fr}.demo-embed iframe{height:420px}}

/* Homepage live-asset fidelity pass */
.client-card{background:transparent!important;border:0!important;padding:0!important;height:auto!important;aspect-ratio:257/131;overflow:hidden}.client-card img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important}.benefit-img{background:transparent!important;border:0!important;min-height:0!important;overflow:visible!important}.benefit-img img,.light-media img{width:100%!important;height:auto!important;object-fit:contain!important;display:block}.light-media{min-height:0!important;background:transparent!important;overflow:visible!important}.award-image{width:100%;display:flex;justify-content:center;align-items:center}.award-image img{display:block;width:auto;max-width:100%;height:245px;object-fit:contain}
@media(max-width:900px){.award-image img{height:180px}}@media(max-width:560px){.award-image img{height:auto;max-width:280px}}

/* Frozen legacy submenu reconstruction from supplied August 2026 captures */
.subpage-area{background:#fff;padding:0 0 44px}.subpage-frame{width:min(1180px,calc(100% - 38px));margin:0 auto;background:#fff;border:1px solid #eee;padding:0 14px 28px}.subpage-title{text-align:center;font:300 22px 'Raleway',sans-serif;color:#575757;padding:12px 0 10px;border-bottom:1px solid #d8c59e;margin:0 0 20px}.subpage-copy{font:15px/1.52 Arial,sans-serif;color:#5f5f5f}.subpage-copy p{margin:0 0 13px}.subpage-copy a,.legacy-main-card a,.sidebar-card a{color:#268bc5;font-weight:600}.subpage-copy h2,.subpage-copy h3{font-family:'Raleway',sans-serif;color:#565656;font-weight:400}.subpage-copy h2{font-size:22px;text-align:center;margin:16px 0 10px}.subpage-copy h3{font-size:18px;margin:20px 0 8px}.subpage-panel{background:#eeeae9;padding:20px;margin:0 0 18px}.subpage-panel h2,.subpage-panel h3{margin-top:0}.core-product-box{background:#eeeae9;padding:30px;margin:18px 0 2px}.core-product-box>h2{text-align:center;font:600 21px/1.25 Arial,sans-serif;margin:0 0 22px;color:#555}.core-product-grid{display:grid;grid-template-columns:430px 1fr;gap:32px;align-items:start}.core-product-grid img{width:100%;height:auto}.core-copy{font:15px/1.5 Arial,sans-serif;color:#555}.core-copy ul{margin:7px 0 15px 20px;padding:0}.core-copy li{margin:3px 0}.feature-grid{display:grid;grid-template-columns:420px 1fr;gap:30px;align-items:start}.feature-media{display:flex;justify-content:center;align-items:flex-start}.feature-media img{width:100%;height:auto;object-fit:contain}.feature-copy h2{font:600 18px/1.25 Arial,sans-serif;color:#555;text-align:center;margin:0 0 12px}.feature-copy p{font:14.5px/1.52 Arial,sans-serif;margin:0 0 12px}.testimonial-list{display:grid;gap:18px}.legacy-testimonial{background:#eeeae9;padding:22px;display:grid;grid-template-columns:190px 1fr;gap:25px;align-items:start}.t-logo{background:#fff;min-height:105px;display:flex;align-items:center;justify-content:center;padding:15px}.t-logo img{max-width:150px;max-height:85px;width:auto;height:auto;object-fit:contain}.t-copy h2{font:400 20px/1.25 'Raleway',sans-serif;text-align:center;color:#555;margin:0 0 13px}.t-copy p{font:italic 14.5px/1.5 Arial,sans-serif;color:#595959}.person-inline{display:flex;align-items:center;gap:15px;margin-top:13px;font:13px/1.4 Arial,sans-serif;color:#444}.person-inline img{width:78px;height:78px;border-radius:50%;object-fit:cover;flex:0 0 auto}.person-inline strong{display:block}.legacy-two-column{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:18px;align-items:start}.legacy-main-card,.sidebar-card{background:#fff;border:1px solid #e7e7e7;padding:20px;font:15px/1.52 Arial,sans-serif;color:#555}.legacy-main-card h2,.legacy-main-card h3{font-family:'Raleway',sans-serif;font-weight:400;color:#555}.legacy-sidebar{display:grid;gap:18px}.sidebar-card h2{font:300 21px 'Raleway',sans-serif;text-align:center;border-bottom:1px solid #d8c59e;padding-bottom:9px;margin:0 0 12px}.sidebar-card a{display:block;padding:5px 0;font-weight:400}.video-poster{position:relative;display:block;background:#111;overflow:hidden;margin:0 0 18px}.video-poster img{width:100%;height:auto}.video-poster::after{content:'▶';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px;border-radius:11px;background:#d10d0d;color:#fff;display:grid;place-items:center;font:25px Arial;box-shadow:0 2px 12px #0008}.video-caption{font:12px Arial,sans-serif;color:#777;text-align:center;margin-top:-10px;margin-bottom:18px}.case-section{margin:0 0 22px}.case-section h2{text-align:center;font:400 22px 'Raleway',sans-serif;color:#555;margin:10px 0}.case-image{width:100%;height:auto;margin:12px 0 18px}.case-rule{border-top:1px solid #d8c59e;margin:20px 0}.sell-copy strong{color:#444}.sell-copy ul{list-style:none;padding:0;margin:6px 0 15px}.sell-copy li{margin:4px 0}.sell-copy li::before{content:'– ';}.about-sections h2{text-align:center;font-size:22px;margin:18px 0 7px}.about-sections .about-media-right{float:right;width:315px;margin:0 0 18px 28px}.about-sections .about-media-left{float:left;width:430px;margin:4px 28px 18px 0}.about-sections .about-wide{width:100%;max-height:540px;object-fit:contain;margin:18px 0}.about-sections section{display:flow-root;border-top:1px solid #eee;padding-top:9px}.article-reference-card{border:1px solid #ddd;background:#fafafa;padding:24px;margin:22px 0}.article-reference-card h3{font:500 20px 'Raleway',sans-serif;margin:0 0 8px}.article-reference-card .open-article{display:inline-block;background:#2988be;color:#fff;padding:10px 16px;margin-top:8px;font-weight:600}.archive-note{font-size:12px;color:#888}.subpage-callout{background:#f7f7f7;border-left:4px solid #60638f;padding:15px 18px;margin:18px 0}.link-row{margin-top:18px;font-weight:600}.link-row a{margin-right:16px}.subpage-frame .clearfix{clear:both}
@media(max-width:900px){.core-product-grid,.feature-grid,.legacy-testimonial,.legacy-two-column{grid-template-columns:1fr}.core-product-grid{gap:20px}.feature-media img{max-width:520px}.legacy-testimonial{gap:15px}.t-logo{max-width:260px}.about-sections .about-media-right,.about-sections .about-media-left{float:none;width:min(100%,520px);margin:15px auto;display:block}}
@media(max-width:560px){.subpage-frame{width:min(100% - 24px,1180px);padding:0 10px 22px}.subpage-panel,.core-product-box,.legacy-main-card,.sidebar-card{padding:15px}.legacy-testimonial{padding:15px}.person-inline img{width:62px;height:62px}.feature-copy h2{font-size:17px}}

/* -------------------------------------------------------------------------
   Mobile readability pass (2026-08-20)
   Desktop rules above are intentionally left unchanged.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{font-size:17px;line-height:1.62;overflow-x:hidden}
  .site-width,.video-shell{width:calc(100% - 30px)}

  /* Navigation: larger touch targets, collapsible submenus. */
  .topnav{height:auto;position:relative}
  .topnav .site-width{min-height:60px;display:flex;align-items:center;flex-wrap:wrap}
  .mobile-toggle{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;margin:6px 0 6px auto;padding:0 14px;border-radius:5px;font-size:24px;line-height:1;cursor:pointer}
  .menu{display:none;width:100%;height:auto;flex-direction:column;padding:0 0 8px}
  .menu.open{display:flex}
  .menu>a,.menu-item>button{width:100%;min-height:50px;height:auto;padding:14px 16px;justify-content:flex-start;text-align:left;font-size:16px;line-height:1.25;letter-spacing:.025em}
  .menu>a:first-child{padding-left:16px}
  .menu-item>button{position:relative;padding-right:48px}
  .menu-item>button::after{content:'+';position:absolute;right:17px;top:50%;transform:translateY(-50%);font:400 23px Arial,sans-serif;color:#ddd}
  .menu-item.open>button::after{content:'−'}
  .submenu{position:static;display:none;min-width:0;width:100%;margin:0;background:#474747;box-shadow:none;border-left:3px solid #777}
  .menu-item.open .submenu{display:block}
  .submenu a{min-height:48px;display:flex;align-items:center;padding:13px 18px 13px 25px;font-size:15px;line-height:1.35;border-bottom:1px solid #ffffff18}

  /* Header remains useful instead of hiding phone/email on phones. */
  .masthead{height:auto;min-height:0;padding:18px 0}
  .masthead .site-width{height:auto;padding:0;gap:18px}
  .brand img{width:170px}
  .contact-head .phone{font-size:19px}
  .contact-head .email{font-size:16px}
  .socials{gap:9px;margin-top:9px}
  .socials a{width:40px;height:40px;font-size:16px}
  .breadcrumb{height:auto;min-height:48px}
  .breadcrumb .site-width{height:auto;min-height:48px;padding:10px 0;font-size:15px;line-height:1.35;white-space:normal}

  /* Video and top-level typography. */
  .video-stage{padding:12px 0 10px}
  .video-note{font-size:17px;line-height:1.35;padding:9px 5px 4px}
  .section{padding:46px 0}
  .section-title{font-size:32px;line-height:1.2;margin-bottom:18px}
  .benefit-title{font-size:26px;line-height:1.3}

  /* Enquiry panel. */
  .boost{padding:42px 0 48px}
  .boost-grid{grid-template-columns:1fr;min-height:0}
  .boost-copy{padding:0 0 32px;border-right:0;border-bottom:2px solid rgba(255,255,255,.75)}
  .boost h2{font-size:34px;line-height:1.08;margin-bottom:18px}
  .boost p,.boost li{font-size:17px;line-height:1.58}
  .boost ul{padding-left:23px}
  .boost-form-wrap{padding:34px 0 0}
  .form-card{max-width:560px;padding:24px 20px;margin:0 auto}
  .form-card h3{font-size:20px;line-height:1.4;margin-bottom:24px}
  .field{margin-bottom:18px}
  .field label{font-size:16px;margin-bottom:7px}
  .field small{font-size:14px;line-height:1.35;margin-bottom:8px}
  .field input,.field textarea,.field select{min-height:48px;font-size:16px;line-height:1.35;padding:12px 12px;border-radius:3px}
  .field textarea{min-height:165px}
  .form-card button{min-height:50px;font-size:17px;padding:14px 16px}
  .form-status{font-size:14px;line-height:1.4}

  /* Homepage cards and content blocks. */
  .success-grid{grid-template-columns:1fr;gap:20px}
  .testimonial-card{min-height:0;padding:22px 20px}
  .testimonial-card h3{font-size:22px;line-height:1.35}
  .testimonial-card p{font-size:17px;line-height:1.62}
  .person{align-items:flex-start}
  .person span{font-size:15px;line-height:1.45}
  .outline-btn{min-height:46px;display:flex;align-items:center;justify-content:center;font-size:16px;padding:8px 25px}

  .clients{padding:44px 0 50px}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .client-card{aspect-ratio:257/131}

  .benefit-row,.benefit-row.reverse,.light-row,.light-row.reverse{grid-template-columns:1fr;gap:22px;padding:36px 0}
  .benefit-row.reverse .benefit-img,.light-row.reverse .light-media{order:0}
  .benefit-img,.light-media{min-height:0}
  .benefit-row p,.benefit-row li,.light-row p,.light-row li{font-size:17px;line-height:1.62}
  .light-row h3{font-size:25px;line-height:1.3}
  .light-benefits{padding:46px 0}

  .linkedin{padding:46px 0}
  .linkedin-box{padding:22px 18px}
  .linkedin-head{flex-wrap:wrap;gap:12px}
  .linkedin-head h3{font-size:20px}
  .linkedin-head a{margin-left:0;width:100%;font-size:16px}
  .li-post{font-size:16px;line-height:1.55}

  .awards{padding:26px 0}
  .awards-grid{grid-template-columns:1fr;gap:24px}
  .award-image img{height:auto;max-width:min(300px,88vw)}

  .footer{padding:40px 0 30px}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .footer .wordmark{font-size:28px}
  .footer h3{font-size:23px}
  .footer-links a{font-size:16px;line-height:1.8;min-height:38px;display:flex;align-items:center}
  .footer-copy{font-size:14px;line-height:1.55}

  /* Subpages: readable text and no forced desktop widths. */
  .subpage-area{padding-bottom:32px}
  .subpage-frame{width:calc(100% - 24px);padding:0 16px 26px;border-left:0;border-right:0}
  .subpage-title{font-size:27px;line-height:1.25;padding:16px 0 13px;margin-bottom:20px}
  .subpage-copy,.prose,.legacy-main-card,.sidebar-card,.core-copy{font-size:17px;line-height:1.65}
  .subpage-copy p,.prose p{margin-bottom:16px}
  .subpage-copy h2,.prose h2,.case-section h2,.about-sections h2{font-size:25px;line-height:1.3}
  .subpage-copy h3,.prose h3{font-size:22px;line-height:1.35}
  .subpage-panel,.core-product-box,.legacy-main-card,.sidebar-card,.legacy-testimonial,.article-reference-card{padding:18px}
  .core-product-box>h2{font-size:21px;line-height:1.4}
  .core-product-grid,.feature-grid,.legacy-testimonial,.legacy-two-column,.content-grid{grid-template-columns:1fr;gap:20px}
  .feature-media img{max-width:100%}
  .feature-copy h2{font-size:21px;line-height:1.35}
  .feature-copy p,.t-copy p{font-size:17px;line-height:1.62}
  .t-copy h2{font-size:22px;line-height:1.35}
  .t-logo{max-width:280px}
  .person-inline{font-size:15px;line-height:1.5}
  .person-inline img{width:70px;height:70px}
  .sidebar-card h2{font-size:23px}
  .sidebar-card a{padding:9px 0;font-size:16px}
  .video-caption{font-size:14px;line-height:1.4}
  .article-reference-card .open-article{min-height:46px;display:inline-flex;align-items:center;font-size:16px}
  .subpage-callout{font-size:17px;line-height:1.6}
  .link-row a{display:inline-block;margin:6px 14px 6px 0}
  .gallery{grid-template-columns:1fr;gap:16px}
  .quote-full{grid-template-columns:1fr;gap:18px;padding:18px}
  .demo-embed{padding:7px;margin:16px 0}
  .demo-embed iframe{height:min(68vh,560px)}
  .content-wrap{padding:0 0 36px}
  .content-wrap>.prose{width:calc(100% - 30px)}
  .subpage-copy table,.prose table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  iframe,video{max-width:100%}
}

@media (max-width: 560px) {
  .site-width,.video-shell{width:calc(100% - 24px)}
  .masthead .site-width{flex-direction:column;justify-content:center;text-align:center;gap:12px}
  .brand img{width:168px}
  .contact-head{display:block;text-align:center}
  .contact-head .phone{font-size:18px}
  .contact-head .email{font-size:16px}
  .socials{justify-content:center}
  .boost h2{font-size:31px}
  .section-title{font-size:29px}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .subpage-frame{width:100%;padding-left:16px;padding-right:16px}
  .subpage-panel,.core-product-box,.legacy-main-card,.sidebar-card,.legacy-testimonial,.article-reference-card{padding:16px}
  .demo-embed iframe{height:58vh;min-height:360px}
}

@media (max-width: 390px) {
  body{font-size:16.5px}
  .client-grid{grid-template-columns:1fr}
  .boost h2{font-size:29px}
  .subpage-title{font-size:25px}
}

/* -------------------------------------------------------------------------
   MOBILE TYPOGRAPHY SCALE V3 - 2026-08-20
   Authoritative mobile scale. Desktop styling above remains untouched.

   Mobile scale:
   body 18px / 28px-ish
   lead 20px
   supporting 15-16px
   nav 18px, submenu 17px
   buttons/forms 18px
   H3 22-24px, H2 28-32px, H1 34-40px
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
  :root{
    --mobile-body:18px;
    --mobile-lead:20px;
    --mobile-support:16px;
    --mobile-small:15px;
    --mobile-nav:18px;
    --mobile-subnav:17px;
    --mobile-control:18px;
    --mobile-h3:24px;
    --mobile-h2:30px;
    --mobile-h1:36px;
  }

  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{font-size:var(--mobile-body);line-height:1.56;overflow-x:hidden}
  p,li{line-height:1.56}

  /* Navigation and masthead */
  .topnav{height:auto;position:relative}
  .topnav .site-width{min-height:60px;display:flex;align-items:center;flex-wrap:wrap}
  .mobile-toggle{
    display:flex;align-items:center;justify-content:center;
    min-width:48px;min-height:48px;margin:6px 0 6px auto;padding:0 14px;
    border-radius:5px;font-size:24px;line-height:1;cursor:pointer
  }
  .menu{display:none;width:100%;height:auto;flex-direction:column}
  .menu.open{display:flex}
  .menu>a,.menu-item>button{
    width:100%;min-height:52px;height:auto;padding:14px 16px;
    justify-content:flex-start;text-align:left;
    font-size:var(--mobile-nav);line-height:1.3;letter-spacing:.02em
  }
  .menu-item>button{position:relative;padding-right:48px}
  .menu-item>button::after{
    content:'+';position:absolute;right:17px;top:50%;
    transform:translateY(-50%);font:400 23px Arial,sans-serif;color:#ddd
  }
  .menu-item.open>button::after{content:'−'}
  .submenu{
    position:static;display:none;width:100%;min-width:0;margin:0;
    box-shadow:none;background:#4b4b4b
  }
  .menu-item.open>.submenu{display:block}
  .submenu a{
    min-height:50px;display:flex;align-items:center;
    padding:13px 18px 13px 25px;
    font-size:var(--mobile-subnav);line-height:1.4
  }

  .masthead{height:auto;min-height:124px;padding:14px 0}
  .masthead .site-width{padding:0 10px}
  .brand img{width:168px}
  .contact-head .phone{font-size:20px}
  .contact-head .email{font-size:18px}
  .socials a{width:40px;height:40px;font-size:16px}

  /* Supporting navigation text */
  .breadcrumb{height:auto}
  .breadcrumb .site-width{
    min-height:48px;padding:10px 0;
    font-size:var(--mobile-support);line-height:1.45;white-space:normal
  }
  .video-note{font-size:var(--mobile-lead);line-height:1.45;padding:9px 5px 4px}

  /* Headings */
  .page-title-box h1,.subpage-title{
    font-size:var(--mobile-h1);line-height:1.2
  }
  .section-title{font-size:32px;line-height:1.2;margin-bottom:18px}
  .benefit-title{font-size:30px;line-height:1.3}
  .boost h2{font-size:32px;line-height:1.12;margin-bottom:18px}
  .subpage-copy h2,.prose h2,.case-section h2,.about-sections h2{
    font-size:var(--mobile-h2);line-height:1.3
  }
  .subpage-copy h3,.prose h3,.feature-copy h2,.t-copy h2,
  .sidebar-card h2,.testimonial-card h3,.light-row h3,
  .linkedin-head h3,.form-card h3,.article-reference-card h3{
    font-size:var(--mobile-h3);line-height:1.35
  }
  .core-product-box>h2{font-size:24px;line-height:1.35}

  /* Normal and lead copy */
  .boost p,.boost li,
  .testimonial-card p,
  .benefit-row p,.benefit-row li,
  .light-row p,.light-row li,
  .subpage-copy,.prose,.legacy-main-card,.sidebar-card,.core-copy,
  .feature-copy p,.t-copy p,.li-post{
    font-size:var(--mobile-body);line-height:1.56
  }
  .subpage-callout{font-size:var(--mobile-lead);line-height:1.5}
  .subpage-copy p,.prose p{margin-bottom:16px}
  .subpage-copy li,.prose li,.legacy-main-card li,.core-copy li{margin-bottom:6px}

  /* Supporting text */
  .person span,.person-inline,.footer-copy,.video-caption,
  .archive-note,.field small,.form-status,.li-post .tagline{
    font-size:var(--mobile-support);line-height:1.45
  }
  .video-caption,.archive-note,.field small{font-size:var(--mobile-small)}
  .linkedin-head a,.footer-links a,.sidebar-card a{font-size:var(--mobile-support)}

  /* Forms and controls: keep >=16px to avoid iOS input zoom */
  .form-card{max-width:560px;padding:24px 20px;margin:0 auto}
  .field label{font-size:var(--mobile-control);margin-bottom:7px}
  .field input,.field textarea,.field select{
    min-height:50px;font-size:var(--mobile-control);line-height:1.4;
    padding:12px;border-radius:3px
  }
  .field textarea{min-height:180px}
  .form-card button,.outline-btn,.article-reference-card .open-article{
    min-height:50px;font-size:var(--mobile-control);line-height:1.3
  }

  /* Layout/readability */
  .site-width,.video-shell{width:calc(100% - 28px)}
  .boost-grid,.success-grid,.benefit-row,.benefit-row.reverse,
  .light-row,.light-row.reverse,.footer-grid,.content-grid,
  .core-product-grid,.feature-grid,.legacy-testimonial,.legacy-two-column{
    grid-template-columns:1fr
  }
  .boost-copy{padding:0 0 30px;border-right:0;border-bottom:2px solid rgba(255,255,255,.65)}
  .boost-form-wrap{padding:30px 0 0}
  .success-grid{gap:20px}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .benefit-row,.benefit-row.reverse,.light-row,.light-row.reverse{gap:22px;padding:36px 0}
  .footer-grid{gap:34px}
  .footer{text-align:left}
  .footer .socials{justify-content:flex-start}

  .subpage-frame{width:calc(100% - 24px);padding:0 16px 26px;border-left:0;border-right:0}
  .subpage-title{padding:16px 0 13px;margin-bottom:20px}
  .subpage-panel,.core-product-box,.legacy-main-card,.sidebar-card,
  .legacy-testimonial,.article-reference-card{padding:18px}

  .gallery{grid-template-columns:1fr;gap:16px}
  .quote-full{grid-template-columns:1fr;gap:18px;padding:18px}
  .demo-embed{padding:7px;margin:16px 0}
  .demo-embed iframe{height:min(68vh,560px)}
  .content-wrap{padding:0 0 36px}
  .content-wrap>.prose{width:calc(100% - 30px)}

  .subpage-copy img,.prose img,.feature-media img,.case-image{
    height:auto;max-width:100%
  }
  .subpage-copy table,.prose table{
    display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch
  }
  .subpage-copy pre,.prose pre{
    max-width:100%;overflow:auto;font-size:15px
  }
  iframe,video{max-width:100%}
}

@media (max-width: 560px) {
  .site-width,.video-shell{width:calc(100% - 24px)}
  .masthead .site-width{flex-direction:column;justify-content:center;text-align:center;gap:12px}
  .brand img{width:172px}
  .contact-head{text-align:center}
  .socials{justify-content:center}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .subpage-frame{width:100%;padding-left:16px;padding-right:16px}
  .subpage-panel,.core-product-box,.legacy-main-card,.sidebar-card,
  .legacy-testimonial,.article-reference-card{padding:16px}
  .demo-embed iframe{height:58vh;min-height:360px}
}

@media (max-width: 390px) {
  /* Do not shrink normal copy below the 18px mobile baseline. */
  body{font-size:18px}
  .page-title-box h1,.subpage-title{font-size:34px}
  .section-title,.boost h2{font-size:30px}
  .benefit-title,.subpage-copy h2,.prose h2,.case-section h2,.about-sections h2{font-size:28px}
  .subpage-copy h3,.prose h3,.feature-copy h2,.t-copy h2,
  .sidebar-card h2,.testimonial-card h3,.light-row h3,
  .linkedin-head h3,.form-card h3,.article-reference-card h3{font-size:22px}
  .client-grid{grid-template-columns:1fr}
}


/* ------------------------------------------------------------------
   Blog + verified video embeds — 2026-08-21 release
   ------------------------------------------------------------------ */
.blog-section{
  background:#f4f4f5;
  padding:74px 0 82px;
}
.blog-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:34px;
}
.blog-card{
  background:#fff;
  border:1px solid #dddde2;
  border-radius:4px;
  padding:28px 30px;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  min-width:0;
}
.blog-card h2,.blog-card h3{
  margin:6px 0 12px;
  color:#4d4e5d;
  line-height:1.22;
}
.blog-card h2{font-size:26px}
.blog-card h3{font-size:24px}
.blog-card p{font-size:17px;line-height:1.65;color:#666;margin:0 0 18px}
.blog-kicker{
  font-size:13px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:700;
  color:#7c6e9e;
}
.blog-card .read{
  font-weight:700;
  color:#5f5f91;
  text-decoration:none;
}
.blog-card .read:hover{text-decoration:underline}
.blog-all-btn{margin-top:30px}
.blog-index .subpage-frame{padding-bottom:58px}
.blog-intro{max-width:850px}
.blog-index-grid{margin-top:30px}
.blog-article{max-width:1040px}
.blog-article .subpage-title{max-width:900px}
.blog-article .article-lede{
  font-size:23px;
  line-height:1.5;
  color:#55566a;
  margin:10px 0 36px;
  font-weight:400;
}
.blog-article h2{
  margin:34px 0 12px;
  font-size:28px;
  line-height:1.22;
  color:#55566a;
}
.blog-article p,.blog-article li{
  font-size:18px;
  line-height:1.72;
}
.blog-article ul{padding-left:24px}
.article-cta{
  margin:46px 0 32px;
  padding:28px 30px;
  background:#f0f0f4;
  border-left:5px solid #676998;
}
.article-cta h2{margin-top:0}
.article-cta .outline-btn{display:inline-block;margin:8px 8px 0 0}
.article-sources{
  margin-top:40px;
  padding-top:20px;
  border-top:1px solid #d7d7dc;
}
.article-sources h3{font-size:19px;color:#55566a}
.article-sources li{font-size:15px;line-height:1.55;margin:7px 0}
.article-sources a{word-break:break-word}
.legacy-video-embed{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  margin:4px 0 20px;
  overflow:hidden;
}
.legacy-video-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.external-video-link{display:block}
.external-video-link img{display:block;max-width:100%;height:auto}

@media(max-width:760px){
  .blog-section{padding:46px 0 52px}
  .blog-card-grid{grid-template-columns:1fr;gap:18px;margin-top:24px}
  .blog-card{padding:24px 22px}
  .blog-card h2,.blog-card h3{font-size:24px;line-height:1.25}
  .blog-card p{font-size:18px;line-height:1.58}
  .blog-kicker{font-size:15px}
  .blog-article .article-lede{font-size:20px;line-height:1.55}
  .blog-article h2{font-size:28px}
  .blog-article p,.blog-article li{font-size:18px;line-height:1.65}
  .article-cta{padding:23px 20px}
  .article-sources li{font-size:16px}
}


/* ------------------------------------------------------------------
   Simple slider CAPTCHA — 2026-08-26
   ------------------------------------------------------------------ */
.captcha-wrap{margin:18px 0 20px}
.captcha-label{display:block;margin:0 0 7px;font-weight:700;color:#54545e;font-size:15px}
.captcha-help{display:block;margin:0 0 9px;color:#777;font-size:13px;line-height:1.35}
.captcha-stage{position:relative;height:46px;width:100%;border:1px solid #d4d4da;border-radius:9px;overflow:hidden;background:#f4f4f6;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}
.captcha-stage img{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;user-select:none}
.captcha-range{-webkit-appearance:none;appearance:none;position:absolute;inset:0;width:100%;height:46px;margin:0;padding:0 10px;background:transparent;cursor:pointer;touch-action:pan-y}
.captcha-range::-webkit-slider-runnable-track{height:6px;background:transparent;border:0}
.captcha-range::-moz-range-track{height:6px;background:transparent;border:0}
.captcha-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:27px;height:27px;border-radius:50%;margin-top:-10.5px;border:2px solid #7c6731;background:linear-gradient(#f5db8c,#c9a44c);box-shadow:0 2px 5px rgba(0,0,0,.32),inset 0 1px 1px rgba(255,255,255,.75)}
.captcha-range::-moz-range-thumb{width:27px;height:27px;border-radius:50%;border:2px solid #7c6731;background:linear-gradient(#f5db8c,#c9a44c);box-shadow:0 2px 5px rgba(0,0,0,.32)}
.captcha-refresh{margin-top:7px;border:0;background:none;padding:0;color:#696b91;text-decoration:underline;cursor:pointer;font-size:13px}
@media(max-width:760px){.captcha-label{font-size:18px}.captcha-help,.captcha-refresh{font-size:16px}.captcha-stage{height:52px}.captcha-range{height:52px}.captcha-range::-webkit-slider-thumb{width:31px;height:31px;margin-top:-12.5px}.captcha-range::-moz-range-thumb{width:31px;height:31px}}

/* ------------------------------------------------------------------
   Submit-time slider CAPTCHA modal — v7
   ------------------------------------------------------------------ */
html.captcha-open,html.captcha-open body{overflow:hidden}
.captcha-modal[hidden]{display:none!important}
.captcha-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px}
.captcha-backdrop{position:absolute;inset:0;background:rgba(20,21,29,.68);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.captcha-dialog{position:relative;z-index:1;width:min(520px,calc(100vw - 32px));background:#fff;border-radius:14px;padding:28px 28px 24px;box-shadow:0 22px 70px rgba(0,0,0,.38);border:1px solid rgba(77,78,96,.16)}
.captcha-dialog h3{margin:0 42px 7px 0;color:#4f5062;font-size:25px;line-height:1.2;font-weight:700}
.captcha-dialog>p{margin:0 0 21px;color:#666874;font-size:16px;line-height:1.5}
.captcha-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#f0f0f3;color:#5c5d68;font-size:28px;line-height:1;cursor:pointer}
.captcha-close:hover{background:#e3e3e8}
.captcha-stage{position:relative;height:66px;width:100%;border:1px solid #cfd0d8;border-radius:12px;background:linear-gradient(180deg,#f8f8fa,#eeeeF2);box-shadow:inset 0 1px 3px rgba(0,0,0,.07);overflow:hidden}
.captcha-track-line{position:absolute;left:14px;right:14px;top:50%;height:6px;transform:translateY(-50%);border-radius:999px;background:#b5b7c1;box-shadow:inset 0 1px 2px rgba(0,0,0,.16);z-index:1}
.captcha-target{position:absolute;top:50%;left:50%;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:4px solid #343641;box-shadow:0 0 0 3px rgba(255,255,255,.78),0 2px 6px rgba(0,0,0,.28);z-index:2;pointer-events:none}
.captcha-range{-webkit-appearance:none;appearance:none;position:absolute;left:0;top:0;width:100%;height:66px;margin:0;padding:0 14px;background:transparent;cursor:pointer;touch-action:pan-y;z-index:3}
.captcha-range::-webkit-slider-runnable-track{height:6px;background:transparent;border:0}
.captcha-range::-moz-range-track{height:6px;background:transparent;border:0}
.captcha-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:32px;height:32px;margin-top:-13px;border-radius:50%;border:2px solid #735b1f;background:linear-gradient(180deg,#ffe7a0 0%,#d7ad47 48%,#b88627 100%);box-shadow:0 3px 8px rgba(0,0,0,.38),inset 0 2px 2px rgba(255,255,255,.8)}
.captcha-range::-moz-range-thumb{width:32px;height:32px;border-radius:50%;border:2px solid #735b1f;background:linear-gradient(180deg,#ffe7a0 0%,#d7ad47 48%,#b88627 100%);box-shadow:0 3px 8px rgba(0,0,0,.38)}
.captcha-range:focus-visible{outline:3px solid rgba(96,99,143,.35);outline-offset:-3px;border-radius:12px}
.captcha-position{margin-top:8px;color:#7a7b85;font-size:13px;text-align:center}
.captcha-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.captcha-actions button{min-height:44px;border-radius:8px;padding:0 18px;font-weight:700;font-size:15px;cursor:pointer}
.captcha-new{border:1px solid #c9cad2;background:#fff;color:#656674}
.captcha-send{border:1px solid #4f5278;background:#60638f;color:#fff;box-shadow:0 2px 6px rgba(45,46,68,.2)}
.captcha-actions button:disabled{opacity:.55;cursor:wait}
.captcha-status{min-height:22px;margin-top:12px;color:#a13b35;font-size:14px;line-height:1.45}
@media(max-width:760px){
  .captcha-modal{padding:14px}
  .captcha-dialog{width:min(100%,520px);padding:24px 20px 20px;border-radius:14px}
  .captcha-dialog h3{font-size:24px}
  .captcha-dialog>p{font-size:18px;line-height:1.5}
  .captcha-stage,.captcha-range{height:72px}
  .captcha-target{width:24px;height:24px}
  .captcha-range::-webkit-slider-thumb{width:36px;height:36px;margin-top:-15px}
  .captcha-range::-moz-range-thumb{width:36px;height:36px}
  .captcha-position,.captcha-status{font-size:16px}
  .captcha-actions{flex-direction:column-reverse}
  .captcha-actions button{width:100%;min-height:50px;font-size:18px}
}

/* V9 CAPTCHA ban notice */
.captcha-status.banned{margin-top:10px;padding:12px 14px;border-radius:8px;background:#7c241f;color:#fff;font-weight:700;line-height:1.4;border:1px solid #b94a40}

/* ------------------------------------------------------------------
   Floating contact window — v18
   ------------------------------------------------------------------ */
.vfc-widget{position:fixed!important;right:22px!important;bottom:22px!important;z-index:120000!important;font-family:Arial,sans-serif;pointer-events:none}
.vfc-launch{pointer-events:auto;display:flex;text-decoration:none;align-items:center;gap:10px;max-width:min(370px,calc(100vw - 28px));border:1px solid rgba(255,255,255,.30);border-radius:999px;background:#365f86;color:#fff;padding:13px 18px 13px 14px;font:600 16px/1.25 Arial,sans-serif;box-shadow:0 10px 34px rgba(0,0,0,.30);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .13s ease}
.vfc-launch[hidden]{display:none!important}.vfc-launch:hover{transform:translateY(-2px);background:#2f5478;box-shadow:0 14px 38px rgba(0,0,0,.34)}
.vfc-launch strong{font-weight:800;color:#ffe5a4}.vfc-pulse{width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:#e2bb59;box-shadow:0 0 0 5px rgba(226,187,89,.18)}
.vfc-widget.vfc-open .vfc-launch{opacity:0;transform:scale(.92);pointer-events:none}
.vfc-window[hidden]{display:none!important}.vfc-window{pointer-events:auto;position:absolute;right:0;bottom:0;width:min(560px,calc(100vw - 28px));max-height:calc(100vh - 44px);display:flex;flex-direction:column;background:#fff;color:#555;border:1px solid #9fa5ad;border-radius:8px;box-shadow:0 22px 70px rgba(0,0,0,.42);overflow:hidden;transform-origin:100% 100%;animation:vfc-pop .16s ease-out}
@keyframes vfc-pop{from{opacity:.2;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
.vfc-titlebar{display:flex;align-items:center;justify-content:space-between;min-height:43px;padding:0 8px 0 15px;background:linear-gradient(#5e6680,#4b5269);border-bottom:1px solid #373d50;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.18)}
.vfc-titlebar-title{font:700 15px/1 Arial,sans-serif;letter-spacing:.01em}.vfc-close{width:32px;height:30px;border:1px solid rgba(255,255,255,.18);border-radius:5px;background:rgba(255,255,255,.08);color:#fff;font:400 24px/25px Arial,sans-serif;cursor:pointer}.vfc-close:hover{background:rgba(255,255,255,.17)}
.vfc-body{overflow:auto;padding:24px 25px 22px}.vfc-stage[hidden]{display:none!important}.vfc-kicker{margin:0 0 6px;color:#b48a2f;font:800 12px/1.2 Arial,sans-serif;letter-spacing:.11em}.vfc-body h2{margin:0 0 8px;color:#4f5062;font:700 25px/1.2 Arial,sans-serif}.vfc-intro{margin:0 0 20px;color:#666874;font:16px/1.5 Arial,sans-serif}
.vfc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vfc-grid label{display:block;color:#5d626b;font:600 14px/1.3 Arial,sans-serif}.vfc-grid input,.vfc-grid textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #cfd0d8;border-radius:6px;background:#fff;color:#2f3137;padding:10px 11px;font:16px/1.35 Arial,sans-serif;outline:none}.vfc-grid input:focus,.vfc-grid textarea:focus{border-color:#6b6e9e;box-shadow:0 0 0 3px rgba(96,99,143,.12)}.vfc-grid textarea{min-height:102px;resize:vertical}.vfc-wide{grid-column:1/-1}
.vfc-status{min-height:20px;margin-top:10px;color:#a13b35;font:14px/1.45 Arial,sans-serif}.vfc-status.vfc-ban{padding:10px 12px;border-radius:7px;background:#7c241f;color:#fff;font-weight:700;border:1px solid #b94a40}.vfc-primary,.vfc-secondary{min-height:44px;border-radius:7px;padding:0 18px;font:700 15px/1 Arial,sans-serif;cursor:pointer}.vfc-primary{border:1px solid #4f5278;background:#60638f;color:#fff;box-shadow:0 2px 6px rgba(45,46,68,.2)}.vfc-primary:hover{background:#55587f}.vfc-secondary{border:1px solid #c9cad2;background:#fff;color:#656674}.vfc-secondary:hover{background:#f4f4f6}.vfc-primary:disabled,.vfc-secondary:disabled{opacity:.55;cursor:wait}.vfc-stage1>.vfc-primary{display:block;width:100%;margin-top:17px}.vfc-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
/* Keep the V7 CAPTCHA presentation exactly as the existing site styling. */
.vfc-stage2 .captcha-stage{margin-top:2px}.vfc-stage2 .captcha-status.banned{margin-top:10px}.vfc-stage2 .captcha-actions{margin-top:18px}.vfc-stage2 .captcha-actions .vfc-secondary,.vfc-stage2 .captcha-actions .vfc-primary{min-height:44px}
.vfq-card{background:#fff;color:#555;padding:30px 29px;max-width:420px;margin:0 auto;box-shadow:0 1px 1px #0001;text-align:left}.vfq-card h3{margin:0 0 12px;color:#111;font:700 21px/1.3 Arial,sans-serif}.vfq-card p{margin:0 0 20px;color:#666;font:15px/1.55 Arial,sans-serif}.vfq-card button{width:100%;border:0;background:#365f86;color:#fff;padding:14px 16px;font:700 16px Arial,sans-serif;cursor:pointer}.vfq-card button:hover{background:#2f5478}
@media(max-width:760px){.vfc-widget{right:10px!important;bottom:10px!important}.vfc-launch{max-width:calc(100vw - 20px);padding:12px 15px;font-size:15px}.vfc-window{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:7px}.vfc-body{padding:19px 17px 17px}.vfc-body h2{font-size:24px}.vfc-intro{font-size:17px}.vfc-grid{grid-template-columns:1fr;gap:12px}.vfc-wide{grid-column:auto}.vfc-grid label{font-size:16px}.vfc-grid input,.vfc-grid textarea{font-size:18px;min-height:48px}.vfc-actions{flex-direction:column-reverse}.vfc-actions button{width:100%;min-height:50px;font-size:18px}.vfc-status{font-size:16px}.vfq-card{max-width:560px;padding:24px 20px}.vfq-card h3{font-size:22px}.vfq-card p{font-size:18px}.vfq-card button{min-height:50px;font-size:17px}}
@media(max-width:420px){.vfc-launch{font-size:14px}.vfc-launch span:last-child{white-space:normal}.vfc-body h2{font-size:22px}}


/* v19: softer demo-first funnel + footer contact CTA */
.footer-contact-cta{width:min(1180px,calc(100% - 40px));box-sizing:border-box;margin:0 auto 42px;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #454545;background:#292929;box-shadow:inset 0 1px rgba(255,255,255,.025)}
.footer-contact-copy{max-width:760px}.footer-contact-cta h2{margin:0 0 7px;color:#fff;font:400 25px/1.25 'Raleway',Arial,sans-serif}.footer-contact-cta p{margin:0;color:#cfcfcf;font:15px/1.55 Arial,sans-serif}.footer-contact-cta button,.demo-contact-inline button{flex:0 0 auto;border:0;background:#365f86;color:#fff;padding:14px 20px;min-height:48px;font:700 16px/1.15 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18)}.footer-contact-cta button:hover,.demo-contact-inline button:hover{background:#2f5478}
.demo-contact-inline{margin:18px 0 26px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #d4d5d9;background:#f4f4f5}.demo-contact-inline h3{margin:0 0 5px!important;color:#4f5062!important;font:500 21px/1.3 'Raleway',Arial,sans-serif!important}.demo-contact-inline p{margin:0!important;color:#666874!important;font:15px/1.5 Arial,sans-serif!important}
@media(max-width:760px){.footer-contact-cta,.demo-contact-inline{width:calc(100% - 24px);margin-left:auto;margin-right:auto;flex-direction:column;align-items:stretch;padding:22px 19px;gap:17px}.footer-contact-cta{margin-bottom:32px}.footer-contact-cta h2{font-size:24px}.footer-contact-cta p,.demo-contact-inline p{font-size:17px!important}.footer-contact-cta button,.demo-contact-inline button{width:100%;font-size:17px;min-height:50px}.demo-contact-inline{width:100%;box-sizing:border-box;margin-top:14px}}

/* v23: make the live 16:9 vFloorplan fill its embed without letterboxing. */
.demo-embed{padding:0}
.demo-embed iframe{display:block;width:100%;height:auto;min-height:0;aspect-ratio:16/9;border:0}
