 *,
 *::before,
 *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 :root {
     --bg: #fafaf8;
     --surface: #ffffff;
     --surface2: #f0f5fe;
     --border: rgba(0, 0, 0, 0.08);
     --border2: rgba(0, 0, 0, 0.14);
     --text: #151410;
     --muted: #717060;
     --accent: #1a4fa0;
     --accent-lt: #2563c838;
     --accent-md: rgba(192, 83, 26, 0.18);
     --accent-glow: rgba(192, 83, 26, 0.2);
     --blue: #1a4fc0;
     --blue-lt: rgba(26, 79, 192, 0.07);
     --dark: #0d2d6b;
 }


 /* ── HERO ── */
 .hero {
     min-height: 50vh;
     background: var(--dark);
     position: relative;
     overflow: hidden;
     grid-template-columns: 1fr 1fr;
 }

 /* Meter grid texture */
 .hero::before {
     content: '';
     position: absolute;
     inset: 0;
     z-index: 0;
     background:
         linear-gradient(rgba(8, 33, 61, 0.205), rgba(26, 79, 160, 0.281)),
         url(/assete/images/page-banner/meter-reading.webp);
     background-size: cover;
     background-position: center;
 }

 /* Warm gradient wash */
 .hero::after {
     content: '';
     position: absolute;
     inset: 0;
     z-index: 0;
     background: radial-gradient(ellipse 65% 70% at 15% 50%, rgba(192, 83, 26, 0.12) 0%, transparent 60%);
 }

 .hero-left {
     position: relative;
     z-index: 1;
     padding: 15px 64px 15px 72px;
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 .inner {
     max-width: 1280px;
     margin: auto;
 }

 .hero-inner {
     max-width: 1280px;
     margin: 0 auto;
     display: grid;
     height: 100%;
 }

 .hero-badge {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     background: rgb(255 255 255 / 12%);
     border: 1px solid rgb(139 139 139 / 28%);
     border-radius: 100px;
     padding: 6px 16px;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.18em;
     text-transform: uppercase;
     color: #ffffff;
     margin-bottom: 32px;
     width: fit-content;
 }

 .hero-badge-dot {
     width: 6px;
     height: 6px;
     border-radius: 50%;
     background: #ffffff;
     animation: blink 2s ease-in-out infinite;
 }

 @keyframes blink {

     0%,
     100% {
         opacity: 0.3;
     }

     50% {
         opacity: 1;
     }
 }

 .hero h1 {
     font-family: 'Syne', sans-serif;
     font-size: clamp(2.2rem, 4.5vw, 44px);
     font-weight: 700;
     line-height: 1.05;
     color: #fff;
     margin-bottom: 28px;
 }

 .hero h1 .sm {
     display: block;
     font-size: 0.38em;
     font-weight: 500;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     color: rgb(255, 255, 255);
     margin-bottom: 14px;
 }

 .hero h1 .orange {
     color: #e8845a;
 }

 .hero-desc {
     font-size: 16px;
     line-height: 1.85;
     color: rgb(255, 255, 255);
     font-weight: 300;
     max-width: 480px;
     margin-bottom: 40px;
 }

 .hero-desc strong {
     color: rgba(255, 255, 255, 0.8);
     font-weight: 500;
 }

 .hero-btns {
     display: flex;
     gap: 12px;
     flex-wrap: wrap;
     margin-bottom: 52px;
 }

 .btn-orange {
     background: var(--accent);
     color: #fff;
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     padding: 14px 28px;
     border-radius: 100px;
     text-decoration: none;
     transition: all 0.25s;
 }

 .btn-orange:hover {
     background: #669cec;
     transform: translateY(-2px);
     box-shadow: 0 8px 24px #4f79b76c;
 }

 .btn-wire {
     border: 1px solid rgba(255, 255, 255, 0.15);
     color: rgba(255, 255, 255, 0.4);
     font-size: 11px;
     font-weight: 600;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     padding: 14px 24px;
     border-radius: 100px;
     text-decoration: none;
     transition: all 0.25s;
 }

 .btn-wire:hover {
     border-color: #e8845a;
     color: #e8845a;
 }

 .hero-stats {
     display: flex;
     gap: 0;
     border-top: 1px solid rgba(255, 255, 255, 0.07);
     padding-top: 32px;
 }

 .hstat {
     padding-right: 28px;
     margin-right: 28px;
     border-right: 1px solid rgba(255, 255, 255, 0.07);
 }

 .hstat:last-child {
     border: none;
     margin: 0;
     padding: 0;
 }

 .hstat-n {
     font-family: 'Syne', sans-serif;
     font-size: 24px;
     font-weight: 900;
     color: #e8845a;
     line-height: 1;
     margin-bottom: 4px;
     letter-spacing: -0.02em;
 }

 .hstat-l {
     font-size: 10px;
     font-weight: 600;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     color: rgb(255, 255, 255);
 }

 /* Hero right — feature checklist panel */
 .hero-right {
     position: relative;
     z-index: 1;
     background: rgba(255, 255, 255, 0.025);
     border-left: 1px solid rgba(255, 255, 255, 0.06);
     padding: 15px 48px 15px;
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 .feature-panel-label {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.25);
     margin-bottom: 20px;
     font-family: 'Syne', sans-serif;
 }

 .feature-list {
     display: flex;
     flex-direction: column;
     gap: 6px;
 }

 .feature-row {
     display: flex;
     align-items: center;
     gap: 14px;
     padding: 13px 16px;
     border-radius: 8px;
     background: rgb(255 255 255 / 26%);
     border: 1px solid rgba(255, 255, 255, 0.06);
     transition: all 0.2s;
 }

 .feature-row:hover {
     background: rgba(192, 83, 26, 0.1);
     border-color: rgba(232, 132, 90, 0.25);
 }

 .fr-icon {
     font-size: 14px;
     flex-shrink: 0;
 }

 .fr-text {
     font-size: 12px;
     font-weight: 500;
     color: rgb(255, 255, 255);
     line-height: 1.4;
     font-family: 'Syne', sans-serif;
 }

 /* ── SECTIONS ── */
 section {
     padding: 100px 72px;
 }

 .eyebrow {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.22em;
     text-transform: uppercase;
     color: var(--accent);
     margin-bottom: 16px;
 }

 .eyebrow::before {
     content: '';
     width: 20px;
     height: 2px;
     background: var(--accent);
     border-radius: 2px;
 }

 .sh {
     font-family: 'Syne', sans-serif;
     font-size: clamp(2.2rem, 4.5vw, 44px);
     font-weight: 900;
     line-height: 1.0;
     letter-spacing: -0.03em;
     color: var(--text);
     margin-bottom: 18px;
 }

 .sh em {
     color: var(--accent);
     font-style: normal;
 }

 .sp {
     font-size: 16px;
     line-height: 1.85;
     color: var(--muted);
     max-width: 600px;
     font-weight: 300;
 }

 /* ── OVERVIEW ── */
 #overview {
     background: var(--surface);
 }

 .ov-layout {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 80px;
     align-items: center;
     margin-top: 56px;
 }

 .ov-text p {
     font-size: 16px;
     line-height: 1.9;
     color: var(--muted);
     font-weight: 300;
     margin-bottom: 20px;
 }

 .ov-text p strong {
     color: var(--text);
     font-weight: 600;
 }

 .ov-callout {
     background: var(--dark);
     border-radius: 16px;
     padding: 32px 28px;
     margin-top: 28px;
     position: relative;
     overflow: hidden;
 }

 .ov-callout::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 2px;
     background: linear-gradient(90deg, var(--accent), #e8845a);
 }

 .ov-callout p {
     font-size: 14px;
     line-height: 1.75;
     color: rgba(255, 255, 255, 0.5);
     font-weight: 300;
     margin: 0;
 }

 .ov-callout p strong {
     color: #e8845a;
     font-weight: 600;
 }

 /* Method cards */
 .method-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 12px;
 }

 .method-card {
     background: var(--surface2);
     border: 1px solid var(--border);
     border-radius: 12px;
     padding: 24px 20px;
     transition: all 0.25s;
 }

 .method-card:hover {
     border-color: var(--accent);
     transform: translateY(-3px);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
 }

 .method-tag {
     display: inline-block;
     margin-bottom: 10px;
     background: var(--accent-lt);
     border: 1px solid var(--accent-md);
     border-radius: 4px;
     padding: 3px 10px;
     font-family: 'Syne', sans-serif;
     font-size: 10px;
     font-weight: 500;
     color: var(--accent);
     letter-spacing: 0.1em;
     text-transform: uppercase;
 }

 .method-card h3 {
     font-family: 'Syne', sans-serif;
     font-size: 15px;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 6px;
 }

 .method-card p {
     font-size: 13px;
     line-height: 1.65;
     color: var(--muted);
     font-weight: 300;
 }

 /* ── FEATURES ── */
 #features {
     background: var(--bg);
 }

 .feat-header {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 80px;
     align-items: end;
     margin-bottom: 56px;
 }

 .feat-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 16px;
 }

 .feat-card {
     background: var(--surface);
     border: 1px solid var(--border);
     border-radius: 14px;
     padding: 30px 24px;
     transition: all 0.25s;
     position: relative;
     overflow: hidden;
 }

 .feat-card:hover {
     transform: translateY(-4px);
     box-shadow: 0 12px 32px rgba(0, 0, 0, 0.07);
     border-color: var(--accent);
 }

 .feat-chip {
     display: inline-block;
     margin-bottom: 18px;
     background: var(--accent-lt);
     border: 1px solid var(--accent-md);
     border-radius: 6px;
     padding: 5px 12px;
     font-family: 'Syne', sans-serif;
     font-size: 9px;
     font-weight: 500;
     color: var(--accent);
     letter-spacing: 0.12em;
     text-transform: uppercase;
 }

 .feat-icon {
     font-size: 28px;
     margin-bottom: 14px;
     display: block;
 }

 .feat-card h3 {
     font-family: 'Syne', sans-serif;
     font-size: 15px;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 10px;
 }

 .feat-card p {
     font-size: 13px;
     line-height: 1.7;
     color: var(--muted);
     font-weight: 300;
     margin-bottom: 14px;
 }

 .feat-list {
     list-style: none;
     display: flex;
     flex-direction: column;
     gap: 5px;
 }

 .feat-list li {
     font-size: 12px;
     color: var(--muted);
     padding-left: 14px;
     position: relative;
     line-height: 1.5;
     font-family: 'Syne', sans-serif;
 }

 .feat-list li::before {
     content: '→';
     position: absolute;
     left: 0;
     color: var(--accent);
     font-size: 10px;
     top: 1px;
 }

 /* ── KEY FEATURES BAND ── */
 .keyfeatures-band {
     background: var(--dark);
     padding: 80px 72px;
 }

 .kf-header {
     margin-bottom: 48px;
 }

 .kf-header h2 {
     font-family: 'Syne', sans-serif;
     font-size: clamp(2.2rem, 4.5vw, 44px);
     font-weight: 900;
     color: #fff;
     letter-spacing: -0.03em;
     line-height: 1;
     margin-bottom: 12px;
 }

 .kf-header h2 em {
     color: #e8845a;
     font-style: normal;
 }

 .kf-header p {
     font-size: 15px;
     line-height: 1.8;
     color: rgba(255, 255, 255, 0.4);
     font-weight: 300;
     max-width: 560px;
 }

 .kf-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 2px;
     background: rgba(255, 255, 255, 0.06);
     border-radius: 12px;
     overflow: hidden;
 }

 .kf-item {
     background: rgba(255, 255, 255, 0.03);
     padding: 24px 20px;
     transition: background 0.2s;
     display: flex;
     align-items: flex-start;
     gap: 14px;
 }

 .kf-item:hover {
     background: rgba(192, 83, 26, 0.1);
 }

 .kf-bullet {
     flex-shrink: 0;
     width: 24px;
     height: 24px;
     background: rgba(192, 83, 26, 0.15);
     border: 1px solid rgba(232, 132, 90, 0.25);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 10px;
     color: #e8845a;
     margin-top: 1px;
     font-family: 'Syne', sans-serif;
     font-weight: 500;
 }

 .kf-text {
     font-size: 13px;
     line-height: 1.6;
     color: rgba(255, 255, 255, 0.55);
     font-weight: 300;
 }

 /* ── INDUSTRIES ── */
 #industries {
     background: var(--surface);
 }

 .ind-layout {
     display: grid;
     grid-template-columns: 1fr 2fr;
     gap: 64px;
     align-items: start;
     margin-top: 56px;
 }

 .ind-sidebar {
     background: var(--surface2);
     border: 1px solid var(--border);
     border-radius: 16px;
     padding: 32px 28px;
     position: sticky;
     top: 100px;
 }

 .ind-sidebar h4 {
     font-family: 'Syne', sans-serif;
     font-size: 15px;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 12px;
 }

 .ind-sidebar p {
     font-size: 14px;
     line-height: 1.75;
     color: var(--muted);
     font-weight: 300;
 }

 .ind-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 12px;
 }

 .ind-card {
     background: var(--bg);
     border: 1px solid var(--border);
     border-radius: 12px;
     padding: 24px 20px;
     transition: all 0.25s;
 }

 .ind-card:hover {
     border-color: var(--accent);
     transform: translateY(-3px);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
 }

 .ind-icon {
     font-size: 26px;
     margin-bottom: 10px;
     display: block;
 }

 .ind-card h3 {
     font-family: 'Syne', sans-serif;
     font-size: 14px;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 6px;
 }

 .ind-card p {
     font-size: 13px;
     line-height: 1.6;
     color: var(--muted);
     font-weight: 300;
 }

 /* ── INTEGRATIONS ── */
 #integrations {
     background: var(--bg);
 }

 .int-layout {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 80px;
     align-items: center;
     margin-top: 56px;
 }

 .int-text p {
     font-size: 16px;
     line-height: 1.85;
     color: var(--muted);
     font-weight: 300;
     margin-bottom: 20px;
 }

 .int-text p strong {
     color: var(--text);
     font-weight: 600;
 }

 .int-note {
     background: var(--accent-lt);
     border: 1px solid var(--accent-md);
     border-left: 3px solid var(--accent);
     border-radius: 0 10px 10px 0;
     padding: 18px 22px;
 }

 .int-note p {
     font-size: 14px;
     line-height: 1.7;
     color: var(--text);
     margin: 0;
     font-weight: 400;
 }

 .int-cards {
     display: flex;
     flex-direction: column;
     gap: 10px;
 }

 .int-card {
     background: var(--surface);
     border: 1px solid var(--border);
     border-radius: 12px;
     padding: 18px 20px;
     display: flex;
     align-items: center;
     gap: 14px;
     transition: all 0.2s;
 }

 .int-card:hover {
     border-color: var(--accent);
     background: var(--accent-lt);
 }

 .int-card-icon {
     font-size: 22px;
     flex-shrink: 0;
 }

 .int-card-body h4 {
     font-family: 'Syne', sans-serif;
     font-size: 13px;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 3px;
 }

 .int-card-body p {
     font-size: 12px;
     color: var(--muted);
     font-weight: 300;
     line-height: 1.5;
 }

 /* ── FAQ ── */
 #faq {
     background: var(--surface);
 }

 .faq-layout {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 12px;
     margin-top: 56px;
 }

 .faq-item {
     background: var(--bg);
     border: 1px solid var(--border);
     border-radius: 12px;
     overflow: hidden;
 }

 .faq-q {
     width: 100%;
     background: none;
     border: none;
     cursor: pointer;
     text-align: left;
     padding: 20px 22px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 16px;
     font-family: 'Syne', sans-serif;
     font-size: 14px;
     font-weight: 700;
     color: var(--text);
     transition: color 0.2s;
 }

 .faq-q:hover {
     color: var(--accent);
 }

 .faq-item.open .faq-q {
     color: var(--accent);
 }

 .faq-icon {
     flex-shrink: 0;
     width: 24px;
     height: 24px;
     border-radius: 50%;
     border: 1px solid var(--border2);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 16px;
     color: var(--accent);
     transition: transform 0.3s;
 }

 .faq-item.open .faq-icon {
     transform: rotate(45deg);
 }

 .faq-a {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.4s ease, padding 0.3s;
     padding: 0 22px;
     font-size: 14px;
     line-height: 1.8;
     color: var(--muted);
     font-weight: 300;
 }

 .faq-item.open .faq-a {
     max-height: 260px;
     padding: 0 22px 20px;
 }

 /* ── CTA ── */
 #cta {
     background: var(--dark);
     padding: 100px 72px;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 80px;
     align-items: center;
     position: relative;
     overflow: hidden;
 }

 #cta::before {
     content: '';
     position: absolute;
     inset: 0;
     background: radial-gradient(ellipse 55% 70% at 0% 50%, rgba(192, 83, 26, 0.1) 0%, transparent 65%);
 }

 .cta-left {
     position: relative;
     z-index: 1;
 }

 .cta-left h2 {
     font-family: 'Syne', sans-serif;
     font-size: clamp(2.2rem, 4.5vw, 44px);
     font-weight: 900;
     line-height: 1;
     letter-spacing: -0.03em;
     color: #fff;
     margin-bottom: 20px;
 }

 .cta-left h2 em {
     color: #e8845a;
     font-style: normal;
 }

 .cta-left p {
     font-size: 16px;
     line-height: 1.8;
     color: rgba(255, 255, 255, 0.4);
     font-weight: 300;
     margin-bottom: 36px;
     max-width: 440px;
 }

 .cta-btns {
     display: flex;
     gap: 12px;
     flex-wrap: wrap;
 }

 .cta-right {
     position: relative;
     z-index: 1;
 }

 .deliverables {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 12px;
 }

 .del-card {
     background: rgba(255, 255, 255, 0.04);
     border: 1px solid rgba(255, 255, 255, 0.08);
     border-radius: 12px;
     padding: 22px 18px;
     text-align: center;
     transition: all 0.25s;
 }

 .del-card:hover {
     background: rgba(192, 83, 26, 0.1);
     border-color: rgba(232, 132, 90, 0.25);
 }

 .del-icon {
     font-size: 26px;
     margin-bottom: 10px;
     display: block;
 }

 .del-card h4 {
     font-family: 'Syne', sans-serif;
     font-size: 13px;
     font-weight: 700;
     color: rgba(255, 255, 255, 0.8);
     margin-bottom: 5px;
 }

 .del-card p {
     font-size: 12px;
     line-height: 1.55;
     color: rgba(255, 255, 255, 0.35);
     font-weight: 300;
 }

 /* ── REVEAL ── */
 .reveal {
     opacity: 0;
     transform: translateY(22px);
     transition: opacity 0.6s ease, transform 0.6s ease;
 }

 .reveal.visible {
     opacity: 1;
     transform: none;
 }

 .meater-reading {
     width: 100%;
     overflow: hidden;
 }

 .meater-reading img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     border-radius: 10px;
 }

 /* ── RESPONSIVE ── */
 @media (max-width: 1100px) {

     section {
         padding: 80px 32px;
     }

     .keyfeatures-band {
         padding: 60px 32px;
     }

     .hero {
         grid-template-columns: 1fr;
     }

     .hero-right {
         display: none;
     }

     .hero-left {
         padding: 130px 32px 80px;
     }

     .ov-layout,
     .feat-header,
     .int-layout {
         grid-template-columns: 1fr;
         gap: 40px;
     }

     .ind-layout {
         grid-template-columns: 1fr;
     }

     .ind-sidebar {
         position: static;
     }

     .kf-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .faq-layout {
         grid-template-columns: 1fr;
     }

     #cta {
         grid-template-columns: 1fr;
         padding: 80px 32px;
     }
 }

 @media (max-width: 640px) {

     section {
         padding: 60px 20px;
     }

     .keyfeatures-band {
         padding: 48px 20px;
     }

     .hero-left {
         padding: 20px 20px 20px;
     }

     .hero-stats {
         flex-wrap: wrap;
         gap: 20px;
     }

     .hstat {
         border: none;
         margin: 0;
         padding: 0;
     }

     .feat-grid {
         grid-template-columns: 1fr;
     }

     .method-grid,
     .ind-grid,
     .deliverables {
         grid-template-columns: 1fr;
     }

     .kf-grid {
         grid-template-columns: 1fr;
     }

     #cta {
         padding: 60px 20px;
     }

     .hero-desc {
         line-height: normal;
     }
 }