/* ============================================================
   BRAND TOKENS — FAASCLOUD — change colors/fonts here = whole site updates
   Grid/wrappers come from platform Foundation 6.6.3 (linked in HTML).
   This file only holds tokens + fc- components. site.css loads AFTER
   Foundation + theme, and section/text/link rules are .is-wrapper-scoped
   so they win over the theme's .is-wrapper>div / .is-wrapper a|p resets.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Manrope:wght@200..800&display=swap');
:root{
  --c-primary:#4353FF; --c-primary-dark:#2735C7; --c-primary-2:#5f73d8; --c-accent:#2b3fa1;
  --font-head:'Manrope Variable', 'Manrope', ui-sans-serif, system-ui, sans-serif;
  --font-sub-head:'Instrument Serif', Georgia, serif;
  --font-body:'Inter Variable', 'Inter', ui-sans-serif, system-ui, sans-serif;

  --c-ink:#101828; --c-ink-2:#475467; --c-ink-3:#475467;
  --c-paper:rgba(251, 250, 247, 0.9); --c-tint:#eee6d4; --c-line:#e6ded0; --c-footer:#f5ede0;
  --c-light:#ffffff; --c-white:#ffffff; --c-blue-soft:#e7ebf9; --c-error:#d64545; --c-success:#0a8a4f;

--c-bg-set:#fbfaf7;

  --btn-bg:var(--c-primary); --btn-text:#fff; --btn-bg-hover:var(--c-primary-dark);

  --space-section:90px; --space-hero:64px; --gap:28px;
  --r-sm:8px; --r-md:16px; --r-lg:22px; --r-pill:30px;
  --shadow-1:0 2px 14px rgba(20,20,50,.06);
  --shadow-2:0 26px 60px rgba(15,18,55,.16);
  --shadow-card:0 20px 44px rgba(30,32,70,.08);

  --fs-h1:clamp(40px,5.2vw,56px);
  --fs-h2:clamp(28px,3.2vw,40px);
  --fs-h3:22px; --fs-body:17px;
}
@media all and (max-width:640px){ :root{ --space-section:58px; --space-hero:44px; --gap:18px; } }

/* ---- base (loads after Foundation/theme, so these win) ---- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#FFF;color:var(--c-ink-2);
  font-family:var(--font-body);font-size:var(--fs-body);line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,h5,h6{margin:0;}
p{margin:0;}
:focus-visible{outline:2.5px solid var(--c-primary);outline-offset:3px;border-radius:3px;}
.is-wrapper h1,.is-wrapper h2,.is-wrapper h3,.is-wrapper h4,.is-wrapper h5{
  font-family:var(--font-head);color:var(--c-ink);line-height:1.08;
  text-wrap:balance;font-weight:700;}
.is-wrapper p,.is-wrapper li{font-family:var(--font-body);color:var(--c-ink-2);}

/* ---- section-level modifiers (wrapper-scoped) ---- */
.is-wrapper .fc-sec{background: var(--c-tint);padding:20px;}
.is-wrapper .fc-bg-tint{background:var(--c-tint);}
.is-wrapper .fc-bg-blue{background:var(--c-primary);}

/* ---- buttons (wrapper-scoped to beat theme .is-wrapper a) ---- */
.fc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-head);font-weight:700;font-size:16px;line-height:1;
  border-radius:var(--r-pill);border:0;cursor:pointer;text-align:center;text-decoration:none;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;  text-transform: capitalize;}
.is-wrapper .fc-btn-primary{background:var(--btn-bg);color:#fff;padding:15px 30px;line-height: 26px;}
.is-wrapper .fc-btn-primary:hover{background:var(--btn-bg-hover);color:#fff;}
.is-wrapper .fc-btn-onblue{background:#fff;color:var(--c-primary);padding:15px 30px;}
.is-wrapper .fc-btn-onblue:hover{color:var(--c-primary);transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.18);}
.is-wrapper .fc-textlink{font-weight:600;font-size:15px;color:var(--c-ink);
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px;
  display:inline-flex;align-items:center;gap:6px;transition:color .2s ease;}
.is-wrapper .fc-textlink:hover{color:var(--c-primary);}

.add-sec-btn {
    border: 1px solid rgba(16, 24, 40, 0.25) !important;
    padding: 15px 30px;
    line-height: 26px !important;
    opacity: 1;
    color: #101828;
}

.add-sec-btn:hover {
    background:rgba(16, 24, 40, 0.039);
    border: 1px solid  rgba(16, 24, 40, 0.6) !important;
}

/* ---- eyebrow / section head ---- */
.is-wrapper .fc-eyebrow{font-family:var(--font-head);font-size:12px;font-weight:700;
  letter-spacing:1.56px;text-transform:uppercase;color:var(--c-primary-dark);}
.fc-h2{font-size:var(--fs-h2);}
.fc-sec-head{text-align:left;max-width:640px;}
.fc-sec-head--tight{margin-bottom:14px;}
.fc-lede{font-size:16px;margin-top:16px;line-height:1.6;}

/* ---- HERO ---- */
.fc-hero-copy{max-width:490px;}
.is-wrapper .fc-hero-title{font-size:var(--fs-h1);line-height:1.08;margin:18px 0 0;color:var(--c-ink); letter-spacing: -.02em;    text-wrap: auto;}
.is-wrapper .fc-hero-title em{font-style:italic;font-weight:700;}
.fc-hero-lede{font-size:18px;margin-top:24px;line-height:1.6;}
.fc-hero-actions{display:flex;align-items:center;gap:16px;margin-top:32px;flex-wrap:wrap;}
.fc-hero-media{position:relative;}
.fc-hero-media>img{width:100%;height:500px;object-fit:cover;border-radius:var(--r-lg);}
.fc-quote-card{position:absolute;left:-14px;bottom:-26px;width:328px;max-width:calc(100% - 24px);
  background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:18px 20px 20px;}
.fc-qc-head{display:flex;align-items:center;gap:12px;}
.fc-qc-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.fc-qc-name{font-weight:700;font-size:14.5px;color:var(--c-ink);line-height:1.2;}
.fc-qc-role{font-size:12.5px;color:var(--c-ink-3);margin-top:2px;}
.is-wrapper .fc-qc-quote{font-family:var(--font-head);font-style:italic;font-size:14.5px;
  color:var(--c-ink-2);margin-top:14px;line-height:1.45;}
  
  span.diff-span {
      font-family:var(--font-sub-head);
      letter-spacing: 0;
    font-size: 1.06em;
    font-style: italic;
    font-weight: 400;
    color: var(--c-primary-dark);
}

/* ---- PRACTICE CARDS ---- */
.fc-pcard{flex:1;background:#fff;border-radius:14px;padding:30px 30px 32px;
  box-shadow:var(--shadow-card);transition:transform .25s ease, box-shadow .25s ease;border: 1px solid #e7e5df;height:100%;}
.fc-pcard:hover{box-shadow:0 28px 54px rgba(30,32,70,.13);    box-shadow: 0 0 #0000, 0 0 #0000, 0 0 0 2px #fff, 0 0 0 4px rgb(59 130 246), 0 10px 15px -3px rgb(0 0 0 / 0.1);}
.fc-picon{width:44px;height:44px;border-radius:12px;background:var(--c-primary);
  color:#fff;display:flex;align-items:center;justify-content:center;}
.fc-picon svg{width:20px;height:20px;fill:currentColor;}
.is-wrapper .fc-pcard-title{font-size:var(--fs-h3);color:var(--c-ink);margin-top:22px;line-height:1.2;}
.fc-pcard-sub{font-size:15px;color:var(--c-ink-2);margin-top:8px;}
.fc-divider{border:0;border-top:1px solid var(--c-line);width:100%;margin:18px 0 16px;}
.fc-plist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;}
.fc-plist li{position:relative;padding-left:22px;font-size:15px;color:var(--c-ink-2);}
.fc-plist li::before{
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='2' width='16' height='16' stroke='%230e9f5d' stroke-linecap='round' stroke-linejoin='round' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
    position:absolute;left:0px;top:3px;width:5px;height:5px;}

/* ---- DIFFERENTIATOR ---- */
.is-wrapper .fc-diff-title{font-size:var(--fs-h2);margin:16px 0 0;line-height:1.1;}
.fc-diff-list{margin-top:30px;display:flex;flex-direction:column;gap:22px;}
.fc-diff-item{display:flex;gap:15px;align-items:flex-start;}
.fc-diff-mark{width:26px;height:26px;border-radius:8px;background:var(--c-blue-soft);
  color:var(--c-primary);display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;margin-top:2px;}
.fc-diff-mark svg{width:11px;height:11px;fill:currentColor;}
.fc-diff-h{font-family:var(--font-body);font-weight:700;font-size:16.5px;color:var(--c-ink);}
.fc-diff-p{font-size:15px;color:var(--c-ink-2);margin-top:5px;line-height:1.55;}
.fc-diff-img{width:100%;height:470px;object-fit:cover;border-radius:var(--r-lg);}

/* ---- TESTIMONIALS ---- */
.fc-tcard{flex:1;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-md);
  padding:26px 26px 24px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;height: 100%; }
.is-wrapper .fc-tquote{font-family:var(--font-body);font-size:1.5rem;
  color:var(--c-ink);line-height:1.5;}
.fc-tcard-foot{display:flex;align-items:center;gap:12px;margin-top:24px;}
.fc-tavatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.fc-tname{font-weight:600;font-size:16px;color:var(--c-ink);line-height:1.2;}
.fc-trole{font-size:16px;color:var(--c-ink-3);margin-top:2px;line-height: 1.2;}

/* ---- CTA ---- */
.is-wrapper .fc-cta{padding:var(--space-section) 0;text-align:center;}
.fc-cta-mark{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.72);
  font-family:var(--font-body);font-size:14px;letter-spacing:.6px;margin-bottom:22px;}
.fc-cta-mark svg{width:15px;height:15px;stroke:currentColor;fill:none;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.is-wrapper .fc-cta-title{font-family:var(--font-head);font-weight:700;color:#fff;
  font-size:clamp(32px,4.6vw,46px);line-height:1.08;}
.is-wrapper .fc-cta-sub{color:rgba(255,255,255,.82);font-size:17px;margin-top:16px;}
.is-wrapper .fc-cta .fc-btn{margin-top:34px;}

.main-navigation.sticky {
    animation: slideDown 0.3s ease-in-out;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    width: 100%;
    background-color: rgba(251, 250, 247, 0.9);
    margin-top: 0;
}

.main-navigation.sticky #mainNav {
    justify-content: center;
}

/* ---- RESPONSIVE (fc- components only; grid handled by Foundation) ---- */
@media(max-width:1023px){
  .fc-hero-media>img{height:auto;aspect-ratio:4/3;}
  .fc-diff-img{height:auto;aspect-ratio:4/3;}
  .fc-hero-copy,.fc-hero-lede{max-width:640px;}
}
@media(max-width:560px){
  .fc-quote-card{position:static;left:auto;bottom:auto;width:auto;max-width:100%;margin-top:16px;}
  .fc-hero-actions{gap:18px;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none!important;}
}

/* ============================================================
   SERVICES PAGE — components (appended; nothing above removed)
   ============================================================ */
.fc-services-head{text-align:center;margin:0 auto 28px;}

/* whole-card link */
/* ---- premium service cards (image + floating badge + animated CTA) ---- */
.is-wrapper .fc-scard{position:relative;display:flex;flex-direction:column;flex:1;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 1px 2px rgba(20,20,50,.04),0 14px 34px rgba(30,32,70,.07);
  color:inherit;text-decoration:none;
  transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s ease,border-color .38s ease;}
.is-wrapper .fc-scard:hover{transform:translateY(-8px);border-color:rgba(43,63,161,.22);
  box-shadow:0 30px 60px rgba(30,32,70,.16);}
.is-wrapper .fc-scard:focus-visible{outline:2.5px solid var(--c-primary);outline-offset:3px;}

.fc-scard-media{position:relative;overflow:hidden;}
.fc-scard-media img{width:100%;height:auto;object-fit:cover;display:block;
  filter:saturate(1.05);transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.is-wrapper .fc-scard:hover .fc-scard-media img{transform:scale(1.07);}
.fc-scard-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(18,20,45,.42),rgba(18,20,45,.05) 46%,transparent 70%);}
.fc-scard-index{position:absolute;top:15px;left:15px;z-index:2;
  font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:2px;color:#fff;
  padding:5px 11px;border-radius:var(--r-pill);background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.30);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}

