


  .servicescardsectionroot{
    --bg: #f5f5f7;
    --servicescardsectionheading: #1d1d1f;
    --text: #6e6e73;
    --link: #0071e3;
    --servicescardsection-bg: #fff;
    --radius: 18px;
    --shadow: 0 6px 20px rgba(0, 0, 0, 0.068);
    --shadow-hover: 0 18px 40px rgba(31, 31, 31, 0.089);
    --transition: 300ms cubic-bezier(.2,.9,.2,1);
    --max-width: 1260px;
  }



  /* Section container */
  .servicescardsectionecorporate-section{
    max-width: var(--max-width);
    margin: 48px auto;
    padding: 36px;
    box-sizing: border-box;
  }

  /* servicescardsectionheading row */
  .servicescardsectionheading-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:28px;
  }

  .servicescardsectionheading-left{
    max-width: 820px;
  }

  .services{
    margin:0;
    font-size: clamp(28px, 4vw, 48px);
    line-height:1.02;
    color:var(--servicescardsectionheading);
   
    letter-spacing:-0.02em;
  }

  .servicescardsectionshop-link{
    align-self:flex-end;
    color:var(--link);
    text-decoration:none;
  
    font-size:14px;
    margin-top:8px;
  }
  .servicescardsectionshop-link:focus{ outline:2px solid rgba(0,113,227,0.2); border-radius:6px; padding:2px 4px; }

  /* Grid */
  .servicescardsection-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:22px;
  }

  /* servicescardsection */
  .servicescardsection{
    background:var(--servicescardsection-bg);
    border-radius: var(--radius);
    padding:28px 24px 20px 24px;
    box-shadow: var(--shadow);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height: 380px;
    position:relative;
    overflow:hidden;
    transform: translateY(10px);
    opacity:0;
    transition: transform var(--transition), box-shadow var(--transition), opacity var(--transition);
    will-change: transform, box-shadow;
  }

  .servicescardsection.in-view{
    transform:none;
    opacity:1;
  }

  .servicescardsection:hover{
    transform: translateY(-6px) scale(1.02);
    box-shadow: var(--shadow-hover);
  }

  .servicescardsectioneyebrow{
    color:var(--text);
   
    font-size:13px;
    opacity:0.9;
    margin-bottom:10px;
  }

  .servicescardsection h3{
    margin:0 0 10px 0;
    color:var(--servicescardsectionheading);
    font-size:20px;
    line-height:1.08;
  }

  .servicescardsection p{
    margin:0;
    color:var(--text);
    font-size:15px;
    line-height:1.5;
  }

  .servicescardsectionvisual{
    margin-top:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
  }

  .servicescardsectionvisual img{
    max-width:100%;
    height:auto;
    display:block;
    object-fit:contain;
    filter: drop-shadow(0 8px 20px rgba(0,0,0,0.06));
  }

  /* servicescardsectionplus button */
  .servicescardsectionplus-btn{
    position:absolute;
    right:18px;
    bottom:14px;
    width:44px;
    height:44px;
    border-radius:50%;
    background:linear-gradient(180deg,#f1f1f1,#f1f1f1);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#2980f4;
    cursor:pointer;
    border: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
    z-index: 10;
    font-size:20px;
  }
  .servicescardsectionplus-btn:hover{ transform: scale(1.08); box-shadow:0 12px 30px rgba(0,0,0,0.2); }
  .servicescardsectionplus-btn:focus{ outline:3px solid rgb(0, 128, 255); }

  /* servicescardsectiontooltip */
  .servicescardsectiontooltip{
    position:absolute;
    right:18px;
    bottom:66px;
    width:240px;
    background: rgba(29,29,31,0.98);
    color:#fff;
    border-radius:12px;
    padding:12px 14px;
    font-size:13px;
    box-shadow: 0 12px 40px rgba(31,31,31,0.2);
    transform-origin: bottom right;
    transform: translateY(8px) scale(.98);
    opacity:0;
    pointer-events:none;
    transition: opacity 220ms ease, transform 220ms ease;
    z-index: 20;
  }
  .servicescardsectiontooltip.show{
    transform: translateY(0) scale(1);
    opacity:1;
    pointer-events:auto;
  }
  .servicescardsectiontooltip::after{
    content:"";
    position:absolute;
    right:22px;
    bottom:-8px;
    width:12px;
    height:12px;
    transform:rotate(45deg);
    background: rgba(29,29,31,0.98);
  }

  /* responsive layout */
  @media (max-width: 1100px){
    .servicescardsection-grid{ grid-template-columns: repeat(2, 1fr); }
    .servicescardsection{ min-height: 360px; }
  }

  @media (max-width: 640px){
    .servicescardsectionecorporate-section{ padding:30px; margin:30px auto; }
    .servicescardsectionheading-row{ flex-direction:column; align-items:flex-start; gap:12px; }
    .servicescardsection-grid{ grid-template-columns: 1fr; gap:18px; }
    .servicescardsection{ padding:20px; min-height:320px; border-radius:14px; }
    .servicescardsectionplus-btn{ right:14px; bottom:12px; width:40px; height:40px; }
    .servicescardsectiontooltip{ right:14px; bottom:56px; width:220px; }
  }

  /* small accessible tweaks */
  .sr-only{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
