/* DigiCrux Solutions — features.php page-specific styles
   Global tokens (colors/fonts/spacing) come from assets/css/style.css */

*{margin:0;padding:0;box-sizing:border-box;}
  body{
    font-family:'Segoe UI', Inter, Arial, sans-serif;
    background:#eef2f7;
  }

  .dc-feat-hero{
    position:relative;
    padding:70px 24px 66px;
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 35%, var(--brand-blue) 68%, var(--teal) 130%);
    overflow:hidden;
  }
  .dc-feat-hero::before{
    content:'';
    position:absolute;
    top:-140px; right:-100px;
    width:400px; height:400px;
    background:radial-gradient(circle, rgba(15,191,159,0.28) 0%, transparent 70%);
    border-radius:50%;
    filter:blur(10px);
  }
  .dc-feat-hero::after{
    content:'';
    position:absolute;
    bottom:-160px; left:-100px;
    width:360px; height:360px;
    background:radial-gradient(circle, rgba(46,111,242,0.3) 0%, transparent 70%);
    border-radius:50%;
    filter:blur(10px);
  }

  .dc-feat-inner{
    position:relative;
    z-index:2;
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:56px;
    align-items:center;
  }

  /* LEFT */
  .dc-feat-badge-wrap{
    display:inline-flex;
    opacity:0;
    transform:translateY(24px);
    animation:dcFadeUp 0.7s var(--ease-out) forwards;
  }
  .dc-feat-badge{
    display:inline-flex;
    align-items:center;
    gap:14px;
    background:var(--white);
    padding:12px 24px;
    border-radius:var(--radius-md);
    box-shadow:0 12px 30px rgba(0,0,0,0.18);
    margin-bottom:26px;
    transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);
    cursor:default;
  }
  .dc-feat-badge:hover{
    transform:scale(1.06) translateY(-4px);
    box-shadow:0 20px 45px rgba(0,0,0,0.28);
  }
  .dc-feat-badge-img{
    height:42px;
    width:auto;
    display:block;
    flex-shrink:0;
  }
  .dc-feat-badge-divider{width:1px;height:32px;background:#e2e5ea;}
  .dc-feat-badge-text{text-align:left;}
  .dc-feat-badge-title{font-weight:700;font-size:14.5px;color:var(--navy);line-height:1.3;}
  .dc-feat-badge-sub{font-size:12px;color:var(--text-body);}

  .dc-feat-heading{
    color:#fff;
    font-size:clamp(30px, 4.6vw, 48px);
    font-weight:800;
    line-height:1.15;
    letter-spacing:-0.6px;
    margin-bottom:18px;
    opacity:0;
    transform:translateY(24px);
    animation:dcFadeUp 0.7s var(--ease-out) 0.1s forwards;
  }
  .dc-feat-heading span{
    background:linear-gradient(90deg, var(--wa-green), var(--teal));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }

  .dc-feat-sub{
    color:rgba(255,255,255,0.85);
    font-size:15.5px;
    max-width:460px;
    line-height:1.6;
    margin-bottom:32px;
    opacity:0;
    transform:translateY(24px);
    animation:dcFadeUp 0.7s var(--ease-out) 0.18s forwards;
  }

  .dc-feat-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    opacity:0;
    transform:translateY(24px);
    animation:dcFadeUp 0.7s var(--ease-out) 0.26s forwards;
  }
  .dc-feat-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:700;
    font-size:14.5px;
    padding:14px 26px;
    border-radius:var(--radius-pill);
    text-decoration:none;
    transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out), background .3s var(--ease-out), color .3s var(--ease-out);
  }
  .dc-feat-btn.primary{
    background:#fff;
    color:var(--brand-blue);
    box-shadow:0 10px 25px rgba(0,0,0,0.2);
  }
  .dc-feat-btn.primary:hover{
    background:var(--wa-green);
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(37,211,102,0.35);
  }
  .dc-feat-btn.outline{
    background:transparent;
    color:#fff;
    border:1.5px solid rgba(255,255,255,0.5);
  }
  .dc-feat-btn.outline:hover{
    background:rgba(255,255,255,0.14);
    border-color:#fff;
    transform:translateY(-3px);
  }
  .dc-feat-btn svg{width:16px;height:16px;transition:transform .3s var(--ease-out);}
  .dc-feat-btn:hover svg{transform:translateX(4px);}

  /* RIGHT - floating feature card */
  .dc-feat-card{
    background:#fff;
    border-radius:var(--radius-lg);
    padding:20px;
    box-shadow:0 30px 60px rgba(6,20,44,0.28);
    display:flex;
    flex-direction:column;
    gap:8px;
    opacity:0;
    transform:translateY(30px);
    animation:dcFadeUp 0.7s var(--ease-out) 0.3s forwards;
  }
  .dc-feat-list-item{
    display:flex;
    align-items:center;
    gap:16px;
    padding:14px 12px;
    border-radius:var(--radius-md);
    transition:background .3s var(--ease-out), transform .3s var(--ease-out);
  }
  .dc-feat-list-item:hover{
    background:#F5F8FD;
    transform:translateX(4px);
  }
  .dc-feat-item-icon{
    width:44px;height:44px;
    flex-shrink:0;
    border-radius:11px;
    display:flex;align-items:center;justify-content:center;
    transition:transform .4s var(--ease-out);
  }
  .dc-feat-list-item:hover .dc-feat-item-icon{transform:scale(1.12) rotate(-6deg);}
  .dc-feat-item-icon svg{width:21px;height:21px;}
  .dc-feat-item-icon.i-green{background:rgba(37,211,102,0.12);}
  .dc-feat-item-icon.i-blue{background:rgba(46,111,242,0.12);}
  .dc-feat-item-icon.i-purple{background:rgba(139,92,246,0.12);}
  .dc-feat-item-icon.i-teal{background:rgba(15,191,159,0.14);}
  .dc-feat-item-label{
    font-size:15.5px;
    font-weight:700;
    color:var(--navy);
  }

  @keyframes dcFadeUp{
    to{opacity:1; transform:translateY(0);}
  }

  @media (max-width:980px){
    .dc-feat-inner{grid-template-columns:1fr; gap:36px;}
  }
  @media (max-width:560px){
    .dc-feat-hero{padding:48px 18px 44px;}
    .dc-feat-heading{font-size:30px;}
    .dc-feat-sub{font-size:14px;}
    .dc-feat-btn{padding:12px 20px; font-size:13.5px;}
    .dc-feat-badge{flex-wrap:wrap; justify-content:center; text-align:center; padding:12px 18px;}
    .dc-feat-badge-divider{display:none;}
    .dc-feat-badge-text{text-align:center;}
    .dc-feat-card{padding:16px;}
    .dc-feat-list-item{padding:12px 10px;}
  }