.fc-scard-body{position:relative;display:flex;flex-direction:column;flex:1;padding:0 30px 32px;}
.fc-scard .fc-scard-badge{margin-top:-30px;position:relative;z-index:2;
  background:linear-gradient(145deg,var(--c-primary),var(--c-primary-dark));
  box-shadow:0 0 0 4px #fff,0 14px 26px rgba(43,63,161,.36);
  transition:transform .38s cubic-bezier(.2,.7,.2,1);}
.is-wrapper .fc-scard:hover .fc-scard-badge{transform:translateY(-2px) scale(1.05);}
.is-wrapper .fc-scard-title{font-size:var(--fs-h3);color:var(--c-ink);margin-top:18px;
  line-height:1.2;transition:color .3s ease;}
.is-wrapper .fc-scard:hover .fc-scard-title{color:var(--c-primary);}
.is-wrapper .fc-scard-desc{font-size:15.5px;color:var(--c-ink-2);margin-top:11px;line-height:1.62;}

.is-wrapper .fc-scard-more{margin-top:auto;padding-top:22px;display:flex;align-items:center;
  gap:14px;color:var(--c-primary);font-weight:600;font-size:15px;}
.fc-scard-more-txt{flex:0 1 auto;}
.fc-scard-arrowbtn{flex:0 0 auto;margin-left:auto;width:32px;height:32px;border-radius:50%;
  border:1.5px solid rgba(43,63,161,.3);display:flex;align-items:center;justify-content:center;
  color:var(--c-primary);transition:background .3s ease,border-color .3s ease,color .3s ease;}
.fc-scard-arrowbtn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease;}
.is-wrapper .fc-scard:hover .fc-scard-arrowbtn{background:var(--c-primary);border-color:var(--c-primary);color:#fff;}
.is-wrapper .fc-scard:hover .fc-scard-arrowbtn svg{transform:translateX(2px);}

.fc-cta-inner{max-width:720px;margin:0 auto;}
.is-wrapper .fc-cta-sub{line-height:1.62;}

/* ============================================================
   SERVICE DETAIL PAGE — components (appended; nothing above removed)
   ============================================================ */

/* lead / overview paragraph */
.fc-ov-inner{max-width:100%;margin:0 auto;text-align:center;}
.is-wrapper .fc-ov-text{font-size:19px;color:var(--c-ink-2);line-height:1.65;}

/* benefit tiles */
.fc-benefit{display:flex;flex-direction:column;flex:1;background:#fff;border:1px solid var(--c-line);
  border-radius:var(--r-md);padding:30px 30px 32px;box-shadow:var(--shadow-1);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.fc-benefit:hover{transform:translateY(-5px);box-shadow:var(--shadow-card);border-color:rgba(43,63,161,.2);}
.fc-benefit-icon{width:48px;height:48px;border-radius:13px;
  background:linear-gradient(145deg,var(--c-primary),var(--c-primary-dark));
  color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 20px rgba(43,63,161,.28);}
.fc-benefit-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;}
.is-wrapper .fc-benefit-title{font-family:var(--font-body);font-weight:700;font-size:18px;
  color:var(--c-ink);margin-top:20px;line-height:1.25;}
.is-wrapper .fc-benefit-desc{font-size:15px;color:var(--c-ink-2);margin-top:10px;line-height:1.6;}

/* feature split sections */
.is-wrapper .fc-feat-title{font-size:var(--fs-h2);color:var(--c-ink);line-height:1.12;}
.is-wrapper .fc-feat-title::before{content:"";display:block;width:54px;height:4px;border-radius:99px;
  margin-bottom:22px;background:linear-gradient(90deg,var(--c-primary),var(--c-primary-2));}
.is-wrapper .fc-feat-text{font-size:16px;color:var(--c-ink-2);margin-top:16px;line-height:1.65;}

.fc-feat-row{align-items:stretch;}
.fc-feat-media-cell{display:flex;flex-direction:column;}
.fc-feat-media{flex:1;display:flex;position:relative;z-index:0;min-height:340px;}
.fc-feat-media::before{content:"";position:absolute;inset:0;z-index:0;border-radius:var(--r-lg);
  transform:translate(16px,16px);background:linear-gradient(150deg,rgba(43,63,161,.18),rgba(43,63,161,.04));}
.fc-feat-img{flex:1;min-height:0;width:100%;object-fit:cover;position:relative;z-index:1;
  border-radius:var(--r-lg);box-shadow:0 24px 50px rgba(30,32,70,.16);}

/* branded checklist */
.fc-check-list{list-style:none;padding:24px 0 0;margin:26px 0 0;border-top:1px solid var(--c-line);
  display:flex;flex-direction:column;gap:15px;}
.is-wrapper .fc-check-list li{position:relative;padding-left:38px;font-size:15.5px;font-weight:500;
  color:var(--c-ink);font-family:var(--font-body);line-height:1.45;}
.fc-check-list li::before{content:"";position:absolute;left:0;top:-1px;width:24px;height:24px;
  border-radius:50%;background:linear-gradient(145deg,var(--c-primary),var(--c-primary-dark));
  box-shadow:0 5px 12px rgba(43,63,161,.28);}
.fc-check-list li::after{content:"";position:absolute;left:8px;top:6px;width:8px;height:4.5px;
  border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);}

/* FAQ accordion */
.fc-faq{max-width:820px;margin:0 auto;border-top:1px solid var(--c-line);}
.fc-faq-item{border-bottom:1px solid var(--c-line);}
.fc-faq-q{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:24px 4px;font-family:var(--font-body);font-weight:600;font-size:17px;
  color:var(--c-ink);transition:color .25s ease;}
.fc-faq-q::-webkit-details-marker{display:none;}
.fc-faq-q:hover{color:var(--c-primary);}
.fc-faq-icon{flex:0 0 auto;width:24px;height:24px;color:var(--c-primary);transition:transform .3s ease;}
.fc-faq-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.fc-faq-item[open] .fc-faq-icon{transform:rotate(180deg);}
.fc-faq-item[open] .fc-faq-q{color:var(--c-primary);}
.is-wrapper .fc-faq-a{padding:0 4px 26px;font-size:15.5px;color:var(--c-ink-2);line-height:1.65;max-width:94%;}

@media(max-width:1023px){
  .fc-feat-media-cell{display:block;}
  .fc-feat-media{display:block;flex:none;min-height:0;}
  .fc-feat-img{flex:none;height:auto;aspect-ratio:4/3;}
}

/* ============================================================
   BLOG LISTING PAGE — .new-blog-page-type  (appended)
   Not inside .is-wrapper; scoped to the blog skin. Uses global :root tokens.
   ============================================================ */
.new-blog-page-type{background:var(--c-paper);padding-top:60px;font-family:var(--font-body);color:var(--c-ink-2);}
.new-blog-page-type .main-blog-widget{padding-bottom:24px;}
.new-blog-page-type h2,.new-blog-page-type h3,.new-blog-page-type h5{font-family:var(--font-head);}
.new-blog-page-type p,.new-blog-page-type li,.new-blog-page-type a{font-family:var(--font-body);}
.new-blog-page-type .position-relative{position:relative;}

