/* =========================================================
   TEN EVENT SOLUTIONS — LANDING PAGE UI/UX POLISH V39
   Additive visual layer: keeps SEO structure/content intact.
   ========================================================= */
.landing-page{background:#fff;color:var(--text);overflow-x:hidden}

/* Rhythm / section spacing */
.landing-section{padding:52px 0;position:relative}
.landing-section.alt{background:linear-gradient(180deg,#f6faff 0%,#f9fbff 100%)}
.landing-section h2{font-size:clamp(31px,4vw,46px);line-height:1.06;letter-spacing:-1.7px;color:var(--navy);margin:0 0 13px}
.landing-intro{max-width:780px;color:var(--muted);font-size:16px;line-height:1.72}
.landing-page .eyebrow{margin-bottom:10px}

/* Breadcrumb */
.breadcrumb-wrap{background:linear-gradient(90deg,#f7faff,#fff);border-bottom:1px solid #e3edf8}
.breadcrumb{padding:11px 0;font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.breadcrumb a{color:var(--blue);text-decoration:none;font-weight:800}

/* Hero */
.landing-hero{padding:52px 0 48px;background:
  radial-gradient(circle at 88% 18%,rgba(35,111,255,.12),transparent 28%),
  radial-gradient(circle at 8% 80%,rgba(35,111,255,.06),transparent 26%),
  linear-gradient(135deg,#f8fbff 0%,#eef6ff 52%,#fff 100%);position:relative;overflow:hidden}
.landing-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(18,59,120,.08);border-radius:50%;right:-190px;bottom:-220px;pointer-events:none}
.landing-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;position:relative;z-index:1}
.landing-hero h1{font-size:clamp(42px,5.1vw,66px);line-height:1.01;letter-spacing:-3px;color:var(--navy);margin:0 0 18px}
.landing-hero h1 span{color:var(--blue)}
.landing-lead{font-size:17px;line-height:1.72;color:var(--muted);max-width:680px;margin:0}
.landing-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}
.landing-actions .btn{transition:transform .22s ease,box-shadow .22s ease}
.landing-actions .btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(7,31,66,.12)}
.landing-visual{border-radius:24px;overflow:hidden;border:1px solid rgba(141,182,231,.65);box-shadow:0 24px 60px rgba(7,31,66,.16);background:#fff;position:relative}
.landing-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(7,31,66,.03),transparent 45%,rgba(30,103,230,.08));pointer-events:none}
.landing-visual img{width:100%;height:400px;object-fit:cover;display:block;transition:transform .55s ease}
.landing-visual:hover img{transform:scale(1.025)}
.landing-note{padding:12px 17px;font-size:12px;color:var(--muted);background:#fff}

/* Service/product cards */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.service-card{position:relative;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border:1px solid #dce9f7;border-radius:19px;padding:21px 20px 19px;box-shadow:0 9px 26px rgba(7,31,66,.055);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#0b58e8,#53a8ff);transform:scaleX(.18);transform-origin:left;transition:transform .3s ease}
.service-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-46px;top:-46px;background:rgba(35,111,255,.06);transition:transform .3s ease}
.service-card:hover{transform:translateY(-7px) scale(1.012);box-shadow:0 18px 38px rgba(7,31,66,.13);border-color:#a8c9ee}
.service-card:hover:before{transform:scaleX(1)}
.service-card:hover:after{transform:scale(1.35)}
.service-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#edf6ff,#dcecff);border:1px solid #cfe2f7;color:#0758e8;margin-bottom:15px;position:relative;z-index:1;transition:transform .25s ease,background .25s ease}
.service-card:hover .service-icon{transform:scale(1.08) rotate(-2deg);background:linear-gradient(145deg,#e4f1ff,#cfe5ff)}
.service-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{font-size:18px;line-height:1.25;margin:0 0 8px;color:#163f7b;position:relative;z-index:1}
.service-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.65;position:relative;z-index:1}
.service-card .mini{display:inline-flex;align-items:center;gap:6px;margin-top:13px;color:var(--blue);font-size:12px;font-weight:900;position:relative;z-index:1}
.service-card .mini:after{content:"→";transition:transform .2s ease}
.service-card:hover .mini:after{transform:translateX(4px)}

/* Detail cards */
.detail-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:stretch;margin-top:28px}
.detail-panel{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dce9f7;border-radius:20px;padding:25px;box-shadow:0 10px 28px rgba(7,31,66,.055);position:relative;overflow:hidden}
.detail-panel:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(180deg,#0b58e8,#58b0ff);opacity:.9}
.detail-panel h3{margin:0 0 11px;color:#163f7b;font-size:21px}
.detail-panel p{color:var(--muted);line-height:1.7}
.detail-panel ul{margin:0;padding-left:20px;color:var(--muted)}
.detail-panel li{margin:7px 0;line-height:1.55}
.spec-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}
.spec-table th,.spec-table td{text-align:left;padding:10px 9px;border-bottom:1px solid #e5eef8;vertical-align:top}
.spec-table th{color:#163f7b;width:36%}

/* Gallery cards */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.gallery-card{border-radius:18px;overflow:hidden;background:#fff;border:1px solid #dce9f7;box-shadow:0 10px 28px rgba(7,31,66,.065);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gallery-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(7,31,66,.13);border-color:#a8c9ee}
.gallery-card img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .45s ease}
.gallery-card:hover img{transform:scale(1.045)}
.gallery-card figcaption{padding:13px 15px;color:#163f7b;font-size:13px;font-weight:900;background:linear-gradient(180deg,#fff,#f7fbff)}

/* Client experience — stronger visual identity */
.client-experience{background:
  radial-gradient(circle at 82% 20%,rgba(42,122,255,.16),transparent 28%),
  linear-gradient(135deg,#f7fbff 0%,#eef6ff 52%,#f8fbff 100%);}
.client-experience .detail-grid{gap:20px}
.client-experience .detail-panel{box-shadow:0 14px 34px rgba(7,31,66,.08)}
.client-experience .detail-panel:first-child{padding:30px 29px}
.client-experience .detail-panel:first-child .landing-intro{font-size:17px;line-height:1.75;color:#47617f}
.client-experience-card{padding:20px!important;background:linear-gradient(145deg,#071f43,#103f7d)!important;border-color:#174f91!important;color:#fff;box-shadow:0 20px 42px rgba(7,31,66,.18)!important}
.client-experience-card:before{display:none}
.client-experience-card:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-80px;top:-85px;background:rgba(73,165,255,.11);border:1px solid rgba(255,255,255,.1)}
.client-experience-card img{width:100%;height:auto;display:block;border-radius:14px;background:#fff;padding:9px;box-shadow:0 8px 25px rgba(0,0,0,.12);position:relative;z-index:1}
.client-experience-card>p:last-child{color:#dcecff!important;margin:14px 4px 0;line-height:1.6}
.client-experience-label{margin:0 0 11px;font-size:10px;letter-spacing:1.5px;font-weight:900;color:#8fd0ff!important;position:relative;z-index:1}
.experience-note{margin:19px 0 0;padding:14px 16px;border:1px solid #d6e6f7;border-left:4px solid #0b58e8;border-radius:10px;background:linear-gradient(90deg,#f3f8ff,#fff);color:#5a718e;font-size:12.5px;line-height:1.65}
.experience-note strong{color:#123f7d}

/* Testimonial slider — rebuilt to eliminate clipping/spacing issues */
.landing-testimonials{background:linear-gradient(180deg,#f5f9ff 0%,#ffffff 100%);overflow:hidden}
.landing-testimonial-head{align-items:end;margin-bottom:24px}
.landing-testimonial-head>p{max-width:520px;color:var(--muted);margin:0;line-height:1.65}
.landing-testimonial-carousel{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:14px!important;align-items:center!important}
.landing-testimonial-carousel .testimonial-viewport{overflow:hidden;border-radius:22px}
.landing-testimonial-carousel .testimonial-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.landing-testimonial-carousel .testimonial-slide{min-width:100%!important;box-sizing:border-box;display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:27px!important;align-items:center!important;min-height:250px!important;padding:30px 34px!important;background:linear-gradient(135deg,#fff 0%,#fbfdff 70%,#f2f8ff 100%)!important;border:1px solid #d6e6f7!important;border-radius:22px!important;box-shadow:0 18px 42px rgba(7,31,66,.10)!important;position:relative;overflow:hidden}
.landing-testimonial-carousel .testimonial-slide:before{content:"“";position:absolute;right:24px;top:-12px;font-size:145px;line-height:1;color:rgba(11,88,232,.06);font-family:Georgia,serif;font-weight:700;pointer-events:none}
.landing-testimonial-carousel .testimonial-slide:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#0b58e8,#5cb6ff)}
.testimonial-avatar{width:104px!important;height:104px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#0b58e8,#123b78)!important;color:#fff!important;font-size:38px!important;font-weight:900!important;letter-spacing:-1px!important;box-shadow:0 14px 30px rgba(7,31,66,.20)!important;margin:0 auto!important;position:relative;z-index:1;flex:none!important}
.testimonial-content{min-width:0!important;position:relative;z-index:1}
.testimonial-top{display:flex!important;align-items:center!important;gap:16px!important;flex-wrap:wrap!important;margin:0 0 12px!important}
.testimonial-stars{color:#f4b400!important;letter-spacing:3px!important;font-size:17px!important;line-height:1!important;display:inline-block!important;white-space:nowrap!important}
.testimonial-verified{font-size:10px!important;font-weight:900!important;letter-spacing:1.1px!important;text-transform:uppercase!important;color:#176a4a!important;background:#eaf8f0!important;border:1px solid #ccebd8!important;padding:6px 10px!important;border-radius:999px!important;white-space:nowrap!important}
.landing-testimonial-carousel .quote-mark{display:none!important}
.landing-testimonial-carousel .testimonial-content p{margin:0 0 16px!important;color:#4b6380!important;font-size:17px!important;line-height:1.72!important;max-width:860px!important}
.landing-testimonial-carousel .testimonial-content strong{display:block!important;color:#102f58!important;font-size:16px!important;margin:0 0 3px!important}
.landing-testimonial-carousel .testimonial-content small{display:block!important;color:#7890ad!important;font-size:12px!important;font-weight:700!important}
.landing-testimonial-carousel .slider-btn{width:44px!important;height:44px!important;border-radius:50%!important;border:1px solid #cfe0f2!important;background:#fff!important;color:#123b78!important;font-size:27px!important;cursor:pointer;box-shadow:0 8px 20px rgba(7,31,66,.08);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.landing-testimonial-carousel .slider-btn:hover{transform:scale(1.07);box-shadow:0 12px 24px rgba(7,31,66,.13);background:#f4f9ff!important}
.landing-testimonial-dots{margin-top:15px!important}
.landing-testimonial-dots button{width:9px!important;height:9px!important;border:0!important;border-radius:50%!important;background:#bfd2e9!important;margin:0 4px!important;cursor:pointer;transition:transform .2s ease,background .2s ease}
.landing-testimonial-dots button.active{background:#0b58e8!important;transform:scale(1.25)}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:24px}
.landing-page details{background:rgba(255,255,255,.92);border:1px solid #dce9f7;border-radius:14px;padding:15px 17px;box-shadow:0 6px 18px rgba(7,31,66,.035);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.landing-page details:hover{border-color:#a9c9ec;box-shadow:0 10px 24px rgba(7,31,66,.07);transform:translateY(-2px)}
.landing-page details summary{cursor:pointer;font-weight:850;color:#163f7b;line-height:1.45}
.landing-page details p{color:var(--muted);font-size:13.5px;line-height:1.65;margin:10px 0 0}

/* Area / related links */
.area-band{margin-top:25px;padding:19px 22px;border:1px solid #d6e6f7;border-radius:16px;background:linear-gradient(135deg,#f1f7ff,#fff);box-shadow:0 8px 22px rgba(7,31,66,.04);color:#536b87;line-height:1.65}
.area-band strong{color:#163f7b}
.related-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.related-links a{display:inline-flex;align-items:center;padding:9px 12px;border-radius:10px;background:#eef6ff;color:var(--blue);font-size:12px;font-weight:900;text-decoration:none;border:1px solid #d7e8fb;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.related-links a:hover{transform:translateY(-2px);background:#e5f1ff;box-shadow:0 8px 18px rgba(7,31,66,.07)}

/* CTA */
.landing-cta{padding:48px 0;background:linear-gradient(105deg,#071f43 0%,#0a3670 52%,#0758e8 100%);color:#fff;position:relative;overflow:hidden}
.landing-cta:after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-150px;top:-150px}
.landing-cta-grid{display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;z-index:1}
.landing-cta h2{color:#fff;margin:0 0 8px}
.landing-cta p{color:#dcecff;margin:0;max-width:700px;line-height:1.65}

/* WhatsApp CTA */
.landing-actions .whatsapp-btn{background:#25D366!important;border-color:#25D366!important;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 10px 24px rgba(37,211,102,.22)}
.landing-actions .whatsapp-btn:hover{background:#1ebe5b!important;border-color:#1ebe5b!important;transform:translateY(-2px);box-shadow:0 13px 28px rgba(37,211,102,.28)}
.wa-icon{width:20px;height:20px;fill:currentColor;flex:0 0 auto}

@media(max-width:1000px){
  .landing-hero-grid{grid-template-columns:1fr 1fr;gap:26px}
  .landing-hero h1{font-size:clamp(40px,5.5vw,58px)}
  .service-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .landing-hero-grid,.detail-grid{grid-template-columns:1fr}
  .landing-hero{padding:50px 0 48px}
  .landing-visual img{height:350px}
  .faq-grid{grid-template-columns:1fr}
  .landing-cta-grid{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .landing-section{padding:40px 0}
  .landing-section h2{font-size:32px;letter-spacing:-1.2px}
  .landing-hero{padding:38px 0 40px}
  .landing-hero h1{font-size:43px;letter-spacing:-2.2px}
  .landing-lead{font-size:15.5px}
  .landing-visual img{height:245px}
  .landing-actions .btn{width:100%}
  .service-grid,.gallery-grid{grid-template-columns:1fr;gap:12px}
  .service-card{padding:19px 18px 17px}
  .service-icon{width:44px;height:44px;border-radius:13px;margin-bottom:12px}
  .service-card h3{font-size:17px}
  .gallery-card img{height:205px}
  .detail-panel{padding:21px}
  .client-experience .detail-panel:first-child{padding:23px 21px}
  .client-experience .detail-panel:first-child .landing-intro{font-size:15.5px}
  .landing-testimonial-head>p{margin-top:10px}
  .landing-testimonial-carousel{grid-template-columns:34px minmax(0,1fr) 34px!important;gap:5px!important}
  .landing-testimonial-carousel .testimonial-slide{grid-template-columns:1fr!important;gap:15px!important;min-height:0!important;padding:25px 21px!important}
  .testimonial-avatar{width:78px!important;height:78px!important;font-size:29px!important;margin:0!important}
  .testimonial-top{gap:11px!important;margin-bottom:10px!important}
  .testimonial-stars{font-size:15px!important;letter-spacing:2px!important}
  .testimonial-verified{font-size:9px!important;padding:5px 8px!important}
  .landing-testimonial-carousel .testimonial-content p{font-size:15px!important;line-height:1.68!important;margin-bottom:14px!important}
  .landing-testimonial-carousel .slider-btn{width:34px!important;height:34px!important;font-size:22px!important}
  .landing-testimonial-carousel .testimonial-slide:before{font-size:105px;right:9px;top:-9px}
  .landing-cta{padding:40px 0}
  .landing-cta .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .service-card,.gallery-card,.landing-actions .btn,.landing-visual img,.landing-testimonial-carousel .slider-btn{transition:none!important}
  .landing-testimonial-carousel .testimonial-track{transition:none!important}
}

/* Client logo additions — V55 */
.client-experience-card .client-logo-grid{grid-template-columns:minmax(0,1.55fr) repeat(3,minmax(0,1fr));margin-top:10px;position:relative;z-index:1}
.client-experience-card .client-logo-primary,.client-experience-card .client-logo-item{border-color:#dbe7f4;min-height:86px}
.client-experience-card .client-logo-primary img{max-height:96px}
.client-experience-card .client-logo-item img{max-height:64px}
@media (max-width:900px){
  .client-experience-card .client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-experience-card .client-logo-primary{grid-column:1/-1}
}
@media (max-width:520px){
  .client-experience-card .client-logo-grid{grid-template-columns:1fr}
  .client-experience-card .client-logo-primary{grid-column:auto}
}

/* V57 — normalize client logo card sizing on all landing pages */
.client-experience-card .client-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:10px}
.client-experience-card .client-logo-primary,.client-experience-card .client-logo-item{width:100%;min-width:0;min-height:100px;aspect-ratio:1.65/1;padding:12px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.client-experience-card .client-logo-primary img,.client-experience-card .client-logo-item img{width:100%;height:100%;max-height:65px;object-fit:contain;object-position:center}
@media(max-width:900px){.client-experience-card .client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-experience-card .client-logo-primary,.client-experience-card .client-logo-item{min-height:94px}}
@media(max-width:520px){.client-experience-card .client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.client-experience-card .client-logo-primary,.client-experience-card .client-logo-item{min-height:82px;padding:9px}.client-experience-card .client-logo-primary img,.client-experience-card .client-logo-item img{max-height:54px}}

/* V58 — all 19 client logos use equal-size individual cards on landing pages */
.client-experience-card .client-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:stretch;margin-top:10px;position:relative;z-index:1}
.client-experience-card .client-logo-item{display:flex;width:100%;min-width:0;min-height:0;aspect-ratio:1.5/1;padding:8px;align-items:center;justify-content:center;box-sizing:border-box;background:#fff;border:1px solid #dbe7f4;border-radius:10px;overflow:hidden}
.client-experience-card .client-logo-item img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;padding:0;border-radius:0;box-shadow:none}
@media(max-width:900px){.client-experience-card .client-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.client-experience-card .client-logo-item{padding:7px}}
@media(max-width:560px){.client-experience-card .client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.client-experience-card .client-logo-item{padding:7px}}
