* { box-sizing: border-box; }
:root {
  --black: #050505;
  --charcoal: #0d0d0d;
  --panel: #151515;
  --white: #f5f5f1;
  --soft: #e7e7e2;
  --muted: #a8a8a4;
  --line: #292929;
  --ink: #111;
}
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--black); color: var(--white); font-family: 'Inter', sans-serif; line-height: 1.6; }
a { color: inherit; }
img { max-width: 100%; display: block; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
  position: fixed; top: 0; width: 100%; z-index: 1000;
  background: rgba(5,5,5,.90); backdrop-filter: blur(15px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; font-family: 'Cinzel', serif; font-weight: 700; letter-spacing: .04em; }
.brand img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; border: 1px solid #333; }
.nav { display: flex; align-items: center; gap: 27px; }
.nav a { text-decoration: none; font-size: 14px; color: #d4d4cf; }
.nav a:hover { color: #fff; }
.nav-cta { border: 1px solid #666; padding: 9px 15px; border-radius: 999px; }
.menu-toggle { display: none; background: none; color: #fff; border: 0; font-size: 26px; }

.hero {
  min-height: 94vh; display: flex; align-items: center; position: relative; overflow: hidden; padding-top: 78px;
  background:
    radial-gradient(circle at 82% 44%, rgba(255,255,255,.09), transparent 25%),
    linear-gradient(90deg, #050505 0%, #070707 52%, #0a0a0a 100%);
}
.hero:after {
  content: ""; position: absolute; right: -2%; top: 9%; width: min(600px, 48vw); aspect-ratio: 1;
  background: url('king-vault-logo.jpg') center/cover no-repeat; border-radius: 50%;
  opacity: .34; filter: grayscale(1) contrast(1.12);
  box-shadow: 0 0 100px rgba(255,255,255,.07);
}
.hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(5,5,5,.98) 0%, rgba(5,5,5,.82) 55%, rgba(5,5,5,.10) 100%); }
.hero-content { position: relative; z-index: 2; padding: 105px 0 70px; }
.eyebrow { margin: 0 0 16px; text-transform: uppercase; letter-spacing: .18em; font-weight: 700; font-size: 12px; color: #b8b8b2; }
h1,h2,h3 { margin-top: 0; }
h1 { max-width: 820px; margin-bottom: 26px; font-family: 'Cinzel', serif; font-size: clamp(48px,7vw,94px); line-height: .98; letter-spacing: -.035em; }
h1 span { color: #cfcfca; }
h2 { font-family: 'Cinzel', serif; font-size: clamp(34px,4.2vw,58px); line-height: 1.1; letter-spacing: -.025em; }
h3 { font-size: 20px; }
.hero-copy { max-width: 720px; color: #c7c7c2; font-size: 18px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hero-proof { margin-top: 64px; display: grid; grid-template-columns: repeat(3, minmax(0, 190px)); gap: 24px; }
.hero-proof div { border-left: 1px solid #4a4a4a; padding-left: 14px; }
.hero-proof strong, .hero-proof span { display: block; }
.hero-proof strong { font-size: 13px; color: #fff; margin-bottom: 2px; }
.hero-proof span { font-size: 12px; color: #888; }

.btn {
  display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px;
  border-radius:4px; text-decoration:none; border:1px solid transparent; font-weight:700; cursor:pointer; font: inherit;
}
.btn-primary { background:#f2f2ee; color:#070707; }
.btn-primary:hover { background:#fff; }
.btn-secondary { border-color:#555; color:#f2f2ee; background:rgba(255,255,255,.02); }
.btn-secondary:hover { border-color:#999; }
.btn-dark { background:#0b0b0b; color:#fff; margin-top:14px; }

.section { padding: 110px 0; }
.light-section { background:#f2f2ef; color:#111; }
.light-section .eyebrow { color:#666; }
.body-copy { color:#51514e; font-size:17px; }
.body-copy p:first-child { margin-top:0; }
.split { display:grid; grid-template-columns:.95fr 1.05fr; gap:80px; align-items:start; }
.credibility-note { margin-top:30px; padding:18px 20px; border-left:3px solid #111; background:#e7e7e2; }
.credibility-note strong,.credibility-note span { display:block; }
.credibility-note span { margin-top:3px; color:#666; font-size:13px; }

.dark-section { background:#0c0c0c; color:#fff; }
.dark-section .eyebrow { color:#a2a29e; }
.section-heading-row { display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:end; }
.section-heading-row p { color:#999; max-width:430px; margin:0 0 10px; }
.category-grid { margin-top:45px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.category-card { min-height:230px; padding:30px; background:#141414; border:1px solid #242424; }
.category-card:hover { border-color:#4b4b4b; transform:translateY(-2px); transition:.2s ease; }
.category-icon { font-family:'Cinzel',serif; font-size:12px; letter-spacing:.18em; color:#777; margin-bottom:54px; }
.category-card p { color:#9d9d99; margin-bottom:0; }

.partner-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:85px; align-items:center; }
.partner-panel { background:#111; color:#fff; padding:38px; }
.panel-label { text-transform:uppercase; letter-spacing:.16em; font-size:11px; color:#8d8d88; margin-top:0; }
.check-list { margin:24px 0 0; padding:0; list-style:none; }
.check-list li { padding:14px 0 14px 28px; border-bottom:1px solid #2a2a2a; position:relative; color:#deded9; }
.check-list li:before { content:"✓"; position:absolute; left:0; color:#fff; }

.charcoal-section { background:#151515; color:#fff; }
.charcoal-section .eyebrow { color:#999; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:48px; }
.feature { border-top:1px solid #444; padding-top:24px; }
.feature span { font-family:'Cinzel',serif; color:#777; font-size:13px; letter-spacing:.14em; display:block; margin-bottom:34px; }
.feature p { color:#9f9f9a; }

.statement { padding:95px 0; background:#deded8; color:#111; }
.statement-inner { max-width:950px; }
.statement .eyebrow { color:#666; }
blockquote { margin:0; font-family:'Cinzel',serif; font-size:clamp(28px,4vw,48px); line-height:1.24; letter-spacing:-.02em; }
.statement-inner > span { display:block; margin-top:20px; color:#676762; }

.contact-section { background:#090909; color:#fff; }
.contact-section .eyebrow { color:#aaa; }
.contact-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:85px; }
.contact-card { margin-top:28px; border-top:1px solid #2e2e2e; }
.contact-card > div { display:grid; grid-template-columns:120px 1fr; gap:16px; padding:14px 0; border-bottom:1px solid #242424; }
.contact-label { color:#777; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.contact-card a { color:#fff; }
.placeholder-note { margin-top:22px; color:#7f7f7b; font-size:12px; }
.contact-form { padding:32px; background:#141414; border:1px solid #252525; }
.contact-form h3 { margin-bottom:24px; font-family:'Cinzel',serif; }
.contact-form label { display:block; margin-bottom:17px; font-size:13px; font-weight:700; color:#cecec9; }
.contact-form input,.contact-form textarea,.contact-form select {
  width:100%; margin-top:8px; background:#0c0c0c; color:#fff; border:1px solid #353535; padding:13px 14px; font:inherit;
}
.contact-form select { appearance:auto; }
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { outline:1px solid #aaa; border-color:#777; }
.form-message { color:#bdbdb8; margin-bottom:0; font-size:13px; }

.legal-strip { padding:20px 0; background:#101010; color:#787874; border-top:1px solid #1d1d1d; border-bottom:1px solid #1d1d1d; }
.legal-inner { display:flex; justify-content:space-between; gap:25px; font-size:12px; }
.legal-inner p { margin:0; }

.footer { padding:34px 0; background:#050505; color:#8d8d89; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-brand { display:flex; align-items:center; gap:12px; color:#fff; }
.footer-brand img { width:42px; height:42px; object-fit:cover; border-radius:50%; }
.footer-brand strong { font-family:'Cinzel',serif; }
.footer-brand p { margin:2px 0 0; color:#7f7f7b; font-size:12px; }

@media (max-width: 920px) {
  .menu-toggle { display:block; }
  .nav {
    display:none; position:absolute; top:78px; left:0; right:0; padding:22px 20px;
    background:#080808; border-bottom:1px solid #222; flex-direction:column; align-items:stretch;
  }
  .nav.open { display:flex; }
  .hero:after { width:72vw; right:-24vw; opacity:.20; }
  .split,.partner-grid,.contact-grid,.section-heading-row { grid-template-columns:1fr; gap:36px; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .feature-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 600px) {
  .container { width:min(100% - 28px,1180px); }
  .brand span { font-size:14px; }
  .hero { min-height:88vh; }
  .hero-content { padding:80px 0 60px; }
  .hero-copy { font-size:16px; }
  .hero-proof { grid-template-columns:1fr; gap:12px; margin-top:42px; }
  .section { padding:78px 0; }
  .category-grid,.feature-grid { grid-template-columns:1fr; }
  .category-card { min-height:auto; }
  .category-icon { margin-bottom:28px; }
  .contact-card > div { grid-template-columns:1fr; gap:3px; }
  .legal-inner,.footer-inner { flex-direction:column; align-items:flex-start; }
}