/* ---- search bar (pill + icon button) ---- */
.new-blog-page-type .blog-search-container{margin-bottom:42px;}
.new-blog-page-type .blog-search-container .position-relative{position:relative;max-width:560px;}
.new-blog-page-type .search-input-blog{width:100%;height:56px;margin:0 !important;padding:0 68px 0 22px;
  font-family:var(--font-body);font-size:16px;color:var(--c-ink);
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-pill);
  box-shadow:var(--shadow-1);transition:border-color .25s ease, box-shadow .25s ease;}
.new-blog-page-type .search-input-blog::placeholder{color:var(--c-ink-3);}
.new-blog-page-type .search-input-blog:focus{outline:none;border-color:var(--c-primary);
  box-shadow:0 0 0 4px rgba(43,63,161,.12);}
.new-blog-page-type .blog-search-button{position:absolute;right:15px;left:auto;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--c-primary);transition:background .25s ease, transform .2s ease;}
.new-blog-page-type .blog-search-button:hover{background:var(--c-primary-dark);transform:translateY(-50%) scale(1.06);}
.new-blog-page-type .blog-search-button svg path{fill:#fff;}

/* two-column layout */
.new-blog-page-type .blog-articles,.new-blog-page-type .blog-sidebar{margin-top:40px;}

/* ---- article cards ---- */
.new-blog-page-type .blog-ul{list-style:none;margin:0;padding:0;}
.new-blog-page-type .blog-li{margin-bottom:26px;}
.new-blog-page-type .blog-li .row{margin:0;max-width:none;display:block;}
.new-blog-page-type .blog-article{float:none;width:100%;background:#fff;
  border:1px solid var(--c-line);border-radius:var(--r-lg);padding:32px 34px;
  box-shadow:0 1px 2px rgba(20,20,50,.04),0 12px 30px rgba(30,32,70,.06);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.new-blog-page-type .blog-article:hover{transform:translateY(-4px);
  box-shadow:0 26px 52px rgba(30,32,70,.12);border-color:rgba(43,63,161,.22);}

/* category meta line — label + links + commas all visible */
.new-blog-page-type .article-category{display:block;margin:0 0 14px;line-height:1.75;
  font-size:13.5px;color:var(--c-ink-3);letter-spacing:.2px;}
.new-blog-page-type .article-category .categories_text{display:inline-block;margin-right:7px;
  font-family:var(--font-body);font-weight:700;font-size:11px;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--c-ink);}
.new-blog-page-type .article-category .categories_text::before{content:"";display:inline-block;
  width:6px;height:6px;margin:0 8px 2px 0;border-radius:50%;background:var(--c-primary);vertical-align:middle;}
.new-blog-page-type .article-category a{color:var(--c-primary);font-weight:600;text-decoration:none;
  transition:color .18s ease;}
.new-blog-page-type .article-category a:hover{color:var(--c-primary-dark);text-decoration:underline;text-underline-offset:3px;}

/* title */
.new-blog-page-type .article-title{margin:0 0 13px;}
.new-blog-page-type .article-title a{font-family:var(--font-head);font-weight:700;
  font-size:clamp(21px,2.4vw,26px);line-height:1.22;color:var(--c-ink);
  transition:color .25s ease;text-decoration:none;}
.new-blog-page-type .article-title a:hover{color:var(--c-primary);}

/* excerpt */
.new-blog-page-type .article-body{margin:0 0 20px;}
.new-blog-page-type .article-body p{font-size:16px;color:var(--c-ink-2);line-height:1.62;margin:0;}

/* read more */
.new-blog-page-type .blog-read-more{display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--c-primary);
  text-decoration:none;transition:color .25s ease;}
.new-blog-page-type .blog-read-more::after{content:"\2192";font-size:16px;transition:transform .25s ease;}
.new-blog-page-type .blog-read-more:hover{color:var(--c-primary-dark);}
.new-blog-page-type .blog-read-more:hover::after{transform:translateX(4px);}

/* ---- sidebar (sticky category card) ---- */
.new-blog-page-type .articles-filter-container.show-for-large{background:#fff;
  border:1px solid var(--c-line);border-radius:var(--r-lg);padding:26px 22px;
  box-shadow:0 1px 2px rgba(20,20,50,.04),0 14px 34px rgba(30,32,70,.06);position:sticky;top:24px;}
.new-blog-page-type .filter-h2{font-family:var(--font-head);font-weight:700;font-size:20px;
  color:var(--c-ink);margin:0 0 18px;}
.new-blog-page-type .articles-filter-container.show-for-large .filter-h2{padding-bottom:0;border:0;}
.new-blog-page-type .articles-filter-container.show-for-large .filter-h2::after{content:"";display:block;
  width:42px;height:3px;border-radius:99px;margin-top:12px;background:linear-gradient(90deg,var(--c-primary),var(--c-primary-2));}
.new-blog-page-type .ps-blog-category{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;overflow:hidden;}

