:root {
  --fcm-bg-0: #071316;
  --fcm-bg-1: #0b1f24;
  --fcm-glass: rgba(10, 18, 20, 0.58);
  --fcm-glass-strong: rgba(10, 18, 20, 0.7);
  --fcm-gold-light: #f6d48a;
  --fcm-gold: #c9922e;
  --fcm-gold-dark: #7b5514;
  --fcm-line: rgba(214, 170, 76, 0.28);
  --fcm-text: rgba(245, 245, 245, 0.92);
  --fcm-muted: rgba(245, 245, 245, 0.7);
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--fcm-text);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  background: radial-gradient(1200px 600px at 30% -10%, rgba(27, 90, 96, 0.55), transparent 60%), linear-gradient(180deg, var(--fcm-bg-0), var(--fcm-bg-1));
}
h1, h2, h3, .fcm-brand { font-family: "Playfair Display", Georgia, serif; }
a { color: inherit; }
.fcm-container { width: min(calc(100% - 2rem), 1140px); margin-inline: auto; }
.fcm-section { padding-block: 4.25rem; }
.fcm-gold-gradient { background: linear-gradient(90deg, var(--fcm-gold-light), var(--fcm-gold), var(--fcm-gold-light)); background-clip: text; color: transparent; }
.fcm-kicker { margin: 0 0 0.5rem; color: rgba(246, 212, 138, 0.85); font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; }
.fcm-glass { box-sizing: border-box; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--fcm-line); border-radius: 16px; background: var(--fcm-glass); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35); backdrop-filter: blur(10px); }
.fcm-grid { display: grid; gap: 1.5rem; }
.fcm-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fcm-card { height: 100%; box-sizing: border-box; }
.fcm-accordion { display: grid; gap: 1rem; }
.fcm-disclosure { overflow: hidden; border: 1px solid rgba(214, 170, 76, 0.18); border-radius: 12px; }
.fcm-disclosure summary { padding: 1rem 1.25rem; cursor: pointer; font-family: "Playfair Display", Georgia, serif; background: rgba(10, 18, 20, 0.55); }
.fcm-disclosure-body { padding: 1rem 1.25rem; color: var(--fcm-muted); background: rgba(10, 18, 20, 0.35); }
.fcm-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.fcm-field-full { grid-column: 1 / -1; }
.fcm-field { display: grid; gap: 0.4rem; }
.fcm-field input, .fcm-field select, .fcm-field textarea { width: 100%; box-sizing: border-box; padding: 0.75rem; border: 1px solid rgba(214, 170, 76, 0.25); border-radius: 0.375rem; color: var(--fcm-text); background: rgba(10, 18, 20, 0.55); }
.fcm-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.fcm-skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: 0.75rem 1rem; background: #fff; color: #111; }
.fcm-skip-link:focus { top: 1rem; }
.fcm-nav-overlay { position: absolute; inset: 0 0 auto; z-index: 10; padding: 0.65rem 0; background: linear-gradient(180deg, rgba(5, 10, 12, 0.72), rgba(5, 10, 12, 0)); backdrop-filter: blur(6px); }
.fcm-nav { width: min(calc(100% - 2rem), 1140px); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; min-height: 54px; }
.fcm-brand { font-weight: 600; text-decoration: none; background: linear-gradient(90deg, var(--fcm-gold-light), var(--fcm-gold), var(--fcm-gold-light)); background-clip: text; color: transparent; }
.fcm-nav-panel, .fcm-menu { display: flex; align-items: center; gap: 0.75rem; }
.fcm-menu { margin: 0; padding: 0; list-style: none; }
.fcm-menu a { padding: 0.5rem; text-decoration: none; font-weight: 500; color: rgba(245, 245, 245, 0.85); }
.fcm-menu a:hover, .fcm-menu a:focus-visible { color: #fff; }
.fcm-nav-toggle { display: none; }
.fcm-button { display: inline-flex; align-items: center; justify-content: center; padding: 0.45rem 0.85rem; border: 1px solid rgba(214, 170, 76, 0.55); border-radius: 0.375rem; text-decoration: none; }
.fcm-button-gold { color: #2a1a00; background: linear-gradient(180deg, rgba(246, 212, 138, 0.95), rgba(201, 146, 46, 0.95)); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35), 0 0 18px rgba(214, 170, 76, 0.22); }
.fcm-hero { position: relative; height: clamp(640px, 85vh, 900px); overflow: hidden; background: #000; }
.fcm-hero picture, .fcm-hero img { position: absolute; inset: 0; width: 100%; height: 100%; }
.fcm-hero img { display: block; object-fit: cover; object-position: center; }
.fcm-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.08) 30%, rgba(0, 0, 0, 0.08) 70%, rgba(0, 0, 0, 0.55)); }
.fcm-footer { border-top: 1px solid rgba(214, 170, 76, 0.18); background: rgba(3, 8, 10, 0.55); }
.fcm-footer-inner { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.5rem; }

@media (max-width: 991.98px) {
  .fcm-nav-toggle { display: inline-flex; }
  .fcm-nav-panel { position: absolute; top: 100%; left: 1rem; right: 1rem; display: none; align-items: stretch; flex-direction: column; padding: 1rem; border: 1px solid var(--fcm-line); border-radius: 16px; background: var(--fcm-glass-strong); backdrop-filter: blur(10px); }
  .fcm-nav-panel.is-open { display: flex; }
  .fcm-menu { align-items: stretch; flex-direction: column; width: 100%; }
}

@media (max-width: 767.98px) {
  .fcm-section { padding-block: 3.25rem; }
  .fcm-hero { height: clamp(560px, 85vh, 820px); }
  .fcm-grid-3, .fcm-form-grid { grid-template-columns: 1fr; }
  .fcm-field-full { grid-column: auto; }
  .fcm-footer-inner { flex-direction: column; }
}
