
:root {
  --ap-ink: #333333;
  --ap-ink-2: #1d2b57;
  --ap-gold: #a8914f;
  --ap-gold-2: #e6c98d;
  --ap-cloud: #f7f8fb;
  --ap-stone: #eef1f6;
  --ap-success: #17a398;
}
html, body { height: 100%; }
body {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: var(--ap-ink);
  background: radial-gradient(90% 100% at 10% 0%, #ffffff 0%, var(--ap-cloud) 100%);
}
.ap-nav {
  backdrop-filter: saturate(180%) blur(8px);
  background: rgba(255,255,255,.75);
  border-bottom: 1px solid rgba(13, 27, 62, .06);
}
.brand-mark { display: inline-flex; align-items: center; gap:.6rem; text-decoration:none; color: var(--ap-ink); }
.brand-text { font-weight: 700; letter-spacing:.2px; }
.brand-sub { font-weight: 500; font-size:.9rem; color: var(--ap-ink-2); }

.hero { position: relative; overflow: hidden; padding: 6rem 0 3rem; }
.hero .bg-ornament {
  position:absolute; inset:0; pointer-events:none; opacity:.28;
  background: radial-gradient(60% 40% at 90% 10%, rgba(201,168,106,.35), transparent 60%),
              radial-gradient(50% 60% at 10% 80%, rgba(29,43,87,.20), transparent 60%);
}
.hero .guilloche {
  position:absolute; left:50%; transform:translateX(-50%); top:-150px; width:1200px; height:300px; opacity:.25;
  background: repeating-radial-gradient(circle at 50% 200%, rgba(201,168,106,.45), rgba(201,168,106,.45) 1px, transparent 1px, transparent 3px);
  filter: blur(0.6px);
  mask-image: linear-gradient(to bottom, black 0%, black 50%, transparent 100%);
}
.hero h1 { font-weight:800; letter-spacing:.2px; }
.lead-hero { color:#243159; font-size:1.15rem; }
.badge-soft { background: rgba(201,168,106,.12); color: var(--ap-ink-2); border:1px solid rgba(201,168,106,.35) }

.card-soft { background: linear-gradient(180deg, #fff, var(--ap-cloud)); border: 1px solid rgba(13,27,62,.06); box-shadow: 0 10px 26px rgba(13,27,62,.06); }
.icon-chip { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:10px; background: #fff; border:1px solid rgba(13,27,62,.08); }

.btn-ap { background: var(--ap-ink); color:#fff; border-radius: 12px; padding:.85rem 1.2rem; }
.btn-ap:hover { background: #121f45; color:#fff; }
.btn-outline-gold { border:1px solid var(--ap-gold); color: var(--ap-ink-2); border-radius:12px; }
.btn-outline-gold:hover { background: var(--ap-gold); color:#0b0f1f; }

/* Base */
.pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid rgba(13, 27, 62, .10);
  border-radius: 999px;
  padding: .35rem .75rem;
  font-size: .825rem;
  font-weight: 600;
  line-height: 1;
  color: var(--ap-ink-2);
  background: linear-gradient(180deg, #fff, var(--ap-cloud));
  box-shadow: 0 1px 2px rgba(13,27,62,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  white-space: nowrap;
}
.pill i, .pill .icon {
  font-size: .95em;
  line-height: 1;
}

/* Interactions */
.pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(13,27,62,.08);
  border-color: rgba(13,27,62,.16);
}
.pill:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(201,168,106,.25);
  border-color: var(--ap-gold);
}
@media (prefers-reduced-motion: reduce) {
  .pill { transition: none; }
}

/* Soft (default) + Outline variant */
.pill--soft { background: linear-gradient(180deg, #fff, var(--ap-cloud)); }
.pill--outline { background: transparent; }

/* Color accents */
.pill--gold   { border-color: rgba(201,168,106,.45); color: var(--ap-ink); }
.pill--gold.pill--soft { background: rgba(201,168,106,.12); }
.pill--ink    { border-color: rgba(11,23,54,.25); color: var(--ap-ink); }
.pill--stone  { border-color: rgba(13,27,62,.10); background: var(--ap-stone); color: var(--ap-ink-2); }
.pill--success{ border-color: rgba(23,163,152,.35); background: rgba(23,163,152,.10); color: var(--ap-ink); }

/* Size variants */
.pill--sm { padding: .2rem .55rem; font-size: .75rem; }
.pill--lg { padding: .5rem .9rem;  font-size: .9rem;  }

/* Icon-only and badge-like */
.pill--icon {
  width: 2rem; height: 2rem; padding: 0;
  justify-content: center;
}
.pill--badge {
  font-weight: 700; letter-spacing: .2px;
  padding: .25rem .6rem;
}

/* Optional subtle glow state (for “new”, “live”) */
.pill--glow {
  box-shadow: 0 0 0 0 rgba(201,168,106,.6);
  animation: ap-pill-glow 1.8s ease-out infinite;
}
@keyframes ap-pill-glow {
  0%   { box-shadow: 0 0 0 0 rgba(201,168,106,.45); }
  70%  { box-shadow: 0 0 0 8px rgba(201,168,106,0); }
  100% { box-shadow: 0 0 0 0 rgba(201,168,106,0); }
}

.footer { border-top:1px solid rgba(13,27,62,.06); }

/* Forms */
.subscribe input[type="email"] { height: 48px; border-radius: 12px; }
.subscribe .btn { height: 48px; }
.contact-card .form-control, .contact-card .form-select { border-radius: 12px; }
.form-hint { font-size: .875rem; }

/* Feature grid */
.feature-grid .item { height: 100%; }
.feature-grid .title { font-weight:600; }
.bg-stone { background: var(--ap-stone); }

@media (max-width: 991px) { .hero { padding: 4.5rem 0 2rem; } }