:root{
    --navy:#0B1F3A;
    --brand-blue:#2E6FF2;
    --teal:#0FBF9F;
    --wa-green:#25D366;
    --purple:#8B5CF6;
    --text-body:#5A6478;
    --text-light:#8A93A6;
    --border-soft:rgba(11,31,58,0.07);
    --white:#ffffff;
    --radius-lg:16px;
    --radius-md:12px;
    --ease-out: cubic-bezier(.22,.61,.36,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{
    font-family:'Segoe UI', Inter, Arial, sans-serif;
    background:#F6F8FC;
    -webkit-font-smoothing:antialiased;
  }

  .dc-pf-section{
    padding:64px 20px 76px;
    background:#F6F8FC;
  }

  .dc-pf-inner{
    max-width:1180px;
    margin:0 auto;
  }

  .dc-pf-head{
    text-align:center;
    margin-bottom:40px;
    opacity:0;
    transform:translateY(16px);
    animation:dcFadeUp .55s var(--ease-out) forwards;
  }
  .dc-pf-title{
    font-size:clamp(26px, 3.4vw, 34px);
    font-weight:800;
    color:var(--brand-blue);
    letter-spacing:-0.5px;
    margin-bottom:10px;
  }
  .dc-pf-sub{
    font-size:14.5px;
    color:var(--text-body);
  }

  .dc-pf-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
  }

  .dc-pf-card{
    background:#fff;
    border-radius:var(--radius-lg);
    padding:20px 20px 20px;
    border:1px solid var(--border-soft);
    box-shadow:0 8px 20px rgba(11,31,58,0.05);
    opacity:0;
    transform:translateY(20px);
    animation:dcFadeUp .5s var(--ease-out) forwards;
    transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out), border-color .3s var(--ease-out);
    cursor:default;
  }
  .dc-pf-card:nth-child(1){animation-delay:.05s;}
  .dc-pf-card:nth-child(2){animation-delay:.08s;}
  .dc-pf-card:nth-child(3){animation-delay:.11s;}
  .dc-pf-card:nth-child(4){animation-delay:.14s;}
  .dc-pf-card:nth-child(5){animation-delay:.17s;}
  .dc-pf-card:nth-child(6){animation-delay:.2s;}
  .dc-pf-card:nth-child(7){animation-delay:.23s;}
  .dc-pf-card:nth-child(8){animation-delay:.26s;}
  .dc-pf-card:nth-child(9){animation-delay:.29s;}
  .dc-pf-card:nth-child(10){animation-delay:.32s;}
  .dc-pf-card:nth-child(11){animation-delay:.35s;}
  .dc-pf-card:nth-child(12){animation-delay:.38s;}
  .dc-pf-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 34px rgba(11,31,58,0.1);
    border-color:rgba(46,111,242,0.16);
  }

  .dc-pf-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:14px;
  }
  .dc-pf-icon{
    width:42px;height:42px;
    border-radius:11px;
    display:flex;align-items:center;justify-content:center;
    transition:transform .4s var(--ease-out);
  }
  .dc-pf-card:hover .dc-pf-icon{transform:scale(1.1) rotate(-6deg);}
  .dc-pf-icon svg{width:20px;height:20px;}
  .dc-pf-icon.c-blue{background:linear-gradient(135deg,#3E8BFF,#2E6FF2);}
  .dc-pf-icon.c-teal{background:linear-gradient(135deg,#2FE08A,#0FBF9F);}
  .dc-pf-icon.c-purple{background:linear-gradient(135deg,#9B6BFF,#6E3CDB);}
  .dc-pf-icon.c-green{background:linear-gradient(135deg,#3FE07A,#1FA860);}

  .dc-pf-arrow{
    width:18px;height:18px;
    color:var(--text-light);
    opacity:0;
    transform:translateX(-4px);
    transition:opacity .3s var(--ease-out), transform .3s var(--ease-out), color .3s var(--ease-out);
  }
  .dc-pf-card:hover .dc-pf-arrow{
    opacity:1;
    transform:translateX(0);
    color:var(--brand-blue);
  }

  .dc-pf-name{
    font-size:14.5px;
    font-weight:700;
    color:var(--navy);
    margin-bottom:6px;
    line-height:1.35;
  }
  .dc-pf-desc{
    font-size:12px;
    color:var(--text-body);
    line-height:1.55;
  }

  @keyframes dcFadeUp{
    to{opacity:1; transform:translateY(0);}
  }

  @media (max-width:980px){
    .dc-pf-grid{grid-template-columns:repeat(2, 1fr);}
  }
  @media (max-width:560px){
    .dc-pf-section{padding:48px 14px 52px;}
    .dc-pf-grid{grid-template-columns:1fr; gap:12px;}
    .dc-pf-card{padding:18px;}
  }

:root{
    --navy:#0B1F3A;
    --brand-blue:#2E6FF2;
    --teal:#0FBF9F;
    --wa-green:#25D366;
    --white:#ffffff;
    --ease-out: cubic-bezier(.22,.61,.36,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{
    font-family:'Segoe UI', Inter, Arial, sans-serif;
    background:#eef2f7;
  }

  .dc-cta-wrap{
    padding:56px 24px;
  }

  .dc-cta-banner{
    position:relative;
    max-width:1180px;
    margin:0 auto;
    border-radius:26px;
    padding:64px 40px;
    overflow:hidden;
    text-align:center;
    background:linear-gradient(120deg, #2E4CF2 0%, #2E8FF2 40%, #12B8B0 80%, #17C97C 100%);
    background-size:220% 220%;
    animation:dcGradientMove 8s ease-in-out infinite;
    box-shadow:0 30px 60px rgba(20,60,140,0.28);
  }

  @keyframes dcGradientMove{
    0%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%;}
  }

  /* Floating orbs */
  .dc-orb{
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,0.14);
    filter:blur(2px);
    animation:dcFloat 6s ease-in-out infinite;
  }
  .dc-orb.o1{width:120px;height:120px; top:-40px; left:6%; animation-duration:7s;}
  .dc-orb.o2{width:70px;height:70px; bottom:-20px; left:22%; animation-duration:5.5s; animation-delay:.6s;}
  .dc-orb.o3{width:160px;height:160px; top:-60px; right:8%; animation-duration:8s; animation-delay:.3s;}
  .dc-orb.o4{width:56px;height:56px; bottom:10px; right:20%; animation-duration:5s; animation-delay:1s;}

  @keyframes dcFloat{
    0%,100%{transform:translateY(0) translateX(0);}
    50%{transform:translateY(-18px) translateX(10px);}
  }

  /* Shimmer sweep */
  .dc-shimmer{
    position:absolute;
    top:0; left:-60%;
    width:50%; height:100%;
    background:linear-gradient(100deg, transparent, rgba(255,255,255,0.16), transparent);
    animation:dcShimmer 3.4s ease-in-out infinite;
    pointer-events:none;
  }
  @keyframes dcShimmer{
    0%{left:-60%;}
    60%{left:120%;}
    100%{left:120%;}
  }

  .dc-cta-content{
    position:relative;
    z-index:2;
  }

  .dc-cta-title{
    color:#fff;
    font-size:clamp(24px, 3.6vw, 38px);
    font-weight:800;
    letter-spacing:-0.4px;
    margin-bottom:14px;
    opacity:0;
    transform:translateY(20px);
    animation:dcFadeUp .7s var(--ease-out) .15s forwards;
  }

  .dc-cta-sub{
    color:rgba(255,255,255,0.9);
    font-size:15.5px;
    margin-bottom:30px;
    opacity:0;
    transform:translateY(20px);
    animation:dcFadeUp .7s var(--ease-out) .28s forwards;
  }

  .dc-cta-btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    color:var(--brand-blue);
    font-weight:700;
    font-size:15px;
    padding:15px 32px;
    border-radius:999px;
    text-decoration:none;
    box-shadow:0 14px 30px rgba(0,0,0,0.22);
    opacity:0;
    transform:translateY(20px);
    animation:dcFadeUp .7s var(--ease-out) .4s forwards, dcPulse 2.6s ease-in-out 1.3s infinite;
    transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out), color .3s var(--ease-out);
  }
  .dc-cta-btn:hover{
    transform:translateY(-4px) scale(1.05);
    box-shadow:0 20px 40px rgba(0,0,0,0.3);
    color:var(--wa-green);
  }
  .dc-cta-btn svg{width:16px;height:16px;transition:transform .3s var(--ease-out);}
  .dc-cta-btn:hover svg{transform:translateX(5px);}

  @keyframes dcPulse{
    0%,100%{box-shadow:0 14px 30px rgba(0,0,0,0.22), 0 0 0 0 rgba(255,255,255,0.5);}
    50%{box-shadow:0 14px 30px rgba(0,0,0,0.22), 0 0 0 12px rgba(255,255,255,0);}
  }

  @keyframes dcFadeUp{
    to{opacity:1; transform:translateY(0);}
  }

  @media (max-width:640px){
    .dc-cta-wrap{padding:36px 16px;}
    .dc-cta-banner{padding:44px 22px; border-radius:20px;}
    .dc-cta-sub{font-size:13.5px; margin-bottom:22px;}
    .dc-cta-btn{padding:13px 26px; font-size:14px;}
    .dc-orb.o1{width:70px;height:70px;}
    .dc-orb.o3{width:90px;height:90px;}
  }