:root{
  --red:#FF2836;
  --red-deep:#D01E2A;
  --grey-950:#1B1C1F;
  --grey-800:#2B2D31;
  --grey-600:#5B5F66;
  --grey-300:#D7D9DC;
  --grey-100:#F2F2F1;
  --white:#FFFFFF;
  --ink:#1B1C1F;
  --font-display:'Archivo',sans-serif;
  --font-body:'IBM Plex Sans',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--white);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.05;letter-spacing:-.01em}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:600}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}

/* Top Utility Bar */






/* Sticky Header */















.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:4px;font-weight:700;font-size:14px;font-family:var(--font-body);cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:all 0.3s ease}
.btn-red{background:var(--red);color:#fff;box-shadow:0 4px 15px rgba(255,40,54,0.3)}
.btn-red:hover{background:var(--red-deep);transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,40,54,0.5)}
.btn-ghost{border-color:var(--grey-300);color:var(--ink)}
.btn-ghost:hover{border-color:var(--red);color:var(--red)}
.btn-ghost-dark{border-color:rgba(255,255,255,.35);color:#fff}
.btn-ghost-dark:hover{border-color:var(--red);color:var(--red)}

/* Hero Section with Perspective Perspective */
.hero{background:var(--grey-950);color:#fff;position:relative;overflow:hidden;perspective:1000px}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 85% 15%, rgba(255,40,54,.28), transparent 45%),
  radial-gradient(circle at 8% 95%, rgba(255,255,255,.05), transparent 40%);
  pointer-events:none}
.hero .wrap{position:relative;padding:76px 24px 60px;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(34px,4.4vw,54px);font-weight:900;color:#fff;margin-bottom:20px}
.hero h1 .accent{color:var(--red)}
.hero p.lede{font-size:17px;color:#C6C8CC;max-width:52ch;margin-bottom:30px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.trust-strip{font-family:var(--font-mono);font-size:12.5px;color:#9A9CA2;display:flex;flex-wrap:wrap;gap:10px 0}
.trust-strip span{padding:0 14px;border-right:1px solid rgba(255,255,255,.14)}
.trust-strip span:first-child{padding-left:0}
.trust-strip span:last-child{border-right:none}

/* Animated 3D Floating Hero Card */
.hero-3d-stage {
    width: 100%;
    height: 380px;
    perspective: 1200px;
}
.hero-3d-card {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    animation: float3D 6s ease-in-out infinite alternate;
    background: linear-gradient(145deg, rgba(43,45,49,0.9), rgba(27,28,31,0.95));
    border: 1px solid rgba(255, 40, 54, 0.3);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 30px 60px rgba(0,0,0,0.7), 0 0 30px rgba(255,40,54,0.15);
    backdrop-filter: blur(10px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@keyframes float3D {
    0% { transform: rotateY(-8deg) rotateX(4deg) translateY(0px); }
    100% { transform: rotateY(8deg) rotateX(-4deg) translateY(-15px); }
}

.banner-slider {
    position: relative;
    width: 100%;
    height: 100%;
}
.slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.slide.active { opacity: 1; }

/* Dynamic Bar Chart Animation in 3D Card */
.wave-card .wc-head{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.wave-card .wc-head .in{color:var(--red)}
.wave-card .wc-head .out{color:#EDEDEE}
.bars{display:flex;align-items:flex-end;height:120px;gap:4px}
.bars .bar{flex:1;border-radius:2px 2px 0 0}
.bars .bar.in{background:linear-gradient(180deg,var(--red),var(--red-deep));animation:fluct 1.6s ease-in-out infinite}
.bars .bar.out{background:linear-gradient(180deg,#EDEDEE,#B9BABD);height:62%}
.bars .bar.in:nth-child(1){animation-delay:.0s;height:40%}
.bars .bar.in:nth-child(2){animation-delay:.15s;height:78%}
.bars .bar.in:nth-child(3){animation-delay:.05s;height:55%}
.bars .bar.in:nth-child(4){animation-delay:.3s;height:90%}
.bars .bar.in:nth-child(5){animation-delay:.1s;height:34%}
.bars .bar.in:nth-child(6){animation-delay:.25s;height:68%}
.bars .bar.in:nth-child(7){animation-delay:.4s;height:48%}
.bars .bar.in:nth-child(8){animation-delay:.2s;height:82%}
.bars .bar.in:nth-child(9){animation-delay:.35s;height:30%}
.bars .bar.in:nth-child(10){animation-delay:.05s;height:60%}
@keyframes fluct{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.65)}}
.wc-foot{display:flex;justify-content:space-between;margin-top:16px;font-family:var(--font-mono);font-size:11px;color:#8A8C92}
.wc-foot b{color:#fff}

.cert-bar{background:var(--grey-100);border-bottom:1px solid var(--grey-300)}
.cert-bar .wrap{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;padding:20px 24px;font-family:var(--font-mono);font-size:12.5px;color:var(--grey-600);text-align:center}
.cert-bar strong{color:var(--ink)}

section{padding:74px 0}
.bg-light{background:var(--grey-100)}
.section-head{max-width:660px;margin-bottom:44px}
.section-head h2{font-size:clamp(26px,3vw,36px);margin:10px 0 14px}
.section-head p{color:var(--grey-600);font-size:16px}

/* About Us Section Styling */
.about-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 40px;
    align-items: center;
}
.about-box {
    background: var(--white);
    border: 1px solid var(--grey-300);
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.about-box p {
    color: var(--grey-600);
    margin-bottom: 16px;
    font-size: 15.5px;
}

/* Clientele Infinite Moving Logo Carousel */
.clientele-section {
    background: var(--grey-950);
    color: #fff;
    padding: 50px 0;
    overflow: hidden;
}
.client-track-container {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    width: 100%;
}
.client-track {
    display: inline-flex;
    gap: 50px;
    animation: scrollLogos 20s linear infinite;
}
.client-logo-item {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 800;
    color: #8A8C92;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
}
.client-logo-item span { color: var(--red); }
@keyframes scrollLogos {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* 3D Interactive Card Grid */
.grid-products{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.p-card{
    background:var(--white);
    border:1px solid var(--grey-300);
    border-radius:12px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform-style: preserve-3d;
}
.p-card:hover{
    transform:translateY(-8px) rotateX(3deg);
    box-shadow:0 20px 40px rgba(255,40,54,.12);
    border-color:var(--red)
}
.p-card .thumb{aspect-ratio:4/3;background:linear-gradient(135deg,var(--grey-100),#fff);display:flex;align-items:center;justify-content:center}
.p-card .thumb svg{width:56px;height:56px;color:var(--red)}
.p-card .body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.p-card h4{font-size:17px}
.p-card .price{font-family:var(--font-mono);font-size:16px;color:var(--red);font-weight:700;margin-top:4px}
.p-card .kva{font-family:var(--font-mono);font-size:12.5px;color:var(--grey-800);font-weight:600}
.p-card p{font-size:14px;color:var(--grey-600);flex:1}

.answer-block{background:var(--white);border:1px solid var(--grey-300);border-left:4px solid var(--red);border-radius:6px;padding:28px 30px;margin-bottom:18px}
.answer-block h3{font-size:19px;margin-bottom:8px}
.answer-block p{color:#3A3C40;font-size:15.5px}

.grid-blog{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:var(--white);border:1px solid var(--grey-300);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:12px;transition: transform 0.3s ease}
.blog-card:hover{transform: translateY(-4px); border-color: var(--red);}
.blog-card .meta{font-family:var(--font-mono);font-size:12px;color:var(--grey-600)}
.blog-card h3{font-size:18px;line-height:1.3}
.blog-card a{color:var(--red);font-weight:700;font-size:14px;margin-top:auto}

/* Reviews & Map Layout */
.rating-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.rating-badge{background:var(--white);border:1px solid var(--grey-300);padding:12px 20px;border-radius:8px;display:inline-flex;align-items:center;gap:12px}
.rating-badge .score{font-family:var(--font-mono);font-size:26px;font-weight:800;color:var(--grey-950)}
.rating-badge .stars{color:#FFB800;font-size:18px}
.grid-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review-card{background:var(--white);border:1px solid var(--grey-300);border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:12px}
.review-card .author{display:flex;align-items:center;gap:12px}
.review-card .avatar{width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.review-card .stars{color:#FFB800;font-size:14px}
.map-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:center}
.map-info-box{background:var(--white);border:1px solid var(--grey-300);border-radius:8px;padding:28px}

.how{background:var(--grey-950);color:#fff}
.how .section-head p{color:#B9BABE}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.step{border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:28px 24px;background:var(--grey-800)}
.step .num{font-family:var(--font-mono);font-size:13px;color:var(--red);margin-bottom:14px}
.step h4{font-size:19px;margin-bottom:10px;color:#fff}
.step p{color:#B0B2B7;font-size:14.5px}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{text-align:center;padding:26px 10px;background:var(--white);border:1px solid var(--grey-300);border-radius:8px}
.stat .n{font-family:var(--font-mono);font-size:clamp(28px,3vw,38px);font-weight:600;color:var(--red)}
.stat .l{font-size:13px;color:var(--grey-600);margin-top:6px;text-transform:uppercase;letter-spacing:.04em}

.tags{display:flex;flex-wrap:wrap;gap:12px}
.tags span{font-family:var(--font-mono);font-size:13px;padding:10px 16px;border:1px solid var(--grey-300);border-radius:20px;background:var(--white);color:var(--ink)}

.city-band{background:var(--grey-100);border-top:1px solid var(--grey-300);border-bottom:1px solid var(--grey-300)}
.city-band .wrap{padding:26px 24px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.city-band .lbl{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--grey-600);margin-right:6px}
.city-band a{font-size:13.5px;color:var(--red);font-weight:600}
.city-band a:hover{text-decoration:underline}
.city-band .dot{color:var(--grey-300)}

.faq-item{border-bottom:1px solid var(--grey-300);padding:22px 0}
.faq-item summary{cursor:pointer;font-weight:700;font-size:16.5px;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:var(--font-mono);font-size:20px;color:var(--red)}
.faq-item[open] summary::after{content:"–"}
.faq-item p{margin-top:12px;color:var(--grey-600);font-size:15px;max-width:70ch}

.cta{background:linear-gradient(135deg,var(--grey-950),#101113);color:#fff}
.cta .wrap{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:56px 24px}








@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .grid-products, .grid-blog, .grid-reviews, .map-grid, .about-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
}
.center{text-align:center}
