/* Kaiyuan custom styles */
:root{
  --ky-navy:#0a2540; --ky-blue:#0066ff; --ky-cyan:#00b8d9;
  --ky-glow:#ffc94d; --ky-gray:#5a6b7d; --ky-light:#f4f7fb; --ky-border:#e3eaf3;
}
.ky-container{max-width:1140px;margin:0 auto;padding:0 22px;}
.ky-topbar{background:var(--ky-navy);color:#cbd8e6;text-align:center;padding:10px 18px;font-size:13px;letter-spacing:.3px;}

/* buttons */
.ky-btn{display:inline-block;background:var(--ky-blue);color:#fff !important;padding:11px 26px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none !important;transition:.2s;border:none;cursor:pointer;}
.ky-btn:hover{background:#0052cc;transform:translateY(-1px);}
.ky-btn-lg{padding:14px 34px;font-size:15px;}
.ky-btn-sm{padding:7px 18px;font-size:13px;}
.ky-btn-block{display:block;text-align:center;margin:14px 0;}
.ky-btn-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.7);}
.ky-btn-ghost:hover{background:rgba(255,255,255,.12);}

/* hero */
.ky-hero{background:radial-gradient(1200px 500px at 70% -10%,rgba(0,184,217,.35),transparent),linear-gradient(135deg,#081d36 0%,#0a2540 55%,#0e3a63 100%);color:#fff;padding:96px 22px;text-align:center;}
.ky-hero h1{font-size:42px;font-weight:800;margin:0 0 18px;letter-spacing:.5px;}
.ky-hero p{font-size:17px;color:#c6d6e8;max-width:720px;margin:0 auto 32px;line-height:1.7;}
.ky-hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* sections */
.ky-sec{padding:78px 0;}
.ky-sec-alt{background:var(--ky-light);}
.ky-sec-title{text-align:center;font-size:30px;color:var(--ky-navy);font-weight:800;margin:0 0 12px;}
.ky-sec-sub{text-align:center;color:var(--ky-gray);margin:0 0 46px;font-size:15px;}

/* category cards */
.ky-cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.ky-cat-card{background:#fff;border:1px solid var(--ky-border);border-radius:12px;padding:30px 18px;text-align:center;text-decoration:none !important;transition:.25s;}
.ky-cat-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(10,37,64,.12);border-color:var(--ky-cyan);}
.ky-cat-ico{font-size:34px;margin-bottom:14px;}
.ky-cat-card h3{font-size:17px;color:var(--ky-navy);margin:0 0 8px;}
.ky-cat-card p{font-size:13px;color:var(--ky-gray);margin:0;line-height:1.55;}

/* features */
.ky-feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.ky-feat{background:#fff;border:1px solid var(--ky-border);border-radius:12px;padding:28px 22px;}
.ky-feat h3{font-size:16px;color:var(--ky-navy);margin:0 0 10px;}
.ky-feat p{font-size:13.5px;color:var(--ky-gray);margin:0;line-height:1.6;}

/* steps */
.ky-steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding:0;margin:0;counter-reset:step;}
.ky-steps li{text-align:center;position:relative;padding:0 6px;}
.ky-steps span{display:inline-flex;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--ky-blue),var(--ky-cyan));color:#fff;font-weight:800;font-size:18px;align-items:center;justify-content:center;margin-bottom:14px;}
.ky-steps h4{font-size:15px;color:var(--ky-navy);margin:0 0 6px;}
.ky-steps p{font-size:12.5px;color:var(--ky-gray);margin:0;line-height:1.5;}

/* cta */
.ky-cta{background:linear-gradient(135deg,#0a2540,#0e3a63);color:#fff;text-align:center;padding:74px 22px;}
.ky-cta h2{font-size:28px;margin:0 0 14px;font-weight:800;}
.ky-cta p{color:#c6d6e8;max-width:620px;margin:0 auto 30px;font-size:15px;line-height:1.7;}

/* spec table */
.ky-spec{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px;}
.ky-spec th,.ky-spec td{border:1px solid var(--ky-border);padding:10px 14px;text-align:left;vertical-align:top;}
.ky-spec th{width:38%;background:var(--ky-light);color:var(--ky-navy);font-weight:600;}
.ky-note{font-size:12.5px;color:var(--ky-gray);font-style:italic;}
.ky-price-note{color:var(--ky-navy);font-weight:600;font-size:14px;}

/* responsive */
@media(max-width:900px){
  .ky-cat-grid{grid-template-columns:repeat(2,1fr);}
  .ky-feat-grid{grid-template-columns:repeat(2,1fr);}
  .ky-steps{grid-template-columns:repeat(2,1fr);}
  .ky-hero h1{font-size:32px;}
}
@media(max-width:520px){
  .ky-cat-grid,.ky-feat-grid{grid-template-columns:1fr;}
  .ky-steps{grid-template-columns:1fr;}
}
