:root {
  --kpc-primary: #1B2B3C;
  --kpc-gold: #C9A84C;
  --kpc-accent: #2E7D5B;
  --kpc-white: #FFFFFF;
  --kpc-light: #F8F6F0;
  --kpc-dark: #0D1B2A;
  --kpc-text: #333333;
  --kpc-text-light: #666666;
  --kpc-border: #E5E0D5;
  --kpc-gold-light: #D4B96A;
  --kpc-accent-light: #3A9D73;
  --kpc-shadow: 0 4px 20px rgba(27,43,60,0.08);
  --kpc-shadow-lg: 0 8px 40px rgba(27,43,60,0.12);
  --kpc-radius: 8px;
  --kpc-transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}

@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&display=swap");

body { font-family: "Inter", sans-serif; color: var(--kpc-text); line-height: 1.7; background: var(--kpc-white); }
h1,h2,h3,h4,h5,h6 { font-family: "Playfair Display", serif; color: var(--kpc-primary); font-weight: 600; line-height: 1.3; }
h1 { font-size: clamp(2.2rem, 4vw, 3.5rem); margin-bottom: 1rem; }
h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); margin-bottom: 0.8rem; }
h3 { font-size: clamp(1.3rem, 2.5vw, 1.8rem); }
p { font-size: 1.05rem; margin-bottom: 1.2rem; color: var(--kpc-text-light); }
a { color: var(--kpc-gold); text-decoration: none; transition: var(--kpc-transition); }
a:hover { color: var(--kpc-accent); }

/* Hero Section */
.kpc-hero { position:relative; min-height:80vh; display:flex; align-items:center; justify-content:center; background-size:cover; background-position:center; overflow:hidden; }
.kpc-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(13,27,42,0.6) 0%,rgba(27,43,60,0.8) 100%); }
.kpc-hero-content { position:relative; z-index:2; text-align:center; max-width:800px; padding:2rem; }
.kpc-hero h1 { color:var(--kpc-white); text-shadow:0 2px 20px rgba(0,0,0,0.3); }
.kpc-hero p { color:rgba(255,255,255,0.9); font-size:1.2rem; }

/* Gold CTA Button */
.kpc-btn { display:inline-block; padding:14px 36px; background:var(--kpc-gold); color:var(--kpc-primary); font-family:"Inter",sans-serif; font-weight:600; font-size:0.95rem; text-transform:uppercase; letter-spacing:1.5px; border-radius:var(--kpc-radius); transition:var(--kpc-transition); border:2px solid var(--kpc-gold); cursor:pointer; }
.kpc-btn:hover { background:transparent; color:var(--kpc-gold); transform:translateY(-2px); box-shadow:var(--kpc-shadow-lg); }
.kpc-btn-outline { background:transparent; color:var(--kpc-white); border-color:var(--kpc-gold); }
.kpc-btn-outline:hover { background:var(--kpc-gold); color:var(--kpc-primary); }

/* Section Styles */
.kpc-section { padding:80px 0; }
.kpc-section-dark { background:var(--kpc-primary); color:var(--kpc-white); }
.kpc-section-dark h2,.kpc-section-dark h3 { color:var(--kpc-gold); }
.kpc-section-dark p { color:rgba(255,255,255,0.8); }
.kpc-section-light { background:var(--kpc-light); }
.kpc-container { max-width:1200px; margin:0 auto; padding:0 24px; }

/* Card Grid */
.kpc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:32px; }
.kpc-card { background:var(--kpc-white); border-radius:var(--kpc-radius); overflow:hidden; box-shadow:var(--kpc-shadow); transition:var(--kpc-transition); }
.kpc-card:hover { transform:translateY(-4px); box-shadow:var(--kpc-shadow-lg); }
.kpc-card img { width:100%; height:240px; object-fit:cover; }
.kpc-card-body { padding:24px; }
.kpc-card h3 { margin-bottom:0.5rem; }

/* Gold Divider */
.kpc-divider { width:60px; height:3px; background:var(--kpc-gold); margin:1rem auto; border-radius:2px; }
.kpc-divider-left { margin-left:0; }

/* FAQ Accordion */
.kpc-faq { max-width:800px; margin:0 auto; }
.kpc-faq-item { border-bottom:1px solid var(--kpc-border); padding:20px 0; }
.kpc-faq-q { font-family:"Playfair Display",serif; font-size:1.15rem; font-weight:600; color:var(--kpc-primary); cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.kpc-faq-q::after { content:"+"; font-size:1.5rem; color:var(--kpc-gold); transition:var(--kpc-transition); }
.kpc-faq-a { padding-top:12px; color:var(--kpc-text-light); line-height:1.8; display:none; }

/* Trust Badge */
.kpc-trust { display:flex; flex-wrap:wrap; gap:24px; justify-content:center; padding:40px 0; }
.kpc-trust-item { text-align:center; padding:16px 24px; }
.kpc-trust-num { font-family:"Playfair Display",serif; font-size:2.5rem; font-weight:700; color:var(--kpc-gold); }
.kpc-trust-label { font-size:0.85rem; text-transform:uppercase; letter-spacing:1px; color:var(--kpc-text-light); }

/* Pricing Table */
.kpc-price { font-family:"Playfair Display",serif; font-size:2rem; color:var(--kpc-gold); font-weight:700; }
.kpc-price-label { font-size:0.85rem; color:var(--kpc-text-light); }

/* WhatsApp Float */
.kpc-wa-float { position:fixed; bottom:24px; right:24px; z-index:9999; width:60px; height:60px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(37,211,102,0.4); transition:var(--kpc-transition); cursor:pointer; }
.kpc-wa-float:hover { transform:scale(1.1); box-shadow:0 6px 24px rgba(37,211,102,0.5); }
.kpc-wa-float svg { width:32px; height:32px; fill:white; }

/* Responsive */
@media(max-width:768px) {
  .kpc-hero { min-height:60vh; }
  .kpc-section { padding:48px 0; }
  .kpc-grid { grid-template-columns:1fr; gap:20px; }
  .kpc-btn { padding:12px 28px; font-size:0.9rem; }
}

/* Animations */
@keyframes kpcFadeUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
.kpc-animate { animation:kpcFadeUp 0.6s ease-out forwards; }
.kpc-delay-1 { animation-delay:0.1s; }
.kpc-delay-2 { animation-delay:0.2s; }
.kpc-delay-3 { animation-delay:0.3s; }
