/* Brand and product-card refinements */
.brand{letter-spacing:0;display:inline-flex;align-items:center}
.brand-symbol{width:1.45em;height:1.45em;margin-right:.42em;fill:#1766c2;overflow:visible}
.brand-happy{display:inline-block;letter-spacing:-.045em;padding-right:.075em}
.brand-fittery{display:inline-block;letter-spacing:-.035em}

.hero-puzzle{margin:0;width:100%;align-self:center}
.hero-puzzle img{display:block;width:100%;height:auto;filter:saturate(.98)}

.product-grid{gap:20px}
.product-card{
  min-height:245px;
  padding:30px;
  border-color:#d8deea;
  border-radius:26px;
  background:linear-gradient(145deg,color-mix(in srgb,currentColor 17%,#fff),color-mix(in srgb,currentColor 9%,#fff));
  box-shadow:0 12px 32px #26355012,0 2px 7px #2635500a
}
.product-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:currentColor
}
.product-card::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-75px;
  bottom:-88px;
  border-radius:50%;
  background:currentColor;
  opacity:.07
}
.product-card:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb,currentColor 32%,#d8deea);
  box-shadow:0 24px 56px #26355020,0 3px 10px #26355010
}
.product-icon{
  width:48px;
  height:48px;
  border-radius:15px;
  background:#ffffffb8;
  border:1px solid color-mix(in srgb,currentColor 28%,white);
  font-size:1.25rem;
  font-weight:800
}
.product-card h3{font-size:1.65rem;letter-spacing:-.045em;margin-top:26px}
.product-card p{color:#566074;font-size:.93rem;max-width:255px}
.product-logo{display:flex;align-items:center;gap:16px;min-height:66px}
.product-logo svg{width:58px;height:58px;overflow:visible;flex:0 0 auto;filter:drop-shadow(0 5px 8px #26355018)}
.product-logo.original-logo{justify-content:flex-start}
.product-logo.original-logo img{display:block;width:min(235px,82%);height:auto;filter:drop-shadow(0 5px 8px #26355012)}
.product-logo strong{font-size:1.72rem;letter-spacing:-.055em;color:currentColor;line-height:1}
.product-logo strong span{color:#1766c2}
.product-logo+p{margin-top:24px}
.logo-primary,.logo-tile.front{fill:#1766c2}.logo-accent{fill:#15b943}.logo-tile.back{fill:#fb8c00}
.app .product-logo strong span{color:#6bd6ef}
.card-arrow{
  right:27px;
  top:27px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#ffffffc9;
  border:1px solid #dfe4ec;
  color:#677085;
  box-shadow:0 3px 10px #26355010
}
.app{
  background:linear-gradient(145deg,#0b1224,#181a36);
  border-color:#303653;
  box-shadow:0 16px 40px #0b12242e
}
.app p{color:#c5cbda}
.app .card-arrow{color:#d1b2ff;background:#ffffff10;border-color:#ffffff20}
.app::after{opacity:.14}

@media(max-width:900px){.hero-puzzle{max-width:620px;margin-inline:auto}}
@media(max-width:620px){.product-card{min-height:210px}.hero-puzzle{width:112%;margin-left:-6%}}
.work-steps li{display:block}
.company-copy dd a{text-decoration:underline;text-underline-offset:3px}

/* Footer: responsive, tidy grouping without touching the main page layout */
.site-footer{height:auto;display:block;padding:0;color:var(--muted);font-size:.87rem;border-top:1px solid var(--line)}
.footer-main{display:grid;grid-template-columns:minmax(210px,1fr) 2fr;gap:65px;padding:48px 0 40px;align-items:start}
.footer-identity .brand{display:inline-flex;align-items:center;gap:8px;font-size:1.42rem}
.footer-identity .brand-symbol{width:30px;height:30px;fill:var(--blue)}
.footer-identity p{margin:13px 0 0;font-size:.86rem;color:var(--muted)}
.footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.footer-nav-group{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.footer-nav-group strong{font-size:.83rem;color:var(--navy);margin-bottom:5px}
.footer-nav-group a{color:var(--muted);font-size:.84rem;overflow-wrap:anywhere;transition:color .18s}
.footer-nav-group a:hover,.footer-nav-group a:focus-visible{color:var(--blue)}
.footer-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 24px;font-size:.76rem}
@media(max-width:780px){.footer-main{grid-template-columns:1fr;gap:32px}.footer-nav{gap:18px}}
@media(max-width:500px){.footer-main{padding:34px 0 28px}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:5px}}

/* Footer v2: override legacy grid rules and enforce real column layout */
footer.site-footer.section-shell{height:auto!important;min-height:0;display:block!important;grid-template-columns:none!important;align-items:initial!important;padding:0!important;margin-top:30px;border-top:1px solid #dce3ee;line-height:1.5}
footer.site-footer .footer-main{display:grid!important;grid-template-columns:minmax(260px,1.15fr) minmax(0,2fr)!important;column-gap:72px;row-gap:32px;padding:42px 0 38px;align-items:start}
footer.site-footer .footer-identity{min-width:0}
footer.site-footer .footer-identity .brand{display:inline-flex;align-items:center;gap:8px}
footer.site-footer .footer-identity p{margin:12px 0 0;max-width:280px}
footer.site-footer nav.footer-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px;align-items:start;justify-items:start}
footer.site-footer .footer-nav-group{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:9px!important;width:100%;min-width:0}
footer.site-footer .footer-nav-group strong{display:block;font-size:.85rem;margin:0 0 7px;color:var(--navy)}
footer.site-footer .footer-nav-group a{display:block!important;line-height:1.5;font-size:.84rem;text-decoration:none;overflow-wrap:anywhere}
footer.site-footer .footer-bottom{display:flex!important;grid-template-columns:none!important;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:19px 0 25px;line-height:1.5}
@media(max-width:850px){footer.site-footer .footer-main{grid-template-columns:1fr!important;gap:32px}footer.site-footer nav.footer-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:540px){footer.site-footer .footer-main{padding:32px 0 27px}footer.site-footer nav.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:25px}footer.site-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:5px}}
