/* logo-resize 2026-05-05T15:40:29.286Z */
/* Cimatri HubSpot Theme — Global Styles */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--cim-blue:#2B5597;--cim-teal:#45C2B1;--cim-orange:#FFA426;--cim-purple:#AD4C7C;--cim-gray:#1A1A2E;--cim-white:#FFFFFF;--cim-light-bg:#F4F6FA;--cim-dark-bg:#1E3A6E;--cim-text:#1A2A4A;--cim-text-light:#1A1A2E;--cim-border:#D8E0EE;--font-primary:'Montserrat','Century Gothic',sans-serif;--max-width:1200px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-sm:0 1px 3px rgba(43,85,151,0.10);--shadow-md:0 4px 16px rgba(43,85,151,0.12);--shadow-lg:0 8px 32px rgba(43,85,151,0.16)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-primary);color:var(--cim-text);background:var(--cim-white);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--cim-teal);text-decoration:none;transition:color 0.2s}
a:hover{color:var(--cim-blue)}
.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);line-height:1.2;margin-bottom:0.5em}
h1{font-size:2.5rem;font-weight:800;color:var(--cim-blue)}
h2{font-size:2rem;font-weight:700;color:var(--cim-blue)}
h3{font-size:1.375rem;font-weight:600;color:var(--cim-teal)}
h4{font-size:1.125rem;font-weight:600;color:var(--cim-text)}
p{margin-bottom:1em}
.btn{display:inline-block;font-family:var(--font-primary);font-weight:600;font-size:0.875rem;padding:12px 28px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all 0.2s;text-align:center;text-decoration:none}
.btn-primary{background:var(--cim-teal);color:var(--cim-white)}
.btn-primary:hover{background:#3aab9d;color:var(--cim-white)}
.btn-secondary{background:var(--cim-blue);color:var(--cim-white)}
.btn-secondary:hover{background:var(--cim-dark-bg);color:var(--cim-white)}
.btn-outline{background:transparent;color:var(--cim-teal);border:2px solid var(--cim-teal)}
.btn-outline:hover{background:var(--cim-teal);color:var(--cim-white)}
.site-header{position:sticky;top:0;z-index:1000;background:var(--cim-white);border-bottom:1px solid var(--cim-border);transition:box-shadow 0.3s}
.site-header.scrolled{box-shadow:var(--shadow-md)}
.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin:0 auto;padding:16px 24px}
.header-logo img{height:60px;width:auto}
.main-nav{display:flex;align-items:center;gap:0}
.main-nav>ul{display:flex;list-style:none;gap:0;margin:0;padding:0}
.main-nav>ul>li{position:relative}
.main-nav>ul>li>a{display:block;padding:12px 16px;font-size:0.875rem;font-weight:600;color:var(--cim-text);text-decoration:none;transition:color 0.2s}
.main-nav>ul>li>a:hover,.main-nav>ul>li.active>a{color:var(--cim-teal)}
.main-nav .dropdown,.main-nav .hs-menu-children-wrapper{position:absolute;top:100%;left:0;min-width:280px;background:var(--cim-white);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:all 0.2s;list-style:none;padding:8px 0;z-index:100}
.main-nav>ul>li:hover>.dropdown,.main-nav>ul>li:hover>.hs-menu-children-wrapper{opacity:1;visibility:visible;transform:translateY(0)}
.main-nav .dropdown li a,.main-nav .hs-menu-children-wrapper li a{display:block;padding:10px 20px;font-size:0.8125rem;font-weight:500;color:var(--cim-text)}
.main-nav .dropdown li a:hover,.main-nav .hs-menu-children-wrapper li a:hover{background:var(--cim-light-bg);color:var(--cim-teal)}
.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.mobile-menu-toggle span{display:block;width:24px;height:2px;background:var(--cim-text);margin:5px 0;transition:all 0.3s}
.header-cta{margin-left:16px}
.site-footer{background:var(--cim-dark-bg);color: #F0F2F5;padding:64px 0 0}
.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:48px}
.footer-logo img{height:60px;width:auto!important;margin-bottom:24px}
.footer-heading{font-size:0.875rem;font-weight:700;color:var(--cim-teal);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:16px}
.footer-links{list-style:none;padding:0}
.footer-links li{margin-bottom:8px}
.footer-links a{color: #F0F2F5;font-size:0.875rem;transition:color 0.2s}
.footer-links a:hover{color:var(--cim-teal)}
.footer-social{display:flex;gap:16px;margin-top:16px}
.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.1);color: #F0F2F5;transition:all 0.2s}
.footer-social a:hover{background:var(--cim-teal);color:var(--cim-white)}
.footer-social svg{width:18px;height:18px;fill:currentColor}
.footer-newsletter .hs-form label{display:none}
.footer-newsletter .hs-form input[type="email"],
.footer-newsletter .hs-form input[type="text"]{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:var(--cim-white);border-radius:var(--radius-sm);padding:10px 14px;font-family:var(--font-primary);font-size:0.875rem;width:100%}
.footer-newsletter .hs-form input[type="email"]::placeholder,
.footer-newsletter .hs-form input[type="text"]::placeholder{color:rgba(255,255,255,0.5)}
.footer-newsletter .hs-form input[type="submit"],.footer-newsletter .hs-form .hs-button{background:var(--cim-teal);color:var(--cim-white);border:none;border-radius:var(--radius-sm);padding:10px 24px;font-family:var(--font-primary);font-weight:600;font-size:0.875rem;cursor:pointer;margin-top:8px;transition:background 0.2s}
.footer-newsletter .hs-form input[type="submit"]:hover,.footer-newsletter .hs-form .hs-button:hover{background:#3aab9d}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);margin-top:48px;padding:20px 0}
.footer-bottom-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;font-size:0.75rem;color:rgba(255,255,255,0.5)}
.footer-bottom a{color:rgba(255,255,255,0.5)}
.footer-bottom a:hover{color:var(--cim-teal)}
.section{padding:80px 0}
.section-light{background:var(--cim-light-bg)}
.section-dark{background:var(--cim-dark-bg);color:var(--cim-white)}
.section-dark h1,.section-dark h2{color:var(--cim-white)}
.section-dark h3{color:var(--cim-teal)}
.card{background:var(--cim-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:32px;transition:box-shadow 0.2s,transform 0.2s}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
/* Contact form styling */
.form-title{display:none}
.hs-form .hs-input{width:100%!important;padding:12px 14px!important;border:1px solid rgba(0,0,0,0.15)!important;border-radius:4px!important;font-size:0.95rem!important;background:#f8f9fa;transition:border-color 0.2s}
.hs-form .hs-input:focus{border-color:var(--cim-teal)!important;outline:none!important;background:#fff}
.hs-form .hs-button.primary{background:var(--cim-teal)!important;color:#fff!important;border:none!important;padding:12px 32px!important;border-radius:4px!important;font-family:var(--font-primary)!important;font-weight:600!important;font-size:1rem!important;cursor:pointer!important;transition:background 0.2s;display:inline-block}
.hs-form .hs-button.primary:hover{background:#3aab9d!important}
.hs-form .hs-form-field{margin-bottom:16px}
.hs-form label:not(.hs-error-msg){display:none}
.hs-form fieldset{max-width:100%!important}
.hs-form .hs-input{font-family:var(--font-primary)!important;border-radius:var(--radius-sm)!important}
.hs-form .hs-button.primary{background:var(--cim-teal)!important;border-color:var(--cim-teal)!important;font-family:var(--font-primary)!important;font-weight:600!important;border-radius:var(--radius-sm)!important}
.hs-form .hs-button.primary:hover{background:#3aab9d!important}
@media(max-width:992px){.mobile-menu-toggle{display:block}.main-nav{position:fixed;top:0;right:-320px;width:320px;height:100vh;background:var(--cim-white);box-shadow:var(--shadow-lg);flex-direction:column;padding:80px 24px 24px;transition:right 0.3s;overflow-y:auto;z-index:999}.main-nav.open{right:0}.main-nav>ul{flex-direction:column;width:100%}.main-nav>ul>li>a{padding:14px 0;border-bottom:1px solid var(--cim-border)}.main-nav .dropdown,.main-nav .hs-menu-children-wrapper{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding-left:16px;display:none}.main-nav>ul>li.open>.dropdown,.main-nav>ul>li.open>.hs-menu-children-wrapper{display:block}.header-cta{display:none}}
@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.625rem}.section{padding:48px 0}.footer-inner{grid-template-columns:1fr;gap:32px}}

/* ===== RESPONSIVE OVERRIDES FOR TEMPLATE INLINE STYLES ===== */

/* Mobile: 375px - 767px */
@media (max-width: 767px) {
  /* Hero sections */
  .hero-section,
  main > section:first-child {
    padding: 48px 0 40px !important;
  }
  
  /* All section padding */
  main section {
    padding: 48px 0 !important;
  }
  
  /* Headings */
  main h1 {
    font-size: 1.8rem !important;
    line-height: 1.3 !important;
  }
  main h2 {
    font-size: 1.4rem !important;
    margin-bottom: 24px !important;
  }
  main h3 {
    font-size: 1.05rem !important;
  }
  
  /* All grid layouts → single column */
  main [style*="grid-template-columns: 1fr 1fr"],
  main [style*="grid-template-columns: repeat"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  /* Container padding */
  main .container,
  main [style*="max-width: 1100px"],
  main [style*="max-width: 900px"],
  main [style*="max-width: 800px"],
  main [style*="max-width: 700px"],
  main [style*="max-width: 600px"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  /* Hero subtitle text */
  main section:first-child p {
    font-size: 1rem !important;
  }
  
  /* CTA buttons - full width on mobile */
  main a[style*="padding: 14px 32px"],
  main a[style*="padding: 14px 36px"],
  main a[style*="padding: 12px 28px"] {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  /* Flex button groups - stack vertically */
  main [style*="display: flex"][style*="gap: 16px"][style*="justify-content: center"] {
    flex-direction: column !important;
    align-items: center !important;
  }
  
  /* Stat numbers */
  main [style*="font-size: 2.2rem"],
  main [style*="font-size: 2.5rem"],
  main [style*="font-size: 2rem"][style*="font-weight: 700"] {
    font-size: 1.6rem !important;
  }
  
  /* Stats row - wrap */
  main [style*="display: flex"][style*="gap: 24px"]:not(nav *) {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  
  /* SVG placeholder boxes - smaller on mobile */
  main [style*="height: 280px"][style*="border-radius: 16px"] {
    height: 180px !important;
  }
  
  /* Pricing cards equal width */
  main [style*="grid-template-columns: repeat(auto-fit, minmax(280px"] {
    grid-template-columns: 1fr !important;
  }
  
  /* Decorative circles - hide on mobile */
  main section:first-child > [style*="position: absolute"][style*="border-radius: 50%"] {
    display: none !important;
  }
}

/* Tablet: 768px - 1023px */
@media (min-width: 768px) and (max-width: 1023px) {
  main h1 {
    font-size: 2.2rem !important;
  }
  main h2 {
    font-size: 1.6rem !important;
  }
  main section {
    padding: 60px 0 !important;
  }
  main .hero-section,
  main > section:first-child {
    padding: 64px 0 56px !important;
  }
  /* 2-col grids stack on tablet too for narrow ones */
  main [style*="grid-template-columns: 1fr 1fr"][style*="gap: 48px"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* Monster Illustrations */
.cim-monster{display:inline-block;vertical-align:bottom;}
.cim-monster img{max-height:180px;width:auto;object-fit:contain;}
.cim-monster-sm img{max-height:100px;}
.cim-monster-lg img{max-height:240px;}
.cim-monster-group{display:flex;align-items:flex-end;justify-content:center;gap:0.5rem;flex-wrap:wrap;}
.cim-monster-hero{position:absolute;bottom:0;opacity:0.9;}
.cim-monster-hero.left{left:2rem;}
.cim-monster-hero.right{right:2rem;}
.cim-monster-inline{margin:1rem 0;text-align:center;}
@media(max-width:768px){.cim-monster img{max-height:120px;}.cim-monster-lg img{max-height:160px;}.cim-monster-hero{display:none;}}
 May 2026 ========== */

/* A2: Fix color contrast — darken teal for WCAG AA compliance */
:root{--cim-teal:#0E8C7F;--cim-teal-text:#0A6B62}
.btn-primary{background:var(--cim-teal);color:#fff}
.btn-primary:hover{background:#0A6B62;color:#fff}
.btn-outline{color:var(--cim-teal-text);border-color:var(--cim-teal)}
.btn-outline:hover{background:var(--cim-teal);color:#fff}
a{color:var(--cim-teal-text)}
h3{color:var(--cim-teal-text)}

/* A2: Fix "Schedule Consultation" and other CTA buttons */
.hs-button,.hs-form input[type="submit"]{background:var(--cim-teal)!important;color:#fff!important;border:none!important;padding:12px 32px!important;border-radius:var(--radius-md)!important;font-weight:600!important;cursor:pointer}
.hs-button:hover,.hs-form input[type="submit"]:hover{background:#0A6B62!important}

/* M1: Increase nav dropdown touch targets to 44px minimum */
.site-header nav a,.hs-menu-wrapper li a{min-height:44px;display:flex;align-items:center;padding:10px 16px}
.hs-menu-wrapper ul ul li a{min-height:44px;padding:12px 20px}

/* B1: Fix footer form validation error text visibility */
.footer-bottom .hs-error-msg,.footer-newsletter .hs-error-msg{display:block!important;color:#ff6b6b!important;font-size:0.8rem!important;margin-top:4px!important}
.footer-bottom .hs-error-msgs,.footer-newsletter .hs-error-msgs{list-style:none!important;padding:0!important;margin:4px 0 0!important}

/* B2: Fix homepage H1 mobile overflow */
@media(max-width:767px){
  main h1{font-size:1.8rem!important;line-height:1.2!important}
  .hero-section h1{font-size:1.8rem!important}
  main > section:first-child{padding-left:20px!important;padding-right:20px!important}
}

/* B3: Fix blog page mobile horizontal padding */
@media(max-width:767px){
  .blog-content{padding-left:24px!important;padding-right:24px!important}
}

/* B4: Fix subnav wrapping on mobile */
@media(max-width:767px){
  .page-subnav,.subnav{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .page-subnav a,.subnav a{padding:12px 16px!important;font-size:0.85rem}
}

/* B5+B7: Fix hero sections not full width (newsletter + tool pages) */
.nl-hero,[class*="tool-hero"],[class*="calculator-hero"],main > section:first-child{width:100%!important;max-width:100%!important}

/* B7: Fix invisible H1 on tool pages */
.nl-hero h1,[class*="tool-hero"] h1,[class*="calculator-hero"] h1{color:#ffffff!important}

/* Skip navigation link (A1 — styled in header template, CSS here) */
.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:10000}
.skip-to-content:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:12px 24px;background:var(--cim-blue);color:#fff;font-size:1rem;font-weight:600;z-index:10000;text-decoration:none}

/* A10: Carousel ARIA — visual styling for controls */
.insights-carousel [role="button"],.insights-carousel button{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}

/* A12: Blog search input styling */
.blog-search input[type="search"],.blog-search input[type="text"]{padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--cim-border)}