/*
Theme Name: KC's Finest Luxury
Theme URI: https://example.com
Author: KC's Finest
Description: Custom luxury wedding entertainment theme for KC's Finest Weddings & Events.
Version: 1.2.1
Text Domain: kcs-finest
*/

:root{
  --ink:#11110f;
  --paper:#f3efe7;
  --paper2:#e8e1d7;
  --cream:#f9f7f2;
  --gold:#b18c55;
  --gold2:#d3b98f;
  --muted:#6d685f;
  --line:#d7d0c6;
  --white:#fffdf9;
  --black:#0c0c0b;
  --max:1220px;
  --radius:28px;
  --shadow:0 24px 70px rgba(16,16,14,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,Arial,sans-serif;line-height:1.55;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),92vw);margin:auto}
h1,h2,h3,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.03em}
.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.72rem;font-weight:800;color:var(--gold)}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;color:#fff;background:linear-gradient(to bottom,rgba(10,10,10,.62),rgba(10,10,10,0));transition:.25s}
.site-header.scrolled{background:rgba(17,17,15,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-inner{height:82px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand{font-size:.86rem;font-weight:900;letter-spacing:.08em}
.brand span{color:var(--gold2)}
.nav-menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:.9rem}
.nav-menu a{color:#fff}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 24px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.25s ease}
.btn:hover{transform:translateY(-2px)}
.btn.light{background:var(--white);color:var(--black)}
.btn.dark{background:var(--black);color:#fff}
.btn.outline{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.03)}
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#151515}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:0;
  transform:scale(1.025);
  transition:opacity 1.6s ease,transform 7s ease;
}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-slide.fallback{
  background:
    radial-gradient(circle at 74% 26%,rgba(177,140,85,.24),transparent 28%),
    linear-gradient(135deg,#2b2a28,#121212 65%,#2a2119);
}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.18) 58%,rgba(0,0,0,.15))}
.hero-dots{
  position:absolute;right:4vw;bottom:38px;z-index:3;
  display:flex;gap:8px;
}
.hero-dot{
  width:8px;height:8px;border-radius:50%;
  border:1px solid rgba(255,255,255,.65);
  background:transparent;padding:0;cursor:pointer;
  transition:.25s ease;
}
.hero-dot.active{background:#fff;transform:scale(1.15)}
.hero-copy{position:relative;z-index:2;width:min(1020px,92vw);margin:0 auto;padding:165px 0 88px}
.hero h1{font-size:clamp(4rem,9vw,8.4rem);line-height:.9;max-width:1100px;margin:.14em 0 .22em}
.hero p{max-width:700px;font-size:1.14rem;color:#e9e3db}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-note{margin-top:44px;display:flex;gap:30px;flex-wrap:wrap;color:#cfc8bf;font-size:.85rem}
.hero-note strong{color:#fff}
.ticker{background:var(--black);color:#fff;border-block:1px solid rgba(255,255,255,.08);overflow:hidden}
.ticker-track{display:flex;gap:56px;width:max-content;padding:16px 0;animation:marquee 28s linear infinite;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:#d7d0c8}
@keyframes marquee{to{transform:translateX(-50%)}}
section{padding:110px 0}
.intro{background:var(--cream)}
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.intro h2,.section-head h2{font-size:clamp(3rem,6vw,5.6rem);line-height:.98;margin:.15em 0 0}
.intro-copy{font-size:1.14rem;color:#48443e;max-width:650px}
.intro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}
.stat{border-top:1px solid var(--line);padding-top:18px}
.stat strong{display:block;font-size:1.4rem}
.stat span{font-size:.82rem;color:var(--muted)}
.visual-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.photo-card{border-radius:var(--radius);position:relative;overflow:hidden;min-height:520px;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,.08)),linear-gradient(135deg,#67625d,#252320 72%);box-shadow:var(--shadow);background-size:cover;background-position:center}
.photo-card.alt{background:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,.03)),linear-gradient(135deg,#40362e,#161616 70%);background-size:cover;background-position:center}
.photo-label{position:absolute;left:28px;bottom:26px;color:#fff}
.photo-label h3{margin:4px 0 0;font-size:2.35rem;max-width:430px}
.packages{background:#151512;color:#fff}
.section-head{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:46px}
.section-head p{max-width:520px;color:#c7c0b6}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.package{border:1px solid #2e2e29;border-radius:30px;padding:30px;background:linear-gradient(180deg,#1b1b18,#11110f);position:relative;min-height:560px;display:flex;flex-direction:column}
.package.featured{transform:translateY(-14px);border-color:rgba(211,185,143,.65);background:radial-gradient(circle at top right,rgba(177,140,85,.15),transparent 34%),linear-gradient(180deg,#1d1a16,#11110f)}
.pill{display:inline-block;align-self:flex-start;padding:7px 10px;border-radius:999px;background:var(--gold);color:#111;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.package h3{font-size:2.4rem;margin:18px 0 6px}
.package p{color:#bcb5ab}
.package .price{font-size:2.6rem;font-weight:900;margin:18px 0}
.package .price small{font-size:.82rem;color:#9c958b;font-weight:500}
.package ul{list-style:none;padding:0;margin:12px 0 28px;flex:1}
.package li{padding:11px 0;border-bottom:1px solid #292924;color:#e1dbd1}
.package li::before{content:"•";color:var(--gold2);margin-right:10px}
.experience{background:var(--paper)}
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.exp-large,.exp-small{border-radius:30px;overflow:hidden;position:relative;min-height:560px;box-shadow:var(--shadow)}
.exp-large{background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,.05)),linear-gradient(135deg,#4a4843,#171715);background-size:cover;background-position:center}
.exp-small{background:var(--cream);border:1px solid var(--line);padding:36px}
.exp-large .overlay{position:absolute;left:34px;right:34px;bottom:32px;color:#fff}
.exp-large h3{font-size:3rem;line-height:1;margin:0}
.step{padding:22px 0;border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:0}
.step small{display:block;color:var(--gold);font-weight:900;letter-spacing:.15em}
.step h3{font-size:1.8rem;margin:.25em 0}
.step p{color:var(--muted);margin:0}
.team{background:var(--cream)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.person{background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 15px 40px rgba(16,16,14,.07)}
.portrait{aspect-ratio:4/5;background:linear-gradient(155deg,#5c5751,#171615 78%);background-size:cover;background-position:center}
.person-copy{padding:24px}
.person-copy h3{font-size:2rem;margin:0}
.person-copy p{margin:.4em 0 0;color:var(--muted)}
.quote-sec{background:var(--paper2)}
.quote{padding:60px;background:#fff;border-radius:34px;box-shadow:var(--shadow);font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.12}
.quote small{display:block;font-family:Inter,sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;margin-top:28px;color:var(--muted);font-weight:800}
.cta-sec{background:var(--black);color:#fff}
.cta-card{border-radius:36px;padding:64px;background:radial-gradient(circle at 85% 20%,rgba(177,140,85,.25),transparent 30%),linear-gradient(135deg,#1b1b18,#0c0c0b);border:1px solid #2b2b26;display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.cta-card h2{font-size:clamp(3.1rem,6vw,6rem);line-height:.92;margin:.12em 0 .22em}
.cta-card p{color:#c8c1b7;max-width:670px}
.form-card{background:#fff;color:#111;border-radius:26px;padding:26px}
.form-card label{display:block;font-size:.76rem;font-weight:800;margin:12px 0 7px}
.form-card input,.form-card select{width:100%;height:48px;border:1px solid #d8d2ca;border-radius:14px;padding:0 14px;background:#faf8f4}
.form-card .btn{width:100%;margin-top:16px}
.site-footer{background:#080807;color:#a7a097;padding:36px 0 54px;border-top:1px solid #22221e}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.fade{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.fade.show{opacity:1;transform:none}
@media(max-width:900px){
  .nav-menu{display:none}
  .intro-grid,.visual-grid,.package-grid,.exp-grid,.team-grid,.cta-card{grid-template-columns:1fr}
  .package.featured{transform:none}
  .intro-stats{grid-template-columns:1fr 1fr}
  .section-head{display:block}
  .hero h1{font-size:clamp(3.7rem,16vw,6.2rem)}
  .quote,.cta-card{padding:34px}
}

@media(max-width:900px){
  .hero-dots{right:auto;left:4vw;bottom:24px}
}