/* every item — normal category links AND the "All" button — is one uniform full-width row */
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li{margin:0;}
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li a,
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li .all-blogs{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  margin:0;padding:12px 16px;border-radius:var(--r-md);
  background:#fff;border:1px solid var(--c-line);box-shadow:none;cursor:pointer;
  font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--c-ink-2);text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li a::after,
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li .all-blogs::after{
  content:"\2192";font-size:14px;line-height:1;color:currentColor;opacity:0;transform:translateX(-6px);
  transition:opacity .2s ease,transform .2s ease;}
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li a:hover,
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li .all-blogs:hover{
  background:var(--c-blue-soft);border-color:transparent;color:var(--c-primary);transform:translateX(3px);}
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li a:hover::after,
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li .all-blogs:hover::after{opacity:1;transform:translateX(0);}
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li.active a,
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li.active .all-blogs,
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li a.active{
  background:linear-gradient(145deg,var(--c-primary),var(--c-primary-dark));border-color:transparent;
  color:#fff;box-shadow:0 10px 22px rgba(43,63,161,.26);}
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li.active a::after,
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li.active .all-blogs::after,
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li a.active::after{opacity:1;transform:translateX(0);color:#fff;}
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li.active a:hover,
.new-blog-page-type .articles-filter-container.show-for-large .ps-blog-category li.active .all-blogs:hover{color:#fff;filter:brightness(1.06);transform:none;}

/* ---- mobile category chips ---- */
.new-blog-page-type .articles-filter-container.hide-for-large{margin-bottom:30px;}
.new-blog-page-type .articles-filter-container.hide-for-large .filter-h2{font-size:16px;margin-bottom:14px;}
.new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category{display:flex;flex-wrap:wrap;gap:10px;}
.new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category li{margin:0;}
.new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category li a{
  display:inline-block;background:#fff;border:1px solid var(--c-line);padding:8px 16px;border-radius:var(--r-pill);
  font-size:14px;color:var(--c-ink-2);text-decoration:none;}
.new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category li a:hover{
  background:var(--c-blue-soft);color:var(--c-primary);border-color:transparent;}

/* ---- pagination ---- */
.new-blog-page-type .ps-pagination-bar{margin-top:38px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.new-blog-page-type .ps-pagination-bar a,.new-blog-page-type .ps-pagination-bar span{
  min-width:42px;height:42px;padding:0 12px;border-radius:var(--r-md);
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--c-ink-2);
  background:#fff;border:1px solid var(--c-line);text-decoration:none;transition:.2s ease;}
.new-blog-page-type .ps-pagination-bar a:hover{background:var(--c-blue-soft);color:var(--c-primary);border-color:transparent;}
.new-blog-page-type .ps-pagination-bar .active,.new-blog-page-type .ps-pagination-bar [aria-current]{
  background:var(--c-primary);color:#fff;border-color:var(--c-primary);}

@media(max-width:640px){
  .new-blog-page-type{padding-top:40px;}
  .new-blog-page-type .blog-article{padding:24px 22px;}
}

/* ============================================================
   BLOG ARTICLE (single post) — .article-page-type
   Scoped so nothing here affects the listing page.
   Cross-applying listing rules (.blog-article padding, .article-title
   margin) are overridden below via higher-specificity selectors.
   ============================================================ */

/* --- headline --- */
.article-page-type h1.article-title{font-family:var(--font-head);font-weight:700;color:var(--c-ink);
  font-size:52px;line-height:1.12;letter-spacing:-.5px;text-wrap:balance;
  max-width:100%;margin:0 auto 30px;text-align:left;}

/* --- featured image (header, large-8) --- */
.article-page-type .blog-article-content .ps-article-img{margin:0;}
.article-page-type .blog-article-content .ps-article-img img{width:100%;height:auto;aspect-ratio:16/9;
  object-fit:cover;display:block;border-radius:var(--r-lg);box-shadow:var(--shadow-2);}

/* --- author / meta panel (large-4) --- */
.article-page-type .blog-author{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-md);
  padding:24px 26px;box-shadow:var(--shadow-1);}
.article-page-type .lab-ul{list-style:none;margin:0;padding:0;font-size:14px;color:var(--c-ink-3);line-height:1.8;}
.article-page-type .lab-ul li{list-style:none;margin:0 0 9px;padding:0;}
.article-page-type .author_name{display:block;font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--c-ink);}
.article-page-type .lab-ul .pubdate{display:inline-block;font-size:13px;color:var(--c-ink-3);font-weight:500;}
.article-page-type .lab-ul span a{color:var(--c-primary);font-weight:600;text-decoration:none;transition:color .18s ease;}
.article-page-type .lab-ul span a:hover{color:var(--c-primary-dark);text-decoration:underline;}

/* --- article body (readable column) --- */
.article-page-type .article-body{max-width:100%;margin:30px auto 0 !important;font-family:var(--font-body);
  font-size:18px;line-height:1.78;color:var(--c-ink-2);}
.article-page-type .article-body p{margin:0 0 24px;}
.article-page-type .article-body > p:first-of-type{font-size:20px;line-height:1.65;color:var(--c-ink);}
.article-page-type .article-body h2{font-family:var(--font-head);font-weight:700;color:var(--c-ink);
  font-size:clamp(24px,3vw,33px);line-height:1.2;letter-spacing:-.3px;text-wrap:balance;margin:46px 0 18px;}
.article-page-type .article-body a{color:var(--c-primary);font-weight:600;text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(43,63,161,.4);
  transition:color .18s ease,text-decoration-color .18s ease;}
.article-page-type .article-body a:hover{color:var(--c-primary-dark);text-decoration-color:var(--c-primary-dark);}
.article-page-type .article-body ul{margin:0 0 26px;padding:0;list-style:none;}
.article-page-type .article-body ul li{position:relative;padding-left:30px;margin:0 0 13px;
  line-height:1.7;color:var(--c-ink-2);}
.article-page-type .article-body ul li::before{content:"";position:absolute;left:1px;top:10px;
  width:9px;height:9px;border-radius:50%;background:linear-gradient(145deg,var(--c-primary),var(--c-primary-2));
  box-shadow:0 2px 6px rgba(43,63,161,.3);}

/* --- Recent Posts (full-width section below the article) --- */
.article-page-type .blog-sidebar-widget{margin-top:62px;padding-top:52px;border-top:1px solid var(--c-line);}
.article-page-type .blog-sidebar-h2{font-family:var(--font-head);font-weight:700;color:var(--c-ink);
  font-size:clamp(24px,3vw,32px);line-height:1.2;letter-spacing:-.3px;margin:0 0 28px;}
.article-page-type .blog-sidebar-h2::after{content:"";display:block;width:48px;height:3px;border-radius:99px;
  margin-top:14px;background:linear-gradient(90deg,var(--c-primary),var(--c-primary-2));}
.article-page-type .ps-blog-recent-posts{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;}
.article-page-type .ps-blog-recent-posts .blog-li{margin:0;list-style:none;}
.article-page-type .ps-blog-recent-posts .row{margin:0;max-width:none;}
.article-page-type .ps-blog-recent-posts .blog-article{float:none;width:100%;padding:0;overflow:hidden;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);
  box-shadow:0 1px 2px rgba(20,20,50,.04),0 12px 30px rgba(30,32,70,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.article-page-type .ps-blog-recent-posts .blog-article:hover{transform:translateY(-5px);
  border-color:rgba(43,63,161,.18);box-shadow:0 26px 52px rgba(30,32,70,.14);}
.article-page-type .ps-blog-recent-posts .ps-article-img{margin:0;overflow:hidden;}
.article-page-type .ps-blog-recent-posts .ps-article-img img{width:100%;height:200px;object-fit:cover;
  display:block;transition:transform .5s ease;}
.article-page-type .ps-blog-recent-posts .blog-article:hover .ps-article-img img{transform:scale(1.06);}
.article-page-type .ps-blog-recent-posts .article-category{margin:20px 24px 12px;}
.article-page-type .ps-blog-recent-posts .article-title{margin:0 24px 10px;}
.article-page-type .ps-blog-recent-posts .article-title a{font-family:var(--font-head);font-weight:700;
  font-size:20px;line-height:1.25;color:var(--c-ink);text-decoration:none;transition:color .2s ease;}
.article-page-type .ps-blog-recent-posts .article-title a:hover{color:var(--c-primary);}
.article-page-type .ps-blog-recent-posts .item-body{margin:0 24px 16px;font-size:15px;line-height:1.6;color:var(--c-ink-2);}
.article-page-type .ps-blog-recent-posts .item-body p{margin:0;}
.article-page-type .ps-blog-recent-posts p.pb-0{margin:0 24px 22px;}

/* --- premium touches --- */
.article-page-type ::selection{background:var(--c-blue-soft);color:var(--c-primary);}
.article-page-type .article-body > p:first-of-type::first-letter{float:left;font-family:var(--font-head);
  font-weight:700;font-size:66px;line-height:.76;margin:8px 14px 0 0;color:var(--c-primary);}
.article-page-type .article-body blockquote{margin:34px 0;padding:6px 0 6px 28px;
  border-left:4px solid var(--c-primary);font-family:var(--font-head);
  font-size:clamp(20px,2.4vw,26px);line-height:1.42;font-style:italic;color:var(--c-ink);}
.article-page-type .article-body blockquote p{margin:0;color:var(--c-ink);}
.article-page-type .blog-author{position:relative;overflow:hidden;}
.article-page-type .blog-author::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-primary-2));}

/* --- responsive --- */
@media(max-width:1023px){
  .article-page-type .article-body{font-size:17px;}
}
@media(max-width:640px){
  .article-page-type h1.article-title{margin:0 auto 22px;}
  .article-page-type .article-body{font-size:16px;margin-top:34px;line-height:1.72;}
  .article-page-type .article-body > p:first-of-type{font-size:18px;}
  .article-page-type .article-body > p:first-of-type::first-letter{font-size:52px;margin:6px 11px 0 0;}
  .article-page-type .article-body h2{font-size:24px;margin-top:36px;}
  .article-page-type .blog-author{padding:20px 22px;}
  .article-page-type .blog-sidebar-widget{margin-top:46px;padding-top:38px;}
}

/* ============================================================
   ABOUT PAGE — .fc- components (story, founding, analytics, founder, visibility)
   Reuses hero / fc-sec / fc-tcard / fc-cta above. Tokens only.
   ============================================================ */

/* hero floating note (mission line over the image) */
.fc-hero-note{position:absolute;left:-14px;bottom:-26px;width:340px;max-width:calc(100% - 24px);
  background:var(--c-light);border:1px solid var(--c-line);border-radius:var(--r-md);
  padding:20px 22px 20px 26px;box-shadow:var(--shadow-2);}
.fc-hero-note::before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;
  border-radius:var(--r-md) 0 0 var(--r-md);background:linear-gradient(180deg,var(--c-primary),var(--c-primary-2));}
.is-wrapper .fc-hero-note p{font-family:var(--font-head);font-style:italic;font-size:15px;
  line-height:1.5;color:var(--c-ink);margin:0;}

/* story lead statement */
.is-wrapper .fc-story-lead{font-family:var(--font-head);font-weight:700;color:var(--c-ink);
  font-size:clamp(26px,3.4vw,40px);line-height:1.22;letter-spacing:-.3px;text-wrap:balance;
  text-align:center;max-width:900px;margin:0 auto 10px;}

/* readable prose column */
.is-wrapper .fc-prose p{font-family:var(--font-body);font-size:18px;line-height:1.78;
  color:var(--c-ink-2);margin:0 0 22px;}
.is-wrapper .fc-prose p:last-child{margin-bottom:0;}

/* pull-quote emphasis */
.is-wrapper .fc-pullquote{font-family:var(--font-head);font-style:italic;font-weight:600;
  color:var(--c-ink);font-size:clamp(20px,2.4vw,26px);line-height:1.42;
  margin:30px 0;padding-left:22px;border-left:4px solid var(--c-primary);}
.is-wrapper .fc-pullquote p{font-family:var(--font-head);font-style:italic;color:var(--c-ink);
  font-size:inherit;line-height:1.42;margin:0 0 6px;}
.is-wrapper .fc-pullquote p:last-child{margin-bottom:0;}
.is-wrapper .fc-pullquote--lg{font-size:clamp(23px,3vw,32px);}

/* founding-history callout */
.fc-founding{background:var(--c-light);border:1px solid var(--c-line);border-radius:var(--r-lg);
  padding:30px 32px;box-shadow:var(--shadow-1);margin:30px 0;}
.is-wrapper .fc-founding-intro{font-family:var(--font-head);font-size:19px;line-height:1.45;
  color:var(--c-ink);font-weight:600;margin:0 0 20px;}
.fc-founding-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.fc-founding-item{position:relative;padding-top:18px;border-top:2px solid var(--c-tint);}
.fc-founding-item::before{content:"";position:absolute;top:-2px;left:0;width:44px;height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-primary-2));}
.is-wrapper .fc-founding-item p{font-size:15.5px;line-height:1.62;color:var(--c-ink-2);margin:0;}

/* FaaS Analytics highlight (dark brand band) */
.fc-analytics{display:flex;gap:22px;align-items:flex-start;
  background:linear-gradient(150deg,var(--c-primary),var(--c-primary-dark));
  border-radius:var(--r-lg);padding:34px 36px;box-shadow:var(--shadow-2);margin:12px 0;}
.fc-analytics-mark{flex:0 0 auto;width:54px;height:54px;border-radius:14px;
  background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;}
.fc-analytics-mark svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;}
.is-wrapper .fc-analytics-lead{font-family:var(--font-head);font-weight:700;color:#fff;
  font-size:clamp(20px,2.4vw,25px);line-height:1.3;margin:0 0 12px;}
.is-wrapper .fc-analytics-body p{color:rgba(255,255,255,.9);font-size:16px;line-height:1.68;margin:0;}

/* closing statement */
.is-wrapper .fc-closing{font-family:var(--font-head);font-weight:700;color:var(--c-ink);
  font-size:clamp(20px,2.4vw,26px);line-height:1.34;margin:0 0 22px;}

/* founder profile */
.fc-founder-media{position:relative;}
.fc-founder-media>img{position:relative;z-index:1;width:100%;height:auto;aspect-ratio:4/5;
  object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow-2);}
.fc-founder-media::before{content:"";position:absolute;left:-16px;top:26px;width:130px;height:130px;z-index:0;
  border-radius:var(--r-lg);background:linear-gradient(145deg,var(--c-primary),var(--c-primary-2));opacity:.16;}
.is-wrapper .fc-founder-lead{font-family:var(--font-head);font-weight:700;font-style:italic;
  color:var(--c-ink);font-size:clamp(23px,2.8vw,31px);line-height:1.28;text-wrap:balance;margin:0;}
.is-wrapper .fc-founder-name{font-family:var(--font-body);font-weight:700;font-size:15px;
  letter-spacing:.4px;color:var(--c-primary);margin:14px 0 0;text-transform:uppercase;}
.fc-founder-bio{margin-top:22px;}
.is-wrapper .fc-founder-bio p{font-family:var(--font-body);font-size:16.5px;line-height:1.74;
  color:var(--c-ink-2);margin:0 0 18px;}
