/* Keep one CTA border after touch/modal focus restoration.
   Keyboard focus remains visible through the existing border's neon color. */
#quick-lead-open:focus {
  outline: none !important;
}
#quick-lead-open:focus-visible {
  border-color: var(--inv-turquoise, #5CE0D2);
}
/* Original GEO visual system, extended across the site. */
/* Close control: text and a geometric cross share the same vertical center. */
.inv-nav-top #menu-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  line-height: 1;
  white-space: nowrap;
}
.inv-nav-top #menu-close > span {
  position: relative;
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  font-size: 0;
  line-height: 1;
}
.inv-nav-top #menu-close > span::before,
.inv-nav-top #menu-close > span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}
.inv-nav-top #menu-close > span::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
/* Homepage uses normal document flow; no ancestor needs a plugin-computed height. */
.inv-home #main.main-section {
  height: auto !important;
  min-height: 100svh !important;
}
.inv-home #main .main-section_content.fullheight {
  display: flex;
  align-items: center;
  height: auto !important;
  min-height: 100svh !important;
  padding: 160px clamp(24px, 7.5vw, 140px) 150px;
}
.inv-home #main .container-fluid.fullheight,
.inv-home #main .row.fullheight,
.inv-home #main .main-section_intro.fullheight {
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  width: 100%;
}
.inv-home #main .main-section_intro { padding: 0; }
.inv-home #main .main-section_intro .headline {
  position: static;
  inset: auto;
  transform: none;
  padding: 0;
}
@media (max-width: 767px) {
  .inv-home #main .main-section_content.fullheight {
    /* Lift the heading and both CTAs by 48px while keeping the hero height. */
    padding: 82px 24px 178px;
  }
}
.inv-expanded .csd-body .csd-body-label,.inv-page-section .csd-body-label,.inv-home-extension .csd-body-label{color:var(--inv-turquoise, #5CE0D2)}
@media(max-width:600px){.inv-article .inv-breadcrumb{padding-left:76px;min-height:45px}}
@media(max-width:600px){html,body,section{min-width:0!important}.logo{left:105px!important;max-width:calc(100% - 125px)}.logo img{max-width:100%;height:auto}}
:root{--inv-blue:#272f7c;--inv-teal:#68f2e1;--inv-ink:#17244a;--inv-paper:#f4f5fa}html{scroll-behavior:smooth;scroll-padding-top:24px}body{overflow-x:clip}body.inv-menu-open{overflow:hidden!important}*{box-sizing:border-box}[hidden]{display:none!important}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ea786f;outline-offset:5px}
.inv-skip{position:fixed;top:12px;left:12px;z-index:99999;padding:12px 20px;background:#fff;color:#272f7c;transform:translateY(-150%);font-size:16px}.inv-skip:focus{transform:none}.menu-trigger{background:transparent;border:0;padding:0;cursor:pointer}.menu-button{z-index:1001}.menu-btn-morphing-object{pointer-events:none}.inv-navigation{position:fixed;inset:0;background:radial-gradient(circle at 90% 100%,#414e9d,transparent 55%),#20265e;z-index:2000;padding:38px max(6vw,24px);overflow-y:auto;color:#fff;font-family:'Outfit',sans-serif}.inv-nav-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px;border-bottom:1px solid #ffffff30}.inv-nav-top img{width:170px;height:auto}.inv-nav-top button{color:#fff;background:none;border:1px solid #ffffff50;padding:12px 18px;border-radius:30px;font:500 16px 'Outfit',sans-serif;cursor:pointer}.inv-nav-top button span{font-size:25px;margin-left:12px}.inv-nav-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;padding:36px 0}.inv-nav-grid nav a{display:block;color:#fff;font-size:clamp(25px,3.1vw,45px);font-weight:600;line-height:1.3;padding:5px 0;letter-spacing:-.03em}.inv-nav-grid nav a:hover,.inv-nav-grid a:hover{color:var(--inv-teal)}.inv-nav-grid nav a:last-child{color:var(--inv-teal)}.inv-nav-services{border-left:1px solid #ffffff25;padding-left:50px}.inv-nav-services p{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a5b1dc;margin-bottom:18px}.inv-nav-services a{display:block;font-size:18px;color:#e4e8fa;line-height:1.35;padding:7px 0}.inv-nav-services .inv-nav-email{color:var(--inv-teal);margin-top:22px}
#fullpage-scroll>.main-section,#fullpage>.main-section,.inv-expanded .main-section{min-height:100svh}.main-section_content.fullheight{min-height:100svh}.inv-expanded .portfolio-hero{min-height:100svh;height:auto}.inv-expanded .portfolio-hero__content{padding-top:180px;padding-bottom:120px}.inv-expanded .portfolio-hero__title{font-size:clamp(4.2rem,6vw,8rem);max-width:1150px;line-height:1.03;overflow-wrap:normal}.inv-expanded .portfolio-hero__meta{margin-top:40px}.inv-expanded .portfolio-hero__meta-value{max-width:310px;line-height:1.4}.inv-expanded .portfolio-hero-bg__overlay{background:linear-gradient(90deg,rgba(18,26,71,.91),rgba(26,37,87,.66)),linear-gradient(0deg,#20265e70,transparent)}.inv-expanded .logo img{height:auto}.inv-expanded h2,.inv-expanded h3{font-family:'Outfit',sans-serif;background:none;-webkit-text-fill-color:currentColor;letter-spacing:-.035em}.inv-expanded p{line-height:1.7}.inv-expanded .geo-process-header h2,.inv-expanded .geo-benefits-header h2{font-size:clamp(3.2rem,4vw,5.2rem);font-weight:750;line-height:1.12}.inv-expanded .geo-process-header h2{color:#fff}.inv-expanded .geo-process-header .csd-body-label{color:var(--inv-teal)}.inv-expanded .geo-step-content h3{font-size:2.5rem;color:#fff;margin:0 0 14px;font-weight:650}.inv-expanded .geo-process-inner{position:relative;z-index:1}.inv-expanded .geo-benefit-card h3{font-size:2.4rem;font-weight:650;color:var(--inv-blue);margin:0 0 14px}.inv-expanded .geo-benefits-header .csd-body-label{color:var(--inv-ink)}.inv-expanded .csd-body-text a{color:var(--inv-blue);text-decoration:underline;text-underline-offset:4px}.inv-expanded .csd-body-text p+p{margin-top:20px}
.inv-page-section,.inv-home-extension{padding:90px max(5.3vw,24px);background:var(--inv-paper)}.inv-page-section>*{max-width:1300px;margin-left:auto;margin-right:auto}.inv-section-heading{margin-bottom:42px}.inv-section-heading h2{font:750 clamp(3.4rem,4.3vw,5.4rem)/1.09 'Outfit',sans-serif;letter-spacing:-.035em;color:var(--inv-blue);background:none;-webkit-text-fill-color:currentColor}.inv-section-heading>p:last-child:not(.csd-body-label){font:400 17px/1.6 'DM Sans',sans-serif;margin-top:20px;color:#435173;max-width:670px}.inv-page-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.inv-page-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;padding:38px;border:1px solid #272f7c1a;border-radius:6px;transition:transform .2s,box-shadow .2s;color:var(--inv-ink)}.inv-page-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #272f7c10}.inv-card-index{font:600 12px/1.4 'Outfit',sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#596489}.inv-page-card h3,.inv-page-card h2{font:650 30px/1.16 'Outfit',sans-serif;letter-spacing:-.025em;color:var(--inv-blue);margin:32px 0 18px;background:none;-webkit-text-fill-color:currentColor}.inv-page-card p{font:400 16px/1.7 'DM Sans',sans-serif;color:#445170;margin-bottom:28px}.inv-text-link{display:flex;justify-content:space-between;gap:30px;width:100%;margin-top:auto;padding-top:22px;border-top:1px solid #272f7c20;font:600 15px/1.5 'Outfit',sans-serif;color:var(--inv-blue)}.inv-inline-cta{display:inline-block;font:600 17px/1.5 'Outfit',sans-serif;color:var(--inv-blue);margin-top:22px;text-decoration:underline;text-underline-offset:5px}.inv-city-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.inv-city-links a{padding:8px 14px;border:1px solid #272f7c30;border-radius:3px;font:500 15px/1.4 'Outfit',sans-serif;text-decoration:none!important}.inv-city-links a:hover{background:#272f7c;color:#fff!important}.inv-projects{background:#fff}.inv-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.inv-project-card{color:var(--inv-ink);overflow:hidden}.inv-project-card img{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;border-radius:4px;transition:filter .2s}.inv-project-card:hover img{filter:brightness(.9)}.inv-project-card>div{padding-top:22px}.inv-project-card h3{display:flex;justify-content:space-between;gap:16px;font:650 26px/1.15 'Outfit',sans-serif;color:var(--inv-blue);margin-bottom:12px}.inv-project-card p{font:400 16px/1.6 'DM Sans',sans-serif;color:#52607b}.inv-cta-title{max-width:900px;margin:0 auto 26px;font:750 clamp(3.5rem,5vw,6rem)/1.07 'Outfit',sans-serif;color:#fff;letter-spacing:-.035em}.inv-expanded .inv-footer-hero__text1{font-size:18px}.inv-expanded .inv-btn--primary1{min-width:280px;color:#101b3c}.inv-native-faq{border:1px solid #ffffff25;background:#ffffff05;border-radius:8px;margin-bottom:14px;color:#fff}.inv-native-faq summary{list-style:none;display:flex;gap:20px;align-items:center;padding:26px;cursor:pointer;font:550 20px/1.35 'Outfit',sans-serif}.inv-native-faq summary::-webkit-details-marker{display:none}.inv-native-faq .inv-faq-num{flex-shrink:0;color:var(--inv-teal)}.inv-native-faq .inv-faq-plus{margin-left:auto;flex-shrink:0;font-size:28px;color:var(--inv-teal);transition:transform .2s}.inv-native-faq[open] .inv-faq-plus{transform:rotate(45deg)}.inv-native-faq>div{padding:0 26px 26px 77px;font:400 17px/1.7 'DM Sans',sans-serif;color:#d4dcef}
.inv-home-service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}.inv-home-service-links a{border-top:1px solid #272f7c28;padding:20px 0;color:var(--inv-blue);font:550 21px/1.35 'Outfit',sans-serif}.inv-srv-title a{color:inherit}.inv-home-extension .inv-blog-card{max-width:1300px;margin:auto}.inv-blog-card{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;color:var(--inv-ink)}.inv-blog-art{background:radial-gradient(ellipse at 100% 100%,#4a51a3,transparent 65%),#232b72;border-radius:6px;color:#fff;aspect-ratio:1.12;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:42px;overflow:hidden}.inv-blog-art>span{font:500 11px/1.4 'Outfit',sans-serif;letter-spacing:.14em}.inv-blog-art strong{font:700 clamp(50px,6.5vw,90px)/.98 'Outfit',sans-serif;letter-spacing:-.065em}.inv-blog-art strong span{color:var(--inv-teal)}.inv-blog-art small{font:500 11px/1.4 'Outfit',sans-serif;letter-spacing:.1em;color:var(--inv-teal)}.inv-blog-card-text h2{font:700 clamp(30px,3vw,43px)/1.13 'Outfit',sans-serif;color:var(--inv-blue);letter-spacing:-.03em;background:none;-webkit-text-fill-color:currentColor;margin:18px 0}.inv-blog-card-text>p:not(.csd-body-label){font:400 17px/1.7 'DM Sans',sans-serif;color:#445170;margin-bottom:30px}.inv-article{max-width:850px;margin:auto;padding:70px 30px 100px;font:400 18px/1.85 'DM Sans',sans-serif;color:#293751}.inv-article p{font:inherit;margin:0 0 26px;color:inherit}.inv-article .inv-article-lead{font-size:23px;line-height:1.65;color:var(--inv-blue)}.inv-article h2{font:700 clamp(28px,3vw,38px)/1.16 'Outfit',sans-serif;color:var(--inv-blue);margin:60px 0 24px;scroll-margin-top:30px}.inv-article a{color:var(--inv-blue);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.inv-editor-note{padding:26px;background:#edf5f5;border-left:3px solid #00c7c7;font-size:16px;line-height:1.8;margin:34px 0}.inv-editor-note a{display:block;margin-top:12px}.inv-toc{display:flex;flex-direction:column;gap:9px;padding:30px 0;border-block:1px solid #272f7c22;margin:34px 0;font-size:16px}.inv-toc strong{margin-bottom:5px}.inv-breadcrumb{font-size:13px;line-height:1.6;margin-bottom:35px;color:#5c6780}.inv-breadcrumb span{margin:0 8px}.inv-article ol{list-style:decimal;padding-left:27px;margin:24px 0}.inv-article li{display:list-item;padding-left:7px;margin-bottom:20px}.inv-article-end{margin-top:45px;padding-top:30px;border-top:1px solid #272f7c25;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;font-size:15px}.inv-article-end button{padding:10px 15px;background:#272f7c;color:#fff;border:0;border-radius:3px;font:500 14px 'Outfit',sans-serif;cursor:pointer}.inv-copy-status{font-size:14px}
.inv-site-footer{padding:65px max(5.3vw,24px) 25px;background:#171d48;color:#c7cee9;font-family:'DM Sans',sans-serif}.inv-footer-grid{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.3fr 1.25fr .8fr .8fr;gap:36px}.inv-footer-grid>div>p{font-size:14px;line-height:1.7;color:#b8c2e0;margin:24px 0}.inv-footer-grid img{width:165px;height:auto}.inv-footer-grid a{display:block;color:#d4ddf4;font-size:14px;line-height:1.5;padding:5px 0}.inv-footer-grid a:hover{color:var(--inv-teal)}.inv-footer-grid h2{font:600 16px/1.4 'Outfit',sans-serif;letter-spacing:0;color:#fff;background:none;-webkit-text-fill-color:currentColor;margin:8px 0 18px}.inv-footer-bottom{max-width:1300px;margin:45px auto 0;padding-top:22px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:20px;font-size:12px}.inv-footer-bottom a{color:#d4ddf4}.inv-field-label{font:500 14px/1.5 'Outfit',sans-serif;color:#272f7c;display:block;margin-top:14px}.inv-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.inv-form-status{font:500 15px/1.6 'DM Sans',sans-serif!important;color:#272f7c!important;margin:18px 0!important}.inv-form-status[data-state="error"]{color:#9a273d!important}.inv-form-status[data-state="success"]{color:var(--inv-turquoise, #5CE0D2)!important}.contact-form button[disabled]{opacity:.6;cursor:wait}.invento-modal__title:empty{display:none}.invento-modal__subtitle{font-size:22px!important}
@media(max-width:991px){.inv-expanded .portfolio-hero__title{font-size:clamp(4.2rem,7vw,6rem)}.inv-expanded .portfolio-hero__meta{gap:26px}.inv-page-section,.inv-home-extension{padding:65px 35px}.inv-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-footer-grid{grid-template-columns:1fr 1fr}.inv-blog-card{gap:30px}.inv-nav-grid{gap:30px}.inv-nav-services{padding-left:28px}.inv-nav-services a{font-size:16px}.inv-page-card{padding:28px}}
@media(max-width:600px){html{scroll-padding-top:14px}.inv-navigation{padding:20px}.inv-nav-top{padding-bottom:22px}.inv-nav-top img{width:140px}.inv-nav-grid{grid-template-columns:1fr;padding-top:23px;gap:30px}.inv-nav-grid nav a{font-size:30px;padding:7px 0}.inv-nav-services{padding:25px 0 0;border-left:0;border-top:1px solid #ffffff25}.inv-nav-top button{font-size:14px;padding:7px 13px}.inv-expanded .portfolio-hero__content{padding-top:150px;padding-bottom:105px}.inv-expanded .portfolio-hero__title{font-size:clamp(3.8rem,9.2vw,5.2rem);line-height:1.05;letter-spacing:-.035em}.inv-expanded .portfolio-hero__meta{display:grid;grid-template-columns:1fr;gap:16px;margin-top:30px}.inv-expanded .portfolio-hero__meta-label{font-size:10px}.inv-expanded .portfolio-hero__meta-value{font-size:14px}.inv-expanded .portfolio-hero__kicker{font-size:11px}.inv-page-section,.inv-home-extension{padding:60px 22px}.inv-page-cards,.inv-project-grid,.inv-blog-card,.inv-home-service-links{grid-template-columns:1fr}.inv-page-card{padding:28px}.inv-page-card h3{font-size:27px}.inv-project-grid{gap:34px}.inv-section-heading h2{font-size:36px}.inv-blog-art{padding:30px;aspect-ratio:1.3}.inv-blog-art strong{font-size:76px}.inv-blog-card{gap:26px}.inv-article{padding:45px 23px 65px;font-size:17px}.inv-article .inv-article-lead{font-size:21px}.inv-editor-note{padding:22px 18px}.inv-native-faq summary{padding:22px 18px;font-size:18px;gap:12px}.inv-native-faq>div{padding:0 18px 22px;font-size:16px}.inv-footer-grid{gap:25px;grid-template-columns:1fr 1fr}.inv-footer-grid>div:first-child{grid-column:1/-1}.inv-footer-grid a{font-size:13px}.inv-footer-grid h2{font-size:15px}.inv-site-footer{padding:50px 22px 25px}.inv-footer-bottom{flex-direction:column;gap:10px}.inv-cta-title{font-size:38px}.inv-expanded .inv-btn--primary1{min-width:0;max-width:100%}.inv-expanded .geo-benefit-card{padding:28px}.inv-home-service-links a{font-size:19px}.inv-expanded .csd-body{padding:60px 22px}.inv-expanded .csd-body-title{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-on-scroll{opacity:1!important;transform:none!important}.loader{display:none!important}}

/* Project recommendations reuse the original homepage case-study cards. */
.inv-projects .cs-grid {
  grid-template-columns: repeat(var(--project-columns, 4), minmax(0, 1fr));
}
.inv-expanded .inv-projects .cs-card-title {
  font: 700 30px/1.1 'Outfit', sans-serif;
  letter-spacing: normal;
  color: #272f7c;
  margin: 0 0 9px;
}
.inv-expanded .inv-projects .cs-desc {
  font: 400 16px/1.6 'DM Sans', sans-serif;
}
.inv-expanded .inv-projects .cs-title {
  letter-spacing: normal;
}
.inv-projects .cs-card { min-width: 0; }
@media (max-width: 1100px) {
  .inv-projects .cs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .inv-projects .cs-grid { grid-template-columns: minmax(0, 1fr); }
}
