/*
Theme Name: InspectX
Theme URI: https://nolix.ai
Author: TwinCraft Studio
Author URI: https://twincraftstudio.com
Description: Custom landing page theme for InspectX by NoliX.ai. Continuous property inspection, smart building monitoring and predictive risk platform.
Version: 2.4
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: inspectx
*/


  :root{
    --bg:#FFFFFF;
    --bg-tint:#F5F7FC;
    --navy:#1E2D6C;
    --navy-soft:#3C4A85;
    --cyan:#47DDE0;
    --teal:#1FB8C4;
    --acid:#C6FA3C;
    --slate:#57628A;
    --line:#E6E9F3;
    --shadow:0 10px 30px rgba(30,45,108,0.07);
    --shadow-hover:0 18px 40px rgba(30,45,108,0.13);
    --radius:18px;
    --ease:cubic-bezier(.22,.75,.32,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--navy);
    font-family:'Lato',sans-serif;
    font-size:18px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }
  h1,h2,h3{
    font-family:'Montserrat',sans-serif;
    font-weight:800;
    color:var(--navy);
    line-height:1.12;
    margin:0;
    letter-spacing:-0.01em;
  }
  h1{font-size:60px;}
  h2{font-size:42px;}
  h3{font-size:28px;}
  p{margin:0;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
  .eyebrow{
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:13px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--teal);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:2px;
    background:var(--cyan);
    display:inline-block;
  }
  :focus-visible{
    outline:3px solid var(--cyan);
    outline-offset:3px;
    border-radius:4px;
  }

  /* Buttons */
  .btn{
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:14px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:16px 28px;
    border-radius:999px;
    border:none;
    cursor:pointer;
    transition:transform 0.35s var(--ease), box-shadow 0.35s var(--ease), background 0.3s var(--ease);
  }
  .btn-primary{
    background:var(--cyan);
    color:var(--navy);
  }
  .btn-primary:hover{
    box-shadow:0 0 0 8px rgba(71,221,224,0.22), 0 12px 24px rgba(71,221,224,0.35);
    transform:translateY(-2px);
  }
  .btn-primary .arrow{transition:transform 0.35s var(--ease);}
  .btn-primary:hover .arrow{transform:translateX(4px);}
  .btn-ghost{
    background:transparent;
    color:var(--navy);
    border:1.5px solid var(--line);
  }
  .btn-ghost:hover{
    border-color:var(--navy);
    transform:translateY(-2px);
  }

  /* Header */
  header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(255,255,255,0.86);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 32px;
    max-width:1200px;
    margin:0 auto;
  }
  .logo img{height:26px;width:auto;}
  nav{display:flex;align-items:center;gap:36px;}
  nav a{
    font-family:'Montserrat',sans-serif;
    font-weight:600;
    font-size:14px;
    color:var(--navy-soft);
    position:relative;
    padding:4px 0;
    transition:color 0.25s var(--ease);
  }
  nav a::after{
    content:"";
    position:absolute;
    left:0;bottom:-2px;
    width:0;height:2px;
    background:var(--cyan);
    transition:width 0.3s var(--ease);
  }
  nav a:hover{color:var(--navy);}
  nav a:hover::after{width:100%;}
  .nav-links{display:flex;gap:32px;}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
  .menu-toggle span{display:block;width:22px;height:2px;background:var(--navy);margin:5px 0;transition:0.3s;}

  /* Reveal on scroll */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity 0.8s var(--ease), transform 0.8s var(--ease);}
  .reveal.is-visible{opacity:1;transform:translateY(0);}

  /* HERO */
  .hero{
    position:relative;
    padding:96px 0 80px;
    overflow:hidden;
    background:
      radial-gradient(circle at 82% 12%, rgba(71,221,224,0.14), transparent 55%),
      linear-gradient(180deg, #FFFFFF 0%, #FBFCFF 100%);
  }
  .hero-inner{
    position:relative;
    display:grid;
    grid-template-columns:1.05fr 0.85fr;
    gap:56px;
    align-items:center;
  }
  .hero h1{margin:18px 0 22px;}
  .hero-sub{
    font-size:19px;
    color:var(--slate);
    max-width:520px;
    margin-bottom:34px;
  }
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap;}

  /* Hero signal panel — signature element preview */
  .signal-panel{
    background:var(--navy);
    border-radius:22px;
    padding:28px 26px 22px;
    box-shadow:0 24px 60px rgba(30,45,108,0.28);
    position:relative;
    overflow:hidden;
  }
  .signal-panel::before{
    content:"";
    position:absolute;
    top:-40%;right:-30%;
    width:70%;height:140%;
    background:radial-gradient(circle, rgba(71,221,224,0.22), transparent 60%);
  }
  .signal-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
  }
  .signal-title{
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:12px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.6);
  }
  .live-dot{
    display:inline-flex;align-items:center;gap:7px;
    font-family:'Montserrat',sans-serif;
    font-size:11px;font-weight:700;letter-spacing:0.08em;
    color:var(--cyan);
    text-transform:uppercase;
  }
  .live-dot i{
    width:7px;height:7px;border-radius:50%;
    background:var(--cyan);
    box-shadow:0 0 0 0 rgba(71,221,224,0.6);
    animation:pulse-dot 1.8s infinite;
  }
  @keyframes pulse-dot{
    0%{box-shadow:0 0 0 0 rgba(71,221,224,0.55);}
    70%{box-shadow:0 0 0 8px rgba(71,221,224,0);}
    100%{box-shadow:0 0 0 0 rgba(71,221,224,0);}
  }
  .channel-row{
    display:flex;
    align-items:center;
    gap:14px;
    padding:11px 0;
    border-top:1px solid rgba(255,255,255,0.08);
  }
  .channel-row:first-of-type{border-top:none;}
  .channel-label{
    width:78px;flex-shrink:0;
    font-family:'Montserrat',sans-serif;
    font-size:11px;font-weight:700;
    letter-spacing:0.04em;
    color:rgba(255,255,255,0.55);
  }
  .channel-wave{flex:1;height:26px;position:relative;overflow:hidden;}
  .channel-wave svg{position:absolute;top:0;left:0;height:100%;width:200%;animation:wave-scroll 7s linear infinite;}
  .channel-value{
    width:52px;text-align:right;flex-shrink:0;
    font-family:'Montserrat',sans-serif;
    font-size:13px;font-weight:700;
    color:#fff;
  }
  @keyframes wave-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  .signal-footer{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,0.1);
    font-size:12.5px;
    color:rgba(255,255,255,0.55);
    display:flex;
    justify-content:space-between;
  }
  .signal-footer strong{color:var(--cyan);font-family:'Montserrat',sans-serif;}

  /* STATS */
  .stats-wrap{padding:64px 0;}
  .stats{
    background:#0A0E2A;
    border-radius:var(--radius);
    padding:56px 60px;
    position:relative;
    overflow:hidden;
  }
  .stats::before{
    content:"";
    position:absolute;
    left:-40px;top:-60px;
    width:260px;height:260px;
    background:radial-gradient(circle, rgba(71,221,224,0.22), transparent 65%);
  }
  .stats-inner{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:32px;
    text-align:center;
    position:relative;
    z-index:1;
  }
  .stat-num{
    font-family:'Montserrat',sans-serif;
    font-weight:800;
    font-size:52px;
    color:var(--cyan);
    display:block;
    line-height:1;
  }
  .stat-label{
    margin-top:16px;
    font-family:'Lato',sans-serif;
    font-weight:400;
    font-size:15.5px;
    letter-spacing:0;
    text-transform:none;
    color:#9CA3AF;
  }

  /* Generic section spacing */
  section{padding:104px 0;}
  .section-tint{background:var(--bg-tint);}
  .section-head{max-width:680px;margin-bottom:56px;}
  .section-head h2{margin-top:16px;}
  .section-head .lede{margin-top:18px;font-size:19px;color:var(--slate);}

  /* THE PROBLEM */
  .problem-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin-top:8px;
  }
  .problem-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:36px 34px;
    box-shadow:var(--shadow);
    transition:transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
  }
  .problem-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
  .problem-card .tag{
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:12px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--teal);
  }
  .problem-card h3{margin:14px 0 14px;}
  .problem-card p{color:var(--slate);}
  .pull-quote{
    margin-top:36px;
    background:var(--navy);
    color:#fff;
    border-radius:var(--radius);
    padding:38px 42px;
    font-family:'Montserrat',sans-serif;
    font-weight:600;
    font-size:22px;
    line-height:1.5;
    position:relative;
    overflow:hidden;
  }
  .pull-quote::before{
    content:"";
    position:absolute;
    left:-40px;top:-60px;
    width:220px;height:220px;
    background:radial-gradient(circle, rgba(71,221,224,0.28), transparent 65%);
  }
  .pull-quote span{color:var(--cyan);}

  /* HOW IT WORKS */
  .how-inner{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:64px;
    align-items:start;
  }
  .mis-visual{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:30px;
    box-shadow:var(--shadow);
  }
  .mis-node-row{display:flex;flex-direction:column;gap:12px;}
  .mis-node{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px 16px;
    border-radius:12px;
    background:var(--bg-tint);
    border:1px solid var(--line);
    transition:transform 0.3s var(--ease), background 0.3s var(--ease);
  }
  .mis-node:hover{background:#fff;transform:translateX(4px);box-shadow:var(--shadow);}
  .mis-dot{width:10px;height:10px;border-radius:50%;background:var(--cyan);flex-shrink:0;}
  .mis-node-text{font-size:15px;color:var(--navy-soft);font-weight:600;}
  .mis-arrow-down{
    display:flex;justify-content:center;
    color:var(--teal);
    font-size:20px;
    margin:4px 0;
  }
  .mis-verdict{
    background:var(--navy);
    color:#fff;
    border-radius:12px;
    padding:18px 18px;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:14px;
    text-align:center;
    letter-spacing:0.02em;
  }
  .how-copy p{color:var(--slate);margin-bottom:20px;}
  .how-copy h3{margin-bottom:16px;}
  .promise-banner{
    margin-top:28px;
    border-left:3px solid var(--cyan);
    padding-left:22px;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:19px;
    color:var(--navy);
    line-height:1.5;
  }

  /* SENSOR SUITE */
  .sensor-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  .sensor-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:30px 28px;
    box-shadow:var(--shadow);
    transition:transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
  }
  .sensor-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);}
  .sensor-icon{
    width:46px;height:46px;
    border-radius:12px;
    background:linear-gradient(135deg, var(--navy), var(--navy-soft));
    display:flex;align-items:center;justify-content:center;
    margin-bottom:20px;
  }
  .sensor-icon svg{width:22px;height:22px;stroke:var(--cyan);}
  .sensor-card h3{font-size:19px;margin-bottom:10px;}
  .sensor-card p{font-size:15.5px;color:var(--slate);}
  .sensor-optional{
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--teal);
    display:inline-block;
    margin-bottom:8px;
  }

  /* NOLIX ECOSYSTEM */
  .eco-lede{max-width:620px;}
  .chain{
    margin-top:60px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    position:relative;
  }
  .chain-connector{
    position:absolute;
    top:44px;
    left:calc(12.5% + 6px);
    right:calc(12.5% + 6px);
    height:2px;
    background:linear-gradient(90deg, var(--line), var(--cyan), var(--line));
    background-size:200% 100%;
    animation:flow 3.5s linear infinite;
  }
  @keyframes flow{
    from{background-position:200% 0;}
    to{background-position:0% 0;}
  }
  .chain-item{
    text-align:center;
    padding:0 14px;
    position:relative;
  }
  .chain-badge{
    width:88px;height:88px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#fff;
    border:2px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    font-family:'Montserrat',sans-serif;
    font-weight:800;
    font-size:15px;
    color:var(--navy);
    position:relative;
    z-index:2;
    transition:border-color 0.3s var(--ease), transform 0.3s var(--ease);
  }
  .chain-item:hover .chain-badge{border-color:var(--cyan);transform:scale(1.06);}
  .chain-item h3{font-size:18px;margin-bottom:8px;}
  .chain-item .chain-spec{
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.03em;
    color:var(--teal);
    text-transform:uppercase;
    margin-bottom:10px;
  }
  .chain-item p{font-size:14.5px;color:var(--slate);}
  .eco-note{
    margin-top:56px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:32px 36px;
    box-shadow:var(--shadow);
  }
  .eco-note p{color:var(--slate);font-size:16.5px;}
  .eco-note strong{color:var(--navy);}

  /* WHO IT'S FOR */
  .who-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
  }
  .who-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:34px 32px;
    box-shadow:var(--shadow);
    transition:transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
    display:flex;
    gap:20px;
  }
  .who-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);}
  .who-num{
    font-family:'Montserrat',sans-serif;
    font-weight:800;
    font-size:15px;
    color:var(--cyan);
    background:var(--navy);
    width:38px;height:38px;
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .who-card h3{margin-bottom:10px;}
  .who-card p{color:var(--slate);font-size:15.5px;}

  /* CTA */
  .cta-wrap{
    padding:90px 0;
    background:linear-gradient(to bottom, #fff 0%, #fff 50%, var(--bg-tint) 50%, var(--bg-tint) 100%);
  }
  .cta-section{
    background:var(--navy);
    color:#fff;
    border-radius:28px;
    max-width:760px;
    margin:0 auto;
    padding:52px 56px;
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .cta-section::before{
    content:"";
    position:absolute;
    top:-30%;left:50%;
    transform:translateX(-50%);
    width:70%;height:100%;
    background:radial-gradient(ellipse, rgba(71,221,224,0.2), transparent 65%);
  }
  .cta-section .eyebrow{color:var(--cyan);justify-content:center;}
  .cta-section .eyebrow::before{background:var(--cyan);}
  .cta-grid{
    position:relative;
    z-index:1;
  }
  .cta-copy h2{color:#fff;margin:18px auto 16px;max-width:520px;text-align:center;}
  .cta-copy p.cta-body{color:rgba(255,255,255,0.7);max-width:460px;margin:0 auto 30px;text-align:center;font-size:17px;}
  .cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;}
  .cta-section .btn-ghost{border-color:rgba(255,255,255,0.28);color:#fff;}
  .cta-section .btn-ghost:hover{border-color:#fff;}

  /* FOOTER */
  footer{background:var(--bg-tint);padding:64px 0 32px;margin-top:0;}
  .footer-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1.3fr;
    gap:40px;
    padding-bottom:40px;
  }
  .footer-col-brand{max-width:340px;}
  .footer-logo{
    display:flex;
    align-items:center;
    margin-bottom:18px;
  }
  .footer-logo img{height:36px;}
  .footer-tag{
    font-family:'Montserrat',sans-serif;
    font-weight:800;
    font-size:28px;
    line-height:1.2;
    color:var(--navy);
    letter-spacing:-0.01em;
  }
  .footer-col h4{
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--navy);
    margin-bottom:16px;
  }
  .footer-col a{
    display:block;
    color:var(--slate);
    font-size:14.5px;
    margin-bottom:11px;
    transition:color 0.25s var(--ease);
  }
  .footer-col a:hover{color:var(--navy);}
  .footer-contact-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:16px;
  }
  .footer-contact-item svg{
    width:16px;height:16px;
    flex-shrink:0;
    margin-top:2px;
    stroke:var(--teal);
    fill:none;
    transition:stroke 0.25s var(--ease);
  }
  .footer-contact-item:hover svg{stroke:var(--navy);}
  .footer-contact-item span{line-height:1.4;}
  .footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:28px;
    border-top:1px solid var(--line);
    font-size:13.5px;
    color:var(--slate);
    flex-wrap:wrap;
    gap:12px;
  }

  /* SECTION "LEARN MORE" LINK */
  .section-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:36px;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:14px;
    letter-spacing:0.03em;
    color:var(--teal);
    transition:gap 0.3s var(--ease), color 0.3s var(--ease);
  }
  .section-more .arrow{transition:transform 0.35s var(--ease);}
  .section-more:hover{color:var(--navy);gap:12px;}
  .section-more:hover .arrow{transform:translateX(4px);}

  /* INNER PAGE HERO */
  .page-hero{
    position:relative;
    padding:76px 0 64px;
    overflow:hidden;
    background:
      radial-gradient(circle at 82% 12%, rgba(71,221,224,0.14), transparent 55%),
      linear-gradient(180deg, #FFFFFF 0%, #FBFCFF 100%);
  }
  .page-hero .wrap{max-width:820px;}
  .page-crumb{
    display:flex;
    align-items:center;
    gap:8px;
    font-family:'Montserrat',sans-serif;
    font-size:13px;
    font-weight:600;
    color:var(--slate);
    margin-bottom:20px;
  }
  .page-crumb a{color:var(--teal);transition:color 0.25s var(--ease);}
  .page-crumb a:hover{color:var(--navy);}
  .page-hero h1{margin:16px 0 20px;font-size:48px;}
  .page-hero .hero-sub{margin-bottom:0;max-width:640px;}

  /* PRODUCT DETAIL CARDS (NoliX Ecosystem page) */
  .detail-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .detail-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:34px 32px;
    box-shadow:var(--shadow);
    transition:transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
  }
  .detail-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);}
  .detail-head{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
  .detail-badge{
    width:56px;height:56px;flex-shrink:0;
    border-radius:14px;
    background:linear-gradient(135deg, var(--navy), var(--navy-soft));
    color:var(--cyan);
    display:flex;align-items:center;justify-content:center;
    font-family:'Montserrat',sans-serif;
    font-weight:800;
    font-size:13px;
  }
  .detail-head h3{margin-bottom:5px;}
  .detail-spec{
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--teal);
  }
  .detail-card p{color:var(--slate);margin-bottom:18px;}
  .detail-feeds-label{
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--navy);
    display:block;
    margin-bottom:10px;
  }
  .detail-feeds{display:flex;flex-wrap:wrap;gap:8px;}
  .detail-feeds span{
    font-family:'Montserrat',sans-serif;
    font-size:11.5px;
    font-weight:700;
    padding:6px 12px;
    border-radius:999px;
    background:var(--bg-tint);
    border:1px solid var(--line);
    color:var(--navy-soft);
  }

  /* SPEC GRID (Sensor Suite page) */
  .spec-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
  }
  .spec-item{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px 24px;
    box-shadow:var(--shadow);
  }
  .spec-item h4{
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--teal);
    margin-bottom:12px;
  }
  .spec-item .spec-value{
    color:var(--navy);
    font-weight:700;
    font-family:'Montserrat',sans-serif;
    font-size:16px;
    display:block;
  }
  .spec-item .spec-note{
    display:block;
    color:var(--slate);
    font-family:'Lato',sans-serif;
    font-weight:400;
    font-size:14px;
    margin-top:6px;
  }

  /* CONTACT PAGE */
  .contact-grid{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:56px;
    align-items:start;
  }
  .contact-info-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:32px 30px;
    box-shadow:var(--shadow);
    margin-bottom:20px;
  }
  .contact-info-card h4{
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--teal);
    margin-bottom:10px;
  }
  .contact-info-card p,
  .contact-info-card a{
    font-size:16px;
    color:var(--navy-soft);
  }
  .contact-info-card a:hover{color:var(--navy);}
  .contact-form{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:40px 38px;
    box-shadow:var(--shadow);
  }
  .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  .form-field{margin-bottom:22px;}
  .form-field label{
    display:block;
    font-family:'Montserrat',sans-serif;
    font-size:13px;
    font-weight:700;
    color:var(--navy);
    margin-bottom:8px;
  }
  .form-field input,
  .form-field textarea{
    width:100%;
    font-family:'Lato',sans-serif;
    font-size:16px;
    color:var(--navy);
    background:var(--bg-tint);
    border:1.5px solid var(--line);
    border-radius:12px;
    padding:13px 16px;
    transition:border-color 0.25s var(--ease), background 0.25s var(--ease);
  }
  .form-field textarea{resize:vertical;min-height:140px;}
  .form-field input:focus,
  .form-field textarea:focus{
    outline:none;
    border-color:var(--cyan);
    background:#fff;
  }
  .form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
  .form-submit{width:100%;justify-content:center;border:none;}
  .form-status{
    border-radius:12px;
    padding:16px 18px;
    margin-bottom:24px;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:14.5px;
  }
  .form-status.success{background:rgba(71,221,224,0.14);color:var(--navy);border:1px solid var(--cyan);}
  .form-status.error{background:rgba(255,90,90,0.1);color:#B4342C;border:1px solid rgba(255,90,90,0.4);}

  /* BLOG GRID (Blog listing page) */
  .blog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
  }
  .blog-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
    display:flex;
    flex-direction:column;
  }
  .blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);}
  .blog-card-thumb{
    display:block;
    aspect-ratio:16/10;
    background:var(--bg-tint);
    overflow:hidden;
  }
  .blog-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .blog-card-thumb-fallback{
    width:100%;height:100%;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, var(--navy), var(--navy-soft));
  }
  .blog-card-thumb-fallback svg{width:34px;height:34px;stroke:var(--cyan);}
  .blog-card-body{padding:26px 26px 28px;flex:1;display:flex;flex-direction:column;}
  .blog-meta{
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--teal);
    margin-bottom:10px;
  }
  .blog-card-body h3{margin-bottom:10px;font-size:20px;}
  .blog-card-body h3 a{transition:color 0.25s var(--ease);}
  .blog-card-body h3 a:hover{color:var(--teal);}
  .blog-card-body p{color:var(--slate);font-size:15px;margin-bottom:18px;flex:1;}
  .blog-card-body .section-more{margin-top:0;font-size:13px;}

  .blog-empty{
    text-align:center;
    padding:64px 24px;
    background:var(--bg-tint);
    border-radius:var(--radius);
  }
  .blog-empty h3{margin-bottom:12px;}
  .blog-empty p{color:var(--slate);}
  .blog-empty a{color:var(--teal);font-weight:700;}
  .blog-empty a:hover{color:var(--navy);}

  .blog-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:48px;
    flex-wrap:wrap;
  }
  .blog-pagination span,
  .blog-pagination a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    padding:0 14px;
    border-radius:999px;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:14px;
    color:var(--navy);
    border:1.5px solid var(--line);
    transition:border-color 0.25s var(--ease), background 0.25s var(--ease), color 0.25s var(--ease);
  }
  .blog-pagination a:hover{border-color:var(--navy);}
  .blog-pagination .current{background:var(--navy);color:#fff;border-color:var(--navy);}

  /* SINGLE POST */
  .blog-post-meta{margin-bottom:0;}
  .blog-post{max-width:760px;margin:0 auto;}
  .blog-post-thumb{
    border-radius:var(--radius);
    overflow:hidden;
    margin-bottom:40px;
  }
  .blog-post-thumb img{width:100%;display:block;}
  .blog-post-content{
    color:var(--navy-soft);
    font-size:17px;
    line-height:1.75;
  }
  .blog-post-content p{margin-bottom:22px;}
  .blog-post-content h2{font-size:30px;margin:44px 0 18px;}
  .blog-post-content h3{font-size:22px;margin:36px 0 14px;}
  .blog-post-content ul,
  .blog-post-content ol{margin:0 0 22px;padding-left:22px;color:var(--navy-soft);}
  .blog-post-content li{margin-bottom:8px;}
  .blog-post-content a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
  .blog-post-content a:hover{color:var(--navy);}
  .blog-post-content img{width:100%;border-radius:16px;margin:28px 0;}
  .blog-post-content blockquote{
    border-left:3px solid var(--cyan);
    padding-left:20px;
    margin:28px 0;
    color:var(--navy);
    font-style:italic;
    font-size:19px;
  }
  .blog-post .section-more{margin-top:44px;}

  /* Responsive */
  @media (max-width:980px){
    h1{font-size:44px;}
    h2{font-size:32px;}
    h3{font-size:24px;}
    .hero-inner{grid-template-columns:1fr;}
    .problem-grid{grid-template-columns:1fr;}
    .how-inner{grid-template-columns:1fr;}
    .sensor-grid{grid-template-columns:repeat(2,1fr);}
    .who-grid{grid-template-columns:1fr;}
    .stats-inner{grid-template-columns:repeat(2,1fr);gap:36px 24px;}
    .stats{padding:44px 40px;}
    .chain{grid-template-columns:repeat(2,1fr);row-gap:44px;}
    .chain-connector{display:none;}
    .detail-grid{grid-template-columns:1fr;}
    .spec-grid{grid-template-columns:repeat(2,1fr);}
    .page-hero h1{font-size:38px;}
    .contact-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .blog-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;gap:36px;}
    .footer-col-brand{max-width:none;grid-column:1 / -1;}
    .nav-links{
      position:absolute;top:100%;left:0;right:0;
      background:#fff;
      flex-direction:column;
      padding:20px 32px 28px;
      border-bottom:1px solid var(--line);
      display:none;
      gap:20px;
    }
    .nav-links.open{display:flex;}
    .menu-toggle{display:block;}
    nav{width:100%;justify-content:space-between;}
    .header-inner{flex-wrap:wrap;}
    .cta-wrap{padding:56px 0;}
    .cta-section{padding:44px 28px;margin:0 16px;max-width:none;}
    .cta-copy h2,
    .cta-copy p.cta-body{max-width:none;}
    section{padding:72px 0;}
  }
  @media (max-width:620px){
    .sensor-grid{grid-template-columns:1fr;}
    .spec-grid{grid-template-columns:1fr;}
    .wrap{padding:0 20px;}
    .cta-section h2{font-size:28px;}
    .footer-grid{grid-template-columns:1fr;gap:32px;}
    .blog-grid{grid-template-columns:1fr;}
  }