.is-wrapper .fc-founder-bio p:last-child{margin-bottom:0;}

/* visibility split */
.fc-vis-media{position:relative;}
.fc-vis-media>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  border-radius:var(--r-lg);box-shadow:var(--shadow-2);}
.is-wrapper .fc-vis-copy .fc-h2{margin:0;}
.is-wrapper .fc-vis-copy .fc-lede{margin-top:18px;max-width:none;}

/* about responsive */
@media all and (max-width:1023px){
  .fc-founding-grid{grid-template-columns:1fr;gap:18px;}
  .fc-analytics{padding:28px 26px;}
}
@media all and (max-width:640px){
  .fc-hero-note{position:static;left:auto;bottom:auto;width:auto;max-width:100%;margin-top:16px;}
  .fc-analytics{flex-direction:column;gap:16px;padding:24px 22px;}
  .fc-founder-media{max-width:340px;margin:0 auto;}
  .fc-founder-media::before{display:none;}
  .fc-vis-media{margin-top:24px;}
}

/* ============================================================
   CONTACT PAGE — .fc- components (contact card + map)
   Reuses hero / fc-sec above. Tokens only.
   ============================================================ */

/* contact intro paragraph (section lead) */
.is-wrapper .fc-contact-intro{font-family:var(--font-body);font-size:16.5px;line-height:1.72;
  color:var(--c-ink-2);margin:0 0 32px;max-width:840px;}

/* form slot — empty container ready for the Webware form (added later) */
.fc-form-slot{background:var(--c-light);border:1px solid var(--c-line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-2);padding:32px;min-height:340px;height:100%;}

/* contact info card */
.fc-contact-card{background:var(--c-light);border:1px solid var(--c-line);border-radius:var(--r-lg);
  padding:14px;box-shadow:var(--shadow-2);}
.fc-contact-row{display:flex;align-items:center;gap:16px;padding:18px;border-radius:var(--r-md);
  text-decoration:none;transition:background .2s ease,transform .2s ease;}
.fc-contact-row + .fc-contact-row{border-top:1px solid var(--c-line);}
.fc-contact-row:hover{background:var(--c-blue-soft);transform:translateX(3px);}
.fc-contact-icon{flex:0 0 auto;width:46px;height:46px;border-radius:50%;
  background:linear-gradient(145deg,var(--c-primary),var(--c-primary-2));
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(43,63,161,.28);}
.fc-contact-icon svg{width:22px;height:22px;fill:#fff;}
.fc-contact-tx{display:flex;flex-direction:column;gap:3px;min-width:0;}
.is-wrapper .fc-contact-label{font-family:var(--font-body);font-weight:700;font-size:11px;
  letter-spacing:1.2px;text-transform:uppercase;color:var(--c-ink-3);}
.is-wrapper .fc-contact-val{font-family:var(--font-body);font-weight:600;font-size:16px;
  color:var(--c-ink);line-height:1.35;word-break:break-word;}
.fc-contact-row:hover .fc-contact-val{color:var(--c-primary);}

/* map embed */
.fc-map{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-2);
  border:1px solid var(--c-line);line-height:0;}
.fc-map iframe{width:100%;height:460px;border:0;display:block;filter:saturate(1.05);}

/* contact responsive */
@media all and (max-width:1023px){
  .fc-form-slot{min-height:0;}
  .fc-map iframe{height:380px;}
}
@media all and (max-width:640px){
  .fc-map iframe{height:300px;}
}

/* ============================================================
   CONTACT FORM — Webware form (.ww-form-container-3) styled to the brand.
   Sits inside .fc-form-slot on the contact page. Tokens only.
   ============================================================ */
.ww-form-container-3{width:100%;}
.ww-form-container-3 form{margin:0;}
.ww-form-container-3 .hide{display:none;}

/* field layout — single column, exactly as Webware's .form-template-3 template drives it */
.ww-form-container-3 .fieldset{border:0;margin:0;padding:0;min-width:0;}
/* Webware's .form-template-3 rules, applied verbatim: every field wrap full width,
   fieldset inset 30px. */
.form-template-3 form fieldset>div,
.form-template-3 .ww-form-container-3 form>p{width:100%;margin:0 auto;}
.is-wrapper .form-template-3 .ww-form-container-3 form fieldset{padding:0 30px;}

/* labels */
.is-wrapper .ww-form-container-3 label{display:block;font-family:var(--font-body);font-weight:600;
  font-size:13.5px;letter-spacing:.2px;color:var(--c-ink);margin:0 0 7px;}
.ww-form-container-3 .required{color:var(--c-error);margin-left:3px;font-weight:700;}

/* text inputs + textarea (not the submit, not the recaptcha div) */
.ww-form-container-3 input.input:not([type=submit]),
.ww-form-container-3 textarea.input,#contentbox select{width:100%;font-family:var(--font-body);font-size:15.5px;
  color:var(--c-ink);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-sm);
  padding:13px 15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.ww-form-container-3 input.input:not([type=submit])::placeholder,
.ww-form-container-3 textarea.input::placeholder{color:var(--c-ink-3);}
.ww-form-container-3 input.input:not([type=submit]):focus,
.ww-form-container-3 textarea.input:focus,#contentbox select:focus{border-color:var(--c-primary);background:var(--c-light);
  box-shadow:0 0 0 4px var(--c-blue-soft);}
.ww-form-container-3 textarea.input{min-height:130px;line-height:1.6;resize:vertical;}

/* phone field (intl-tel-input) — matches the other inputs, with room for the flag.
   intl-tel-input's stylesheet loads after site.css; .iti (display/width) and the input
   background are forced to win. The input's own width is left to Foundation's
   [type=tel]{width:100%} so it fills .iti without overflowing. */
.is-wrapper .ww-form-container-3 .iti{display:block !important;width:100% !important;}
.is-wrapper .ww-form-container-3 input.phone_number{font-family:var(--font-body);
  font-size:15.5px;color:var(--c-ink);background:var(--c-paper) !important;border:1px solid var(--c-line);
  border-radius:var(--r-sm);padding:13px 15px 13px 52px;outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.is-wrapper .ww-form-container-3 input.phone_number::placeholder{color:var(--c-ink-3);}
.is-wrapper .ww-form-container-3 input.phone_number:focus{border-color:var(--c-primary);
  background:var(--c-light) !important;box-shadow:0 0 0 4px var(--c-blue-soft);}
.ww-form-container-3 .iti__country-list{border-radius:var(--r-sm);box-shadow:var(--shadow-2);
  border:1px solid var(--c-line);}
.ww-form-container-3 .phone_wrap span[id$="_valid"]:not(.hide){display:inline-block;margin-top:6px;
  font-size:12.5px;font-weight:600;color:var(--c-success);}

/* inline validation errors — only take space when populated by JS */
.is-wrapper .ww-form-container-3 .error{display:block;color:var(--c-error);font-size:12.5px;
  margin-top:6px;font-family:var(--font-body);}
.ww-form-container-3 .error:empty{display:none;margin:0;}

/* bottom area (captcha + submit) */
.ww-form-container-3 .form-container{margin-top:22px;}
.ww-form-container-3 .captcha_wrap{margin:0;}
.ww-form-container-3 .submit_wrap{margin-top:4px;text-align:center !important;}

/* submit button — matches fc-btn-primary, centered pill */
.is-wrapper .ww-form-container-3 input[type=submit].button{min-width:220px;display:inline-flex;
  align-items:center;justify-content:center;font-family:var(--font-body);font-weight:600;
  font-size:15.5px;line-height:1;color:#fff;background:var(--c-primary);border:0;
  border-radius:var(--r-pill);padding:16px 28px;cursor:pointer;box-shadow:0 12px 26px rgba(43,63,161,.26);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;}
.is-wrapper .ww-form-container-3 input[type=submit].button:hover{background:var(--c-primary-dark);
  transform:translateY(-1px);box-shadow:0 16px 32px rgba(43,63,161,.32);}
.ww-form-container-3 input[type=submit].button:focus-visible{outline:none;
  box-shadow:0 0 0 4px var(--c-blue-soft),0 12px 26px rgba(43,63,161,.26);}

/* ============================================================
   CONTACT SECTION POLISH (CSS-only) — branded info panel + white form card
   The info panel sizes to its own content (no stretch) so there's no empty
   blue space; the taller form sits in its own white card beside it.
   ============================================================ */
/* form slot becomes a passthrough so the form itself is the card */
.is-wrapper .fc-form-slot{display:contents;}
/* both cards hug their own content instead of stretching to equal height —
   this removes the empty space that showed in the shorter info panel */
#contact .fc-card-cell{align-items:flex-start;}

/* LEFT — super-awesome branded info panel */
.is-wrapper .fc-contact-card{position:relative;overflow:hidden;width:100%;
  background:
    radial-gradient(130% 90% at 100% 0%,color-mix(in srgb,var(--c-primary-2) 55%,transparent),transparent 55%),
    linear-gradient(155deg,var(--c-primary),var(--c-primary-dark));
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);box-shadow:var(--shadow-2);
  padding:30px 26px;display:flex;flex-direction:column;gap:14px;}
.fc-contact-card::before{content:"";position:absolute;left:-80px;top:-80px;width:230px;height:230px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);pointer-events:none;}
.fc-contact-card::after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.10),transparent 70%);pointer-events:none;}
/* rows = interactive glass cards */
.is-wrapper .fc-contact-card .fc-contact-row{position:relative;z-index:1;display:flex;align-items:center;gap:15px;
  padding:15px 42px 15px 16px;border-radius:var(--r-md);text-decoration:none;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);
  transition:background .25s ease,border-color .25s ease,transform .25s ease;}
