/*
Theme Name: Consentify Landing
Theme URI: https://consentify.in
Author: Consentify Solutions LLP
Author URI: https://consentify.in
Description: A one-page enterprise SaaS landing page theme for Consentify Solutions LLP — a privacy management and DPDP/consent compliance platform. Professional blue & white design with soft 3D elevated cards and gradient accents.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: consentify
*/

  :root{
    --bg: #eef4ff;
    --bg-2: #f7faff;
    --white: #ffffff;
    --panel: #ffffff;
    --panel-2: #ffffff;
    --border: rgba(15,23,42,0.08);
    --border-soft: rgba(15,23,42,0.06);
    --border-blue: rgba(37,99,235,0.22);
    --blue-300: #93c5fd;
    --blue-400: #60a5fa;
    --blue-500: #3b82f6;
    --blue-600: #2563eb;
    --blue-700: #1d4ed8;
    --blue-900: #17356b;
    --sky: #0ea5e9;
    --orange: #f59e0b;
    --amber: #f59e0b;
    --green: #10b981;
    --red: #ef4444;
    --text: #0f1b34;
    --text-dim: #48587a;
    --text-mute: #8593b3;
    --radius-lg: 20px;
    --radius-md: 14px;
    --radius-sm: 10px;
    --grad-brand: linear-gradient(135deg, var(--blue-600), var(--sky));
    --grad-headline: linear-gradient(90deg, #1d4ed8 0%, #2563eb 45%, #0ea5e9 100%);
    --shadow-card: 0 1px 2px rgba(15,23,42,0.04), 0 10px 24px -8px rgba(15,60,140,0.14);
    --shadow-card-hover: 0 4px 10px rgba(15,23,42,0.06), 0 24px 48px -14px rgba(37,99,235,0.28);
    --shadow-btn: 0 10px 24px -8px rgba(37,99,235,0.45), 0 2px 4px rgba(37,99,235,0.25);
    --container: 1180px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background: var(--bg);
    color: var(--text);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    line-height: 1.5;
    overflow-x: hidden;
  }

  body::before{
    content:"";
    position:fixed; inset:0;
    background:
      radial-gradient(800px 480px at 82% -8%, rgba(37,99,235,0.14), transparent 60%),
      radial-gradient(650px 420px at 4% 6%, rgba(14,165,233,0.10), transparent 60%),
      radial-gradient(600px 360px at 50% 55%, rgba(37,99,235,0.05), transparent 60%);
    pointer-events:none;
    z-index:0;
  }

  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}

  .wrap{max-width: var(--container); margin:0 auto; padding: 0 32px;}
  section{position:relative; z-index:1;}

  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color: var(--blue-600);
    margin-bottom: 14px;
  }

  h1,h2,h3{font-weight:800; letter-spacing:-0.02em; line-height:1.08; color: var(--text);}
  .section-head{text-align:center; max-width:680px; margin: 0 auto 52px;}
  .section-head h2{font-size: clamp(28px,3.6vw,42px); margin-bottom:16px;}
  .section-head p{color:var(--text-dim); font-size:17px; line-height:1.65;}

  .grad-text{
    background: var(--grad-headline);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .grad-text-violet{
    background: linear-gradient(90deg, #1d4ed8, #0ea5e9);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }

  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-weight:700; font-size:14.5px;
    padding: 13px 22px; border-radius: 12px;
    cursor:pointer; border:1px solid transparent;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
    white-space:nowrap;
  }
  .btn:hover{transform: translateY(-2px);}
  .btn-primary{
    background: var(--grad-brand);
    color:#fff;
    box-shadow: var(--shadow-btn);
  }
  .btn-primary:hover{box-shadow: 0 16px 32px -8px rgba(37,99,235,0.55), 0 2px 4px rgba(37,99,235,0.3);}
  .btn-ghost{
    background: #ffffff;
    border-color: var(--border);
    color: var(--text);
    box-shadow: 0 1px 2px rgba(15,23,42,0.04), 0 6px 16px -6px rgba(15,23,42,0.10);
  }
  .btn-ghost:hover{ border-color: var(--border-blue); box-shadow: 0 8px 20px -6px rgba(37,99,235,.22); }
  .btn-outline-amber{
    background: #fff; border: 1.5px solid rgba(245,158,11,.5); color: #b45309;
  }
  .btn-outline-amber:hover{ background: rgba(245,158,11,.06); }
  .btn-amber{
    background: linear-gradient(135deg,#f59e0b,#f97316); color:#fff;
    box-shadow: 0 10px 26px -8px rgba(245,158,11,.55);
  }
  .btn-sm{ padding: 9px 14px; font-size: 13px; border-radius: 9px; }

  /* ===== NAV ===== */
  header{
    position: sticky; top:0; z-index: 50;
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border-soft);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding: 14px 32px; max-width: var(--container); margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:10px; font-weight:800; font-size:19px; color: var(--text);}
  .brand-mark{
    display:inline-flex; align-items:center; justify-content:center;
    flex-shrink:0;
    background: #ffffff;
    border: 1px solid var(--border-soft);
    border-radius: 10px;
    padding: 6px 10px;
    box-shadow: var(--shadow-card);
  }
  .brand-mark img{ height:28px; width:auto; display:block; object-fit:contain; }
  .brand-sub{font-size:12px; font-weight:500; color: var(--text-mute); margin-left:6px;}
  .nav-links{display:flex; align-items:center; gap:34px; font-size:14.5px; font-weight:600; color: var(--text-dim);}
  .nav-links a{transition: color .15s ease;}
  .nav-links a:hover{color: var(--blue-600);}
  .nav-links a.active{color: var(--blue-600); font-weight:700;}
  .nav-cta{display:flex; align-items:center; gap:12px;}
  .nav-toggle{display:none; background:none; border:none; color: var(--text); font-size:22px; cursor:pointer;}

  .announce{
    background: linear-gradient(90deg,#1d4ed8,#2563eb,#0ea5e9);
    color:#ffffff; text-align:center; font-size:13.5px; font-weight:700;
    padding: 10px 16px;
  }
  .announce a{ text-decoration: underline; margin-left:6px; color:#fff; }

  /* ===== HERO ===== */
  .hero{ padding: 88px 0 60px; }
  .hero-inner{ display:grid; grid-template-columns: 1.05fr 1fr; gap:56px; align-items:center; }
  .badge-pill{
    display:inline-flex; align-items:center; gap:8px;
    font-size:13px; font-weight:600; color: #b45309;
    background: #fffbeb; border:1px solid rgba(245,158,11,0.35);
    padding: 8px 16px; border-radius:999px; margin-bottom:26px;
    box-shadow: 0 4px 12px -6px rgba(245,158,11,.3);
  }
  .dot{width:6px; height:6px; border-radius:50%; background: var(--amber); flex-shrink:0;}
  .hero h1{ font-size: clamp(38px, 4.6vw, 58px); margin-bottom: 22px; color: var(--text); }
  .hero p.sub{ font-size:17.5px; color: var(--text-dim); max-width:520px; margin-bottom:32px; line-height:1.7; }
  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom: 30px; }
  .hero-badges{ display:flex; gap:10px; flex-wrap:wrap; }
  .chip{
    font-size:12.5px; font-weight:700; color: var(--blue-700);
    background: #eff6ff; border:1px solid rgba(37,99,235,0.25);
    padding:7px 13px; border-radius:999px;
  }

  /* dashboard mock */
  .mock{
    background: #ffffff;
    border:1px solid var(--border); border-radius: var(--radius-lg);
    overflow:hidden;
    box-shadow: 0 2px 4px rgba(15,23,42,.05), 0 40px 80px -30px rgba(30,64,175,.35);
  }
  .mock-bar{
    display:flex; align-items:center; gap:8px;
    padding:12px 16px; border-bottom:1px solid var(--border-soft);
    background: #f8fafc;
  }
  .mock-dot{width:9px; height:9px; border-radius:50%;}
  .mock-url{ margin-left:8px; font-size:11.5px; color:var(--text-mute); font-family: monospace; }
  .mock-body{ padding:20px; background: #ffffff; }
  .mock-grid{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap:12px; margin-bottom:14px; }
  .stat-card{
    background: #f7faff; border:1px solid var(--border-soft); border-radius:12px;
    padding:14px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 2px 6px rgba(15,23,42,.04);
  }
  .stat-card .label{ font-size:11.5px; color: var(--text-mute); margin-bottom:6px; }
  .stat-card .val{ font-size:21px; font-weight:800; }
  .val-green{color:#059669;} .val-blue{color:var(--blue-600);} .val-amber{color:#d97706;}
  .val-purple{color:#4f46e5;} .val-red{color:#dc2626;}
  .chart-card{
    background: #f7faff; border:1px solid var(--border-soft); border-radius:12px; padding:16px;
  }
  .chart-card .label{ font-size:11.5px; color: var(--text-mute); margin-bottom:14px;}
  .bars{ display:flex; align-items:flex-end; gap:8px; height:70px; }
  .bar{ flex:1; border-radius:6px 6px 3px 3px; background: linear-gradient(180deg,#60a5fa,#2563eb); box-shadow: 0 6px 12px -4px rgba(37,99,235,.4); }
  .bar-labels{ display:flex; gap:8px; margin-top:8px; }
  .bar-labels span{ flex:1; text-align:center; font-size:10px; color:var(--text-mute); }

  /* ===== TRUST BAR ===== */
  .trust{ padding: 46px 0 60px; text-align:center; border-top:1px solid var(--border-soft); }
  .trust-label{ font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color: var(--text-mute); margin-bottom:22px; }
  .trust-pills{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
  .trust-pills span{
    font-size:14px; font-weight:600; color: var(--text-dim);
    background: #ffffff; border:1px solid var(--border-soft);
    padding: 11px 22px; border-radius:999px;
    box-shadow: 0 2px 8px -4px rgba(15,23,42,.08);
  }

  /* ===== FEATURE CARDS ===== */
  .features{ padding: 90px 0; }
  .feat-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:20px; }
  .card{
    background: #ffffff; border:1px solid var(--border-soft); border-radius: var(--radius-md);
    padding:26px; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
    box-shadow: var(--shadow-card);
  }
  .card:hover{ border-color: rgba(37,99,235,0.35); transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
  .card.highlight{
    border-color: rgba(245,158,11,0.4);
    background: linear-gradient(160deg, #fffaf0, #ffffff);
  }
  .card-icon{
    width:42px; height:42px; border-radius:11px;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:16px; font-size:19px;
    background: linear-gradient(135deg,#dbeafe,#eff6ff); border:1px solid rgba(37,99,235,0.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 4px 10px -4px rgba(37,99,235,.25);
  }
  .card.highlight .card-icon{ background: linear-gradient(135deg,#fef3c7,#fffbeb); border-color: rgba(245,158,11,0.35); }
  .card-top{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:2px;}
  .card h3{ font-size:17px; margin-bottom:10px; font-weight:700; color: var(--text); }
  .tag-sm{
    font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
    padding:4px 9px; border-radius:6px;
    background: #eff6ff; color: var(--blue-700);
    height:fit-content;
  }
  .tag-amber{ background: #fef3c7; color: #b45309; }
  .card p{ font-size:14.5px; color: var(--text-dim); line-height:1.65; margin-bottom:14px; }
  .card-link{ font-size:14px; font-weight:700; color: var(--blue-600); display:inline-flex; align-items:center; gap:5px; }
  .card.highlight .card-link{ color: #b45309; }
  .progress-track{ height:7px; border-radius:99px; background: #e5edfb; overflow:hidden; margin-bottom:8px; }
  .progress-fill{ height:100%; border-radius:99px; background: linear-gradient(90deg,#2563eb,#0ea5e9); }
  .progress-val{ font-size:12.5px; color: var(--text-mute); text-align:right; }

  /* ===== SDF SECTION ===== */
  .sdf{ padding: 20px 0 90px; }
  .sdf-panel{
    background: linear-gradient(160deg, #fffaf0, #ffffff);
    border:1px solid rgba(245,158,11,0.3); border-radius: var(--radius-lg);
    padding: 48px; display:grid; grid-template-columns: 1.1fr .9fr; gap:48px; align-items:start;
    box-shadow: var(--shadow-card);
  }
  .sdf-icon{
    width:52px; height:52px; border-radius:13px; background: linear-gradient(135deg,#fef3c7,#fffbeb); border:1px solid rgba(245,158,11,0.4);
    display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 4px 10px -4px rgba(245,158,11,.3);
  }
  .sdf-tags{ display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
  .sdf h2{ font-size: clamp(26px,3vw,36px); margin-bottom:18px; }
  .sdf p{ color: var(--text-dim); font-size:15.5px; line-height:1.75; margin-bottom:14px; }
  .sdf strong{ color: #b45309; }
  .sdf-ctas{ display:flex; gap:12px; margin-top:22px; flex-wrap:wrap; }
  .sdf-criteria-label{ font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color: #b45309; margin-bottom:16px; }
  .criteria-list li{ display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color: var(--text-dim); padding:9px 0; border-bottom:1px solid rgba(15,23,42,0.06); }
  .criteria-list li:last-child{ border-bottom:none; }
  .check{ color: #d97706; flex-shrink:0; margin-top:1px; }

  /* ===== PRODUCT SHOWCASE ===== */
  .showcase{ padding: 90px 0; text-align:center; }
  .showcase .section-head{margin-bottom:40px;}
  .dash{
    background: #ffffff;
    border:1px solid var(--border); border-radius: var(--radius-lg);
    overflow:hidden; text-align:left;
    box-shadow: 0 2px 4px rgba(15,23,42,.05), 0 50px 100px -40px rgba(30,64,175,.4);
  }
  .dash-body{ display:grid; grid-template-columns: 200px 1fr; }
  .dash-side{ border-right:1px solid var(--border-soft); padding: 22px 14px; background: #f8fafc; }
  .dash-brand{ display:flex; align-items:center; gap:9px; font-weight:800; font-size:14.5px; padding:0 8px 20px; color: var(--text); }
  .dash-brand .brand-mark{ padding:3px 6px; border-radius:7px; }
  .dash-brand .brand-mark img{ height:16px; }
  .dash-nav a{
    display:block; font-size:13.5px; color: var(--text-dim); padding:10px 12px; border-radius:9px; margin-bottom:3px; font-weight:500;
  }
  .dash-nav a.active{ background: var(--grad-brand); color:#fff; font-weight:700; box-shadow: 0 6px 14px -4px rgba(37,99,235,.45); }
  .dash-nav a.sdf-item{ color: #d97706; font-weight:700; }
  .dash-main{ padding: 26px 28px; }
  .dash-title{ font-size:13px; color: var(--text-mute); margin-bottom:20px; }
  .dash-stats{ display:grid; grid-template-columns: repeat(3,1fr); gap:14px; margin-bottom:14px; }
  .dash-chart{
    background: #f7faff; border:1px solid var(--border-soft); border-radius:12px; padding:20px;
  }

  /* ===== HOW IT WORKS ===== */
  .how{ padding: 90px 0; }
  .steps{ display:grid; grid-template-columns: repeat(4,1fr); gap:18px; }
  .step{
    background: #ffffff; border:1px solid var(--border-soft); border-radius: var(--radius-md);
    padding: 24px; position:relative;
    box-shadow: var(--shadow-card);
  }
  .step-num{ font-size:26px; font-weight:900; margin-bottom:16px; opacity:.9; }
  .step:nth-child(1) .step-num{color:#2563eb;}
  .step:nth-child(2) .step-num{color:#0ea5e9;}
  .step:nth-child(3) .step-num{color:#0284c7;}
  .step:nth-child(4) .step-num{color:#1d4ed8;}
  .step h3{ font-size:16px; margin-bottom:10px; color: var(--text); }
  .step p{ font-size:13.8px; color: var(--text-dim); line-height:1.6; margin-bottom:14px; }
  .step ul li{ font-size:13px; padding:3px 0; display:flex; gap:7px; align-items:flex-start; font-weight:600; }
  .step:nth-child(1) ul li{ color:#2563eb; }
  .step:nth-child(2) ul li{ color:#0ea5e9; }
  .step:nth-child(3) ul li{ color:#0284c7; }
  .step:nth-child(4) ul li{ color:#1d4ed8; }

  /* ===== CAPABILITIES ===== */
  .capabilities{ padding: 90px 0; }
  .cap-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
  .cap-item{
    background: #ffffff; border:1px solid var(--border-soft); border-radius:11px;
    padding: 15px 18px; font-size:14px; font-weight:600; color: var(--text);
    display:flex; align-items:center; gap:10px;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    box-shadow: 0 1px 2px rgba(15,23,42,.03), 0 6px 16px -8px rgba(15,23,42,.08);
  }
  .cap-item:hover{ border-color: rgba(37,99,235,.35); box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }
  .cap-item .dot-sm{ width:5px; height:5px; border-radius:50%; background: var(--blue-600); flex-shrink:0; }

  /* ===== INTEGRATIONS ===== */
  .integrations{ padding: 90px 0; }
  .int-inner{ display:grid; grid-template-columns: 1fr 1fr; gap:56px; align-items:center; }
  .int-inner h2{ font-size: clamp(26px,3vw,36px); margin-bottom:16px; }
  .int-inner p{ color: var(--text-dim); font-size:15.5px; line-height:1.7; margin-bottom:20px; }
  .plugin-row{ display:flex; align-items:center; gap:14px; }
  .badge-mini{
    font-size:12.5px; font-weight:700; color: var(--blue-700);
    background: #eff6ff; border:1px solid rgba(37,99,235,0.3);
    padding:7px 13px; border-radius:999px;
  }
  .int-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; }
  .int-logo{
    background: #ffffff; border:1px solid var(--border-soft); border-radius:12px;
    padding:16px 10px; text-align:center;
    box-shadow: var(--shadow-card);
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .int-logo:hover{ transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
  .int-logo .mark{
    width:32px; height:32px; border-radius:8px; margin:0 auto 8px; display:flex; align-items:center; justify-content:center;
    font-size:11px; font-weight:800; color:#fff;
    box-shadow: 0 4px 10px -3px rgba(15,23,42,.3);
  }
  .int-logo .name{ font-size:12px; color: var(--text-dim); font-weight:600; }

  /* ===== BENEFITS ===== */
  .benefits{ padding: 90px 0; }
  .benefit-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:18px; }
  .benefit-card{
    background: #ffffff; border:1px solid var(--border-soft); border-radius: var(--radius-md);
    padding: 26px;
    box-shadow: var(--shadow-card);
  }
  .benefit-icon{ font-size:22px; margin-bottom:16px; }
  .benefit-card h3{ font-size:15.5px; margin-bottom:10px; color: var(--text); }
  .benefit-card p{ font-size:13.6px; color: var(--text-dim); line-height:1.65; }

  /* ===== TESTIMONIALS ===== */
  .testimonials{ padding: 90px 0; }
  .test-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:20px; }
  .test-card{
    background: #ffffff; border:1px solid var(--border-soft); border-radius: var(--radius-md);
    padding: 26px;
    box-shadow: var(--shadow-card);
  }
  .stars{ color: #d97706; font-size:13px; margin-bottom:16px; letter-spacing:2px; }
  .test-card p.quote{ font-size:14.5px; color: var(--text-dim); line-height:1.7; margin-bottom:22px; font-style:italic; }
  .test-person{ display:flex; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--border-soft); }
  .avatar{
    width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:12px; font-weight:800; color:#fff; flex-shrink:0;
    box-shadow: 0 4px 10px -3px rgba(15,23,42,.3);
  }
  .test-person .name{ font-size:14px; font-weight:700; color: var(--text); }
  .test-person .role{ font-size:12px; color: var(--text-mute); }

  /* ===== SEO CONTENT ===== */
  .seo-content{ padding: 40px 0 90px; }
  .seo-box{ max-width: 820px; margin:0 auto; text-align:center; }
  .seo-box h2{ font-size: clamp(24px,2.8vw,32px); margin-bottom:20px; }
  .seo-box p{ color: var(--text-dim); font-size:15px; line-height:1.85; margin-bottom:16px; }
  .seo-box b{ color: var(--text); }

  /* ===== FAQ ===== */
  .faq{ padding: 20px 0 90px; }
  .faq-list{ max-width: 780px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
  .faq-item{
    background: #ffffff; border:1px solid var(--border-soft); border-radius: 12px; overflow:hidden;
    box-shadow: var(--shadow-card);
  }
  .faq-q{
    width:100%; text-align:left; background:none; border:none; color: var(--text); cursor:pointer;
    font-family:inherit; font-size:14.5px; font-weight:700; padding:18px 22px;
    display:flex; align-items:center; justify-content:space-between; gap:12px;
  }
  .faq-q .arrow{ transition: transform .25s ease; color: var(--text-mute); flex-shrink:0; }
  .faq-item.open .faq-q .arrow{ transform: rotate(180deg); color: var(--blue-600); }
  .faq-a{ max-height:0; overflow:hidden; transition: max-height .3s ease; }
  .faq-a-inner{ padding: 0 22px 20px; color: var(--text-dim); font-size:14px; line-height:1.75; }

  /* ===== FINAL CTA ===== */
  .final-cta{ padding: 40px 0 90px; text-align:center; }
  .cta-banner{
    background: linear-gradient(160deg, #dbeafe, #eff8ff);
    border:1px solid rgba(37,99,235,0.25); border-radius: 28px;
    padding: 70px 40px; position:relative; overflow:hidden;
    box-shadow: 0 2px 4px rgba(15,23,42,.04), 0 40px 90px -30px rgba(30,64,175,.35);
  }
  .cta-banner h2{ font-size: clamp(30px,4vw,46px); margin-bottom:16px; }
  .cta-banner .lede{ color: var(--text-dim); font-size:16px; margin-bottom:34px; }
  .cta-fine{ margin-top:20px; font-size:12.5px; color: var(--text-mute); }
  .cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

  /* ===== FOOTER ===== */
  footer{ border-top:1px solid var(--border-soft); padding: 60px 0 30px; background: #f7faff; }
  .foot-grid{ display:grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; gap:32px; margin-bottom:50px; }
  .foot-brand p{ color: var(--text-mute); font-size:13.5px; line-height:1.7; margin: 14px 0 18px; max-width:280px; }
  .foot-contact{ font-size:13.5px; color: var(--blue-700); font-weight:700; margin-bottom:14px; }
  .foot-contact a{ color: var(--blue-700); text-decoration: underline; }
  .foot-social{
    width:34px; height:34px; border-radius:9px; background: #ffffff; border:1px solid var(--border-soft);
    display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:800;
    box-shadow: var(--shadow-card);
  }
  .foot-col h4{ font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color: var(--text-mute); margin-bottom:16px; }
  .foot-col ul li{ margin-bottom:11px; }
  .foot-col a{ font-size:13.8px; color: var(--text-dim); transition:color .15s ease; }
  .foot-col a:hover{ color: var(--blue-600); }
  .foot-col a.sdf-link{ color: #d97706; }
  .foot-bottom{
    display:flex; justify-content:space-between; align-items:flex-start; gap:20px;
    padding-top:26px; border-top:1px solid var(--border-soft);
    font-size:12.5px; color: var(--text-mute); flex-wrap:wrap;
  }
  .foot-bottom .legal-note{ max-width:420px; text-align:right; line-height:1.6; }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 980px){
    .nav-links{ display:none; }
    .nav-toggle{ display:block; }
    .hero-inner{ grid-template-columns: 1fr; }
    .feat-grid{ grid-template-columns: repeat(2,1fr); }
    .steps{ grid-template-columns: repeat(2,1fr); }
    .cap-grid{ grid-template-columns: repeat(2,1fr); }
    .int-inner{ grid-template-columns: 1fr; }
    .int-grid{ grid-template-columns: repeat(4,1fr); }
    .benefit-grid{ grid-template-columns: repeat(2,1fr); }
    .test-grid{ grid-template-columns: 1fr; }
    .foot-grid{ grid-template-columns: repeat(3, 1fr); }
    .sdf-panel{ grid-template-columns: 1fr; padding:32px; }
    .dash-body{ grid-template-columns: 1fr; }
    .dash-side{ display:none; }
  }
  @media (max-width: 600px){
    .wrap{ padding:0 20px; }
    .feat-grid, .steps, .cap-grid, .benefit-grid, .int-grid{ grid-template-columns: 1fr; }
    .mock-grid{ grid-template-columns: 1fr 1fr; }
    .foot-grid{ grid-template-columns: 1fr; }
    .foot-bottom{ flex-direction:column; }
    .foot-bottom .legal-note{ text-align:left; }
    .cta-banner{ padding:44px 22px; }
  }