.is-wrapper .fc-contact-card .fc-contact-row + .fc-contact-row{border-top:0;}
.is-wrapper .fc-contact-card .fc-contact-row:hover{background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.26);transform:translateX(4px);}
/* icon tile */
.is-wrapper .fc-contact-card .fc-contact-icon{flex:0 0 auto;width:46px;height:46px;border-radius:13px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  transition:background .25s ease,transform .25s ease;}
.is-wrapper .fc-contact-card .fc-contact-row:hover .fc-contact-icon{background:rgba(255,255,255,.22);transform:scale(1.06);}
.fc-contact-card .fc-contact-icon svg{width:20px;height:20px;fill:#fff;}
/* text */
.fc-contact-card .fc-contact-tx{display:flex;flex-direction:column;gap:3px;min-width:0;}
.is-wrapper .fc-contact-card .fc-contact-label{font-family:var(--font-body);font-size:11px;font-weight:700;
  letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.6);}
.is-wrapper .fc-contact-card .fc-contact-val{font-family:var(--font-body);font-size:15px;font-weight:600;
  color:#fff;line-height:1.35;overflow-wrap:break-word;}
/* hover chevron */
.is-wrapper .fc-contact-card .fc-contact-row::after{content:"";position:absolute;right:18px;top:50%;width:7px;height:7px;
  border-right:2px solid rgba(255,255,255,.75);border-bottom:2px solid rgba(255,255,255,.75);
  transform:translateY(-50%) rotate(-45deg);opacity:0;transition:opacity .25s ease,right .25s ease;}
.is-wrapper .fc-contact-card .fc-contact-row:hover::after{opacity:1;right:15px;}

/* RIGHT — white form card (fills the same height) */
.is-wrapper .ww-form-container-3{width:100%;background:var(--c-light);
  border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);
  padding:36px 34px;margin-bottom:40px;}

/* responsive */
@media(max-width:1023px){
  .is-wrapper .fc-contact-card{padding:28px 22px;}
  .is-wrapper .ww-form-container-3{padding:28px 24px;}
}

/* ============================================================
   CAREERS / APPLICATION FORM — file-upload drop-zone + extra fields
   (shares .ww-form-container-3, so all base field/label/submit styles apply)
   ============================================================ */

/* "Choose File" trigger styled as an awesome dashed drop-zone */
.ww-form-container-3 input.file-upload{width:100%;display:block;text-align:center;
  font-family:var(--font-body);font-weight:600;font-size:14.5px;letter-spacing:.2px;
  color:var(--c-primary);background:var(--c-tint);border:2px dashed var(--c-line);
  border-radius:var(--r-md);padding:22px 20px;cursor:pointer;
  transition:border-color .2s ease,background .2s ease,color .2s ease;}
.ww-form-container-3 input.file-upload:hover{border-color:var(--c-primary);background:var(--c-blue-soft);}
.ww-form-container-3 input.file-upload:focus-visible{outline:none;border-color:var(--c-primary);
  box-shadow:0 0 0 4px var(--c-blue-soft);}

/* helper notes under the upload (Max files / Max size) */
.is-wrapper .ww-form-container-3 .field_33902_wrap p{margin:6px 0 0;font-size:12px;
  color:var(--c-ink-3);font-family:var(--font-body);line-height:1.4;}

/* uploaded files list (Webware injects chips here) */
.ww-form-container-3 #field_33902_uploaded_files{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;}
.ww-form-container-3 #field_33902_uploaded_files:empty{margin-top:0;}

/* upload spinner — hidden until Webware shows it during upload */
.ww-form-container-3 .wait-upload{display:none;margin-top:12px;text-align:center;color:var(--c-primary);}

/* ============================================================
   SITE HEADER (Webware new-header-5) — brand theming + awesome nav
   ============================================================ */
/* the bar */
#header{background:var(--c-paper);}
#header .logo-container img{width:auto;display:block;margin:0 auto;}

.is-header .is-boxes {
    min-height: 0 !important;
}

.pd-top-bottom {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.logo-text svg {
    flex-shrink: 0;
    width: auto;
    height: 1.15em;
    vertical-align: middle;
    display: block;
}
.logo-text {
    display: inline-flex;
    color: #0a1633;
    align-items: center;
    gap: 0.4rem;
    font-family:var(--font-head)
    transition:0.3s ease-out;
}

.tracking-tight span {
    font-size: 1.5em;
        letter-spacing: -.025em;
}

.tracking-tight span.logo-text-first {
    font-weight:800;
}

.logo-text g.logo-chevrons {
     transition:0.3s ease-out;
}

.logo-text:hover g.logo-chevrons {
    transform:translate(2px);
     transition:0.3s ease-out;
}

/* desktop nav links (exclude the CTA button) */
#header .dropdown.menu > li > a:not(.button){position:relative;font-family:var(--font-body);
  font-weight:500;font-size:15px;color:#475467;padding:10px 15px;background:transparent;
  transition:color .2s ease;}
#header .dropdown.menu > li > a:not(.button):hover{color:var(--c-primary);background:transparent;}
/* animated underline, persists on the active page */
#header .dropdown.menu > li > a:not(.button)::before{content:"";position:absolute;left:15px;right:15px;
  bottom:5px;height:2px;background:var(--c-primary);border-radius:2px;
  transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
#header .dropdown.menu > li > a:not(.button):hover::before{transform:scaleX(1);}
#header .dropdown.menu > li.active > a:not(.button){color:var(--c-primary);}
#header .dropdown.menu > li.active > a:not(.button)::before{transform:scaleX(1);}

.fc-hero.common-sect-bg{
position:relative;
}

.fc-hero.common-sect-bg::after {
    content:'';
  position: absolute;
    inset: 0;
        background: linear-gradient(to left, #eef0ff 40%, transparent 50%);
filter:blur(110px);
}

/* Services caret — reset Foundation's triangle / any doubled char to one clean chevron */
#header .dropdown.menu > li.is-dropdown-submenu-parent > a::after{
  content:"" !important;position:static !important;display:inline-block;
  width:7px;height:7px;margin:0 0 6px 8px;vertical-align:middle;
  border:0 !important;border-right:2px solid var(--c-ink-2) !important;
  border-bottom:2px solid var(--c-ink-2) !important;
  transform:rotate(45deg);transition:border-color .2s ease;transition: 0.3s ease-out;}
#header .dropdown.menu > li.is-dropdown-submenu-parent > a:hover::after,
#header .dropdown.menu > li.is-dropdown-submenu-parent.active > a::after{
  border-right-color:var(--c-primary) !important;border-bottom-color:var(--c-primary) !important; transition: 0.3s ease-out; transform: rotate(-135deg);}

/* Services dropdown as a floating white card */
#header .is-dropdown-submenu{background:var(--c-light);border:1px solid var(--c-line);
  border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:8px;min-width:230px;}
#header .is-dropdown-submenu > li > a{font-family:var(--font-body);font-weight:500;font-size:14px;
  color:var(--c-ink);padding:10px 12px;border-radius:var(--r-sm);white-space:nowrap;
  transition:background .18s ease,color .18s ease;}
#header .is-dropdown-submenu > li > a:hover{background:#eef0ff;color:var(--c-primary);}
#header .is-dropdown-submenu > li.active > a{background:#eef0ff;color:var(--c-primary);}

/* "Contact Us" CTA (nav + mobile) — brand pill */
#header .button{font-family:var(--font-head);font-weight:700;font-size:15px;color:#fff;
  background:var(--c-primary);border:0;border-radius:var(--r-pill);padding:11px 30px;margin:0;
  box-shadow:0 8px 18px rgba(43,63,161,.22);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;line-height: 26px;}
#header .button:hover,#header .button:focus{background:var(--c-primary-dark);color:#fff;
  box-shadow:0 12px 24px rgba(43,63,161,.28); opacity:1;}

/* mobile: hamburger + phone + contact */
#header .openMenu{background:transparent;border:0;cursor:pointer;color:var(--c-primary);
  padding:6px 4px;line-height:1;}
#header .openMenu .icon{color:var(--c-primary);}
#header .mobile-contact-number-section{text-align:center;padding:12px 16px 0;}
#header .sitePhoneNumber{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--c-primary);}
#header .sitePhoneNumber i{margin-right:6px;}
#header .mobile-contact-button-section{text-align:center;padding:12px 16px 14px;}

/* ============================================================
   SITE FOOTER (Webware new-footer) — premium dark brand footer
   ============================================================ */
.fc-footer{color:var(--c-ink);padding:0px 0 24px;}
.fc-foot-inner{max-width:1200px;margin:0 auto;padding:0 24px;}

/* top: connect (left) + certification badges (right) */
.fc-foot-top{padding-bottom:32px;}
.fc-foot-connect{display:flex;flex-direction:column;gap:20px;align-items:flex-start;}
/* mailing-list CTA */
.fc-footer .fc-foot-btn{display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-body);font-weight:600;font-size:14px;color:#fff;background:var(--c-primary);
  border:0;border-radius:var(--r-pill);padding:12px 26px;margin:0;cursor:pointer;
  box-shadow:0 10px 24px rgba(43,63,161,.32);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;}
.fc-footer .fc-foot-btn:hover{background:var(--c-primary-dark);color:#fff;
  transform:translateY(-2px);box-shadow:0 14px 30px rgba(43,63,161,.4);}
/* social icons */
.fc-foot-social{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;}
.fc-foot-social li{margin:0;}
.fc-foot-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:50%;background:var(--c-light);color:var(--c-ink-2);font-size:16px;box-shadow:var(--shadow-1);
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;}
.fc-foot-social a:hover{background:var(--c-primary);color:#fff;transform:translateY(-2px);}

/* certification badges */
.fc-foot-badges{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;}
.fc-badge{display:block;width:auto;opacity:.92;transition:opacity .2s ease,transform .2s ease;}
.fc-badge:hover{opacity:1;transform:translateY(-2px);}
.fc-badge-xero{height:140px;}
.fc-badge-qb{height:120px;}

/* disclaimer */
.fc-foot-disclaimer{margin-top:0px;padding-top:1.5rem;border-top:1px solid rgba(255, 255, 255, 0.1);padding-bottom:1.5rem; margin: 0 auto;max-width:850px;}
.fc-footer .fc-foot-disclaimer p{font-family:var(--font-body);font-size:12.5px;line-height:1.75;
  color:var(--c-ink-2);margin:0;}

/* copyright bar */
.fc-foot-bottom{margin-top:24px;padding-top:22px;}
.fc-footer .fc-foot-bottom .copyright{font-family:var(--font-body);font-size:14px;
  color:var(--c-ink-2);margin:0;}
.fc-footer .fc-foot-bottom a{color:rgba(245, 247, 255, 0.65);text-decoration:none;font-weight:500;}
.fc-footer .fc-foot-bottom a:hover{color:var(--c-primary);text-decoration:none;}

.border-bottom {
    border-bottom: 1px solid #e7e5df;
}

/* responsive */
@media(max-width:1023px){
  .fc-foot-connect{align-items:center;}
  .fc-foot-badges{justify-content:center;margin-top:26px;}
   footer {margin-top:0px;}
  #header {border:1px solid #ddd;padding: 10px 0 0;}
  .bx-wrapper img {
    max-width: 350px;
}
}

aside.sidenav .menu.accordion-menu .active > a{
 border-left: 5px solid #4353FF;   
}


.common-sect-bg{
    background:var(--c-bg-set) !important;
    }
    
    .button {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
      line-height: normal;
}

.button svg, .fc-btn svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
    vertical-align: middle;
     transition:0.3s ease-out;
}

.button:hover svg, .fc-btn:hover svg {
 transform:translate(4px);
  transition:0.3s ease-out;
}

.pill-set {
    border-radius: 3.40282e38px;
    align-items: center;
    gap: .5rem;
    display: inline-flex;
    background: #EEF0FF;
    padding: 0.5rem 1rem;
    border: 1px solid rgba(67, 83, 255, 0.2);
}

span.serv-svg  {
    background: #eef0ff;
    border-radius:.75rem;
    padding: 0.5rem 0.8rem 0.8rem;
}

span.serv-svg svg {
    stroke: #2735c7;
    vertical-align: middle;
    width: 20px;
    height: 20px;
}

ul.fc-plist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

p.sm-text {
    color: #2735c7;
    font-weight: 600;
    font-size: 14px;
    line-height: normal;
}

p.sm-text svg {
    transition:0.3s ease-out;
}


p.sm-text:hover svg {
transform:translate(4px);
      transition:0.3s ease-out;
}

.fc-card-cell:hover .fc-pcard-title {
    color: #2735c7;
}

p.sm-text {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.add-new-font{
    font-family:var(--font-head) !important;
    text-wrap: balance;
    font-weight: 700 !important;
    font-size:16px !important;
    line-height:normal;
    }
    
    .add-new-font:hover{
    text-decoration:underline;
    }
    .add-grad-bg {
    background: linear-gradient(180deg, #fbfaf7 0%, #eef0ff 100%) !important;
}

.fc-pcard.add-card-details:hover {
    box-shadow: var(--shadow-card);
}
.fc-card-cell:hover .fc-pcard.add-card-details h3{
    color:#101828;
    }
    
    .process-grid {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 24px;
}

.process-item {
    position: relative;
    border-top: 2px solid #e7e5df;
    padding-top: 28px;
}

.top-line {
    position: absolute;
    top: -2px;
    left: 0;
    width: 56px;
    height: 2px;
    background: #4353ff;
}

.step-number {
     font-family:var(--font-head) !important;
    width: 40px;
    height: 40px;
    background: #4353ff;
    color: #fff;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 18px;
}

.process-item h3 {
    margin-bottom: 14px;
}


.built-cards {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    padding: 25px;
    transition: .3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
    height:100%;
}

.built-cards:hover {
    transform: translateY(-5px);
    border-color: #2563eb;
    box-shadow: 0 10px 25px rgba(37,99,235,.15);
}

.card-inner {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}

.serv-svg.add-bg-cl {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #4353ff;
    color: #fff;
    padding: 0.8rem;
}
.serv-svg.add-bg-cl svg{
    stroke:#FFF;
    }

.serv-svg svg {
    width: 22px;
    height: 22px;
}

.card-content {
    flex: 1;
}

.navy-bg{
    background:#0a1633 !important;
    }
    .navy-bg .color-white{
        color:#f5f7ff;
        }
        .navy-bg .light-bl{  
       color: #8fa5ff;
       }

        
        .add-sec-btn.white-btn {
    border-color: rgba(245, 247, 255, 0.35) !important;
}

.add-sec-btn.white-btn:hover {
    border-color: rgba(245, 247, 255, 0.7) !important;
    background-color:rgba(255, 255, 255, 0.1);
}

span.fc-eyebrow.sm-text-s {
    font-size: 13px;
    font-weight: 600;
}

span.blue-dash {
    display: block;
    width: 3rem;
    height: 0.125rem;
    margin-bottom: 1.5rem;
    border-radius: 9999px;
    background-color: #3b82f6;
}

.max-wid-card {
    max-width: 726px;
    margin: 0 auto;
        padding-bottom: 1rem;
}

.bx-wrapper .bx-controls-direction a {
    top: 100%;
    }
    
.bx-wrapper .bx-pager.bx-default-pager a {
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #4353ff;
    transform: scale(1.25);
}

.bx-wrapper .bx-pager.bx-default-pager a {
    text-indent: -9999px;
    display: block;
    width: 12px;
    height: 12px;
    margin: 0 9px;
    outline: 0;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    background: #e7e5df;
    border: 0px solid #FFFFFF;
    box-shadow: none;
}

.bx-wrapper .bx-prev,
.bx-wrapper .bx-next {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;
    background: #fff;
    color: #6b7280;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    text-indent: 0;
    transition: border-color .3s ease, color .3s ease;
}

.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-next:hover {
    border-color: #4353ff;
    color: #4353ff;
}

.bx-wrapper .bx-prev svg,
.bx-wrapper .bx-next svg {
    width: 20px;
    height: 20px;
    stroke:#475467;
}

.bx-wrapper .bx-prev {
    left: 200px;
}

.bx-wrapper .bx-next {
    right: 200px;
}
.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
    bottom: -5px;
    }
    
    
    .bx-wrapper.three-column-slider-wrapper .bx-pager {
    z-index: -1;
}

.bx-controls.bx-has-controls-direction.bx-has-pager {
    z-index: -1;
    position: relative;
}

footer .tracking-tight {
    color: #f5f7ff;
}
footer .logo-text{
    color: #f5f7ff;
}

footer p.para-first{
    font-family: var(--font-head);
    font-size:15px;
    font-weight:600;
color: rgba(245, 247, 255, 0.9) !important;  
}
footer p.para-sec{
    font-size:14px;
color: rgba(245, 247, 255, 0.65) !important;
}

.first-menu li:first-child{
    display:none;
}

ul.no-bullet.sec-menu li:first-child {
    display:none;
}

ul.no-bullet.sec-menu li:nth-child(3) {
    display:none;
}

ul.no-bullet.sec-menu li:nth-child(7) {
    display:none;
}

p.sm-text-foot {
    font-family: var(--font-head);
    color: rgba(245, 247, 255, 0.55);
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .8125rem;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 14px;
}

.first-menu li a, .sec-menu li a, p.common-para a, ul.social-med li a {
    font-size: .9375rem !important;
    color: rgba(245, 247, 255, 0.7);
}
.first-menu li a:hover, .sec-menu li a:hover, p.common-para:hover a, ul.social-med li a:hover {
    color: #FFF;
}

.first-menu li, .sec-menu li   {
    margin: 8px 0px;
}

.common-para svg {
    color: rgba(245, 247, 255, 0.45);
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-right: 7px;
}

.common-para {
    margin: 8px 0px;
}

ul.social-med li a {
    background: none;
}

ul.social-med li a svg{
   color: rgba(245, 247, 255, 0.45);
     width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-right: 7px;
}

footer hr{
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom:0px;
    }
    
    .card-inner.flex-none {
    flex-direction: column;
}

.built-cards.translate-none:hover {
    transform: none;
    border-color: rgba(67, 83, 255, 0.3);
}

.pricing-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 32px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.pricing-card:hover {
    transform: translateY(-2px);
    border-color: rgba(67, 83, 255, .3);
    box-shadow: 0 16px 40px rgba(15, 23, 42, .12);
}

.pricing-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 1rem;
}

.pricing-title {
    margin: 0;
    font-size: 32px;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
}

.pricing-badge {
    padding: 6px 12px;
    border: 1px solid #e7e5df;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #475467;
    white-space: nowrap;
    line-height: normal;
}

.pricing-card .fc-card-cell:hover .fc-pcard-title {
    color: #101828;
}

.pricing-features {
    margin: 24px 0 0;
    padding: 24px 0 0;
    list-style: none;
    border-top: 1px solid #e7e5df;
}

.pricing-features li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    color: #101828;
}

.pricing-features li:last-child {
    margin-bottom: 0;
}

.feature-icon {
    flex-shrink: 0;
    color: #16a34a;
    margin-top: 2px;
}

.feature-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
}

.pricing-footer {
    margin-top: auto;
    padding-top: 28px;
}

.pricing-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #4353ff;
    font-weight: 700;
    text-decoration: none;
    transition: color .2s ease;
}

.pricing-link svg {
    width: 16px;
    height: 16px;
    transition: transform .2s ease;
}

.pricing-link:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pricing-link:hover svg {
    transform: translateX(4px);
}

 .fc-card-cell:hover .pricing-card .fc-pcard-title {
    color: #101828;
}

.info-box {
    margin-top: 1.25rem;
    padding: 0.75rem 1rem; 
    border-radius: 0.75rem;
    background-color: #eef0ff; 
    font-size: 0.875rem; 
    line-height: 1.625; 
    color: #101828 !important; 
}

.new-cl li {
    color: #101828 !important;
}

.info-box span {
    font-weight: 600; 
}

.level-2 {
    width: 22rem;
    max-width: calc(100vw - 3rem);
    padding: 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(15,23,42,.12);
}


.level-2 > li > a.service-dropdown-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border-radius: 12px;
    text-decoration: none;
    transition: background-color .2s ease;
}


.level-2 > li > a.service-dropdown-item:hover {
    background: rgba(67,83,255,.08);
}


.service-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    margin-top: 2px;
    border-radius: 8px;
    background: rgba(67,83,255,.08);
    color: #4353ff;
    transition: all .2s ease;
}


.service-dropdown-item:hover .service-icon {
    background: #4353ff;
    color: #fff;
}


.service-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
}


.service-text {
    min-width: 0;
    max-width: 231px;
    text-wrap: wrap;
}


.service-title {
    display: block;
    font-size: 14px;
    line-height: 1.375;
    font-weight: 600;
    color: #111827;
}


.service-desc {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.6;
    color: #6b7280;
}

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
    right: 0;
    left: 0;
    }
    
    .services-footer {
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid #e5e7eb;
       padding: 0.75rem 0.5rem 0.25rem;
}

.all-services  {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    font-weight: 600 !important;
    color: #2735c7 !important;
    transition: color 0.2s ease;
    text-decoration: none;
  max-width:150px;
}
span.serv-wid{
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #2735c7 !important;
    transition: color 0.2s ease;
    text-decoration: none;
    }

.all-services:hover {
    color: #4353ff;
}

.all-services svg {
    width: 1rem;
    height: 1rem;
    transition: transform 0.2s ease;
        stroke-width: 2;
}

.all-services:hover svg {
    transform: translateX(0.25rem);
}

.services-footer span {
    font-size: 0.75rem;
    color: #475467;
}
.services-footer-inner {
    display: inline-flex;
    justify-content: center;
    align-items: end;
}

span.serv-wid {
    max-width: 65px;
    display: inline-block;
}

.service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.service-tags li {
  margin: 0;
}

.service-tags a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 16px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 9999px;
  background: #fff;
  color: #555;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
}

.service-tags a:hover {
  border-color: #2563eb;
  color: #1d4ed8;
}

.fc-pcard:hover p.sm-text svg {
transform:translate(4px);
      transition:0.3s ease-out;
}

.practice-card {
    margin-top: 40px;
    padding: 45px 36px;
    border: 1px solid rgba(37, 99, 235, 0.15);
    border-radius: 20px;
    background: linear-gradient(180deg, #fbfaf7 0%, #eef0ff 100%);
    margin-bottom: 0px;
}

.practice-grid {
    margin-top: 20px;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 24px;
        margin-left: 0px;
}

.practice-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.check-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 4px;
    color: #0e9f5d;
}

.practice-item a {
    color: #101828;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
    transition: color .25s ease;
}

.practice-item a:hover {
    color: #2735c7;
    text-decoration: underline;
}

.description {
    display: block;
    margin-top: 4px;
    color: #475467;
    font-size: 14px;
    line-height: 1.5;
}
.size-13{
    font-size:13px !important;
    }
    
    .who-for-card {
    padding: 28px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}


.who-for-text {
    margin-top: 12px;
    color: #101828 !important;
    font-size: 17px;
    line-height: 1.7;
}

.connect-card {
    margin-top: 24px;
    padding: 28px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.eyebrow {
    margin: 0;
    color: #1d4ed8;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.connect-text {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.7;
    color: #6b7280;
}

.connect-links {
    margin-top: 16px;
    padding: 0;
    list-style: none;
}

.connect-links li + li {
    margin-top: 8px;
}

.connect-links a {
    color: #2735c7;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.25s ease;
}

.connect-links a:hover {
    text-decoration: underline;
}

.who-for {
    margin-top: 20px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 15px;
    line-height: 1.7;
    color: #101828;
}

.who-icon {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
    color: #4353ff;
}

.who-for strong {
    font-weight: 600;
    color: #101828;
}

.add-bullet-data li {
    margin-bottom: 9px;
        display: flex;
    align-items: flex-start;
    gap: 10px;
    color:#101828;
}

.border-top.add-cl {
    border-color: #e7e5df;
}

.tools-grid {
    margin-top: 40px;
    max-width: 768px;
    padding: 0;
    list-style: none;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.tool-card {
    padding: 28px 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;
    font-size: 20px;
    font-weight: 700;
    color: #101828 !important;
}

.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;
}

.avatar-badge {
    display: grid;
    place-items: center;

    width: 64px;
    height: 64px;
    flex-shrink: 0;

    border-radius: 16px;

    background: linear-gradient(
        135deg,
        #0f172a,
        #1d4ed8
    );

    color: #fff;
    font-size: 20px;
    font-weight: 800;

    /* ring-2 ring-primary/20 ring-offset-2 */
    box-shadow:
        0 0 0 2px rgba(37, 99, 235, 0.2),
        0 0 0 4px #ffffff;
}

.size-20{
    font-size:20px !important;
    }
    
    .cl-prim{
        color:#2735c7 !important;
            font-weight: 500;
        }
        
        .card-inner.add-midde {
    align-items: center;
}

.built-cards.add-mid-set:hover {
    border-color: rgba(67, 83, 255, 0.3);
}

.job-card {
    display: flex;
    flex-direction: column;
    height: 100%;

    padding: 28px;

    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.job-card h3 {
    margin: 0;
    color: #101828;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
}

.job-description {
    margin-top: 12px;
    color: #475467;
    line-height: 1.7;
}

.job-description a {
    color: #2735c7;
    font-weight: 600;
    text-decoration: none;
}

.job-description a:hover {
    text-decoration: underline;
}

.job-note {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-top: auto;
    padding-top: 24px;

    color: #475467;
    font-size: 14px;
}

.mail-icon {
    flex-shrink: 0;
    color: #4353ff;
}

.form-template-3 form {
    border: 0px solid #999;
    }
    
    .pd-set .ww-form-container-3 {
    padding: 0px !important;
}

.fc-faq {
    background: #fff;
    border: 1px solid #e7e5df;
    border-radius: .875rem;
    padding: 1rem 2rem;
}
.fc-faq-item{border-bottom:1px solid #e7e5df;}
.fc-faq-q:hover {
    color:#2735c7;
}

.fc-faq-icon {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    color: var(--c-primary);
    transition: transform .3s ease;
    border: 1px solid #e7e5df;
    border-radius: 3.40282e38px;
    text-align: center;
}
.fc-faq-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #475467;
    stroke-width: 2px;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: baseline;
}

.fc-faq-item[open] .fc-faq-icon{border-color: rgba(67, 83, 255, 0.4);}
.fc-faq-item[open] .fc-faq-q svg{stroke:#2735c7;}
.fc-faq-item:last-child{border-bottom:0px solid #e7e5df;}

button.slick-next.custom-arrow, button.slick-prev.custom-arrow {
    top:100%;
    
}


button.slick-next.custom-arrow{
    right:19%;
    
}

button.slick-prev.custom-arrow {
    left:19%;
    
}

button.slick-next.custom-arrow, button.slick-prev.custom-arrow  {
   display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;
    background: #fff;
    color: #6b7280;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
    text-indent: 0;
    transition: border-color .3s ease, color .3s ease;
        opacity: 1;
        transform: rotate(0deg);
}

.slick-dots li.slick-active, .slick-dots li:hover {
    background: #4353ff;
    transform: scale(1.25);
}

.slick-dots li {
    border: 0px solid #000000;
    border-radius: 100%;
    background: #e7e5df;
    border: 0px solid #FFFFFF;
    width: 12px;
    height: 12px;
}

.slick-dots {
    bottom: -30px;
    }
    
    .review-slider {
    margin-bottom: 150px !important;
}

@media screen and (min-width:1024px) and  (max-width:1200px){
    #header .button{
    padding: 11px 22px;
    }
    }

@media screen and (max-width:1023.5px){
    .process-grid {
    grid-template-columns: repeat(1, 1fr);
}

    .practice-grid {
        grid-template-columns: 1fr;
    }

    .practice-card {
        padding: 24px;
    }
        .tools-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .level-2 {
    width: auto;
    max-width: calc(100vw - 3rem);
    padding: 0;
    background: transparent;
    border: 0px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, .12);
    padding-left: 0px !important;
}
aside.sidenav .menu.accordion-menu li.is-submenu-item.is-accordion-submenu-item span {
    display: inline-block;
    padding-left: 0px !important;
}
.is-wrapper .is-box .is-container {
    margin-top: 40px;
    margin-bottom: 40px;
}


.fc-hero.common-sect-bg::after {
    background: linear-gradient(to top, #eef0ff 100%, transparent 90%);
}
.main-navigation.sticky {
    position: static;
    }
    
    ul.fc-plist {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}


  .bx-wrapper .bx-prev {
    left: 10px;
}

  .bx-wrapper .bx-next {
    right: -22px;
}

    .bx-wrapper .bx-pager {
        display: block;
    }
    .bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
    right: -20px;
}

.max-wid-card {
    max-width: none;
    margin: 0 auto;
    padding-bottom: 1rem;
    padding: 1rem;
}

.review-slider {
    margin-bottom: 80px !important;
}
    
    }
    .form-template-3 .ww-form-container-3 input[type="text"], .form-template-3 .ww-form-container-3 input[type="password"], .form-template-3 .ww-form-container-3 input[type="tel"], .form-template-3 .ww-form-container-3 input[type="email"], .form-template-3 .ww-form-container-3 select, .form-template-3 .ww-form-container-3 textarea, .form-template-3 #mob_phone_phone_number_tel

 {
  
    min-height: 48px;
 }
 .field_33993_wrap {
    display: none;
}
.fc-sec-head.logo-div{
    max-width:900px;
}
.logo-div .tools-grid {
   grid-template-columns: repeat(5, 1fr);
    max-width: 900px;
}
.logo-container img {
    max-width: 234px;
}
@media screen and (max-width: 1023.5px) {
    .logo-div .tools-grid {
   grid-template-columns: repeat(2, 1fr);
   
}
}