:root {
  --black: #070707;
  --black-2: #0e0e0e;
  --panel: #111111;
  --gold: #b08d57;
  --gold-bright: #d0a74f;
  --gold-dark: #80632f;
  --ivory: #f5f2eb;
  --muted: #b9b7b1;
  --line: rgba(176, 141, 87, .55);
  --max-width: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ivory);
  background:
    radial-gradient(circle at 50% 20%, rgba(176,141,87,.08), transparent 28rem),
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px),
    var(--black);
  background-size: auto, 48px 48px, 48px 48px, auto;
  font-family: Inter, system-ui, sans-serif;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.section-shell { width: min(calc(100% - 40px), var(--max-width)); margin-inline: auto; }

.site-header {
  height: 108px;
  padding: 16px clamp(20px, 5vw, 64px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 20;
}
.brand { display:flex; align-items:center; gap:12px; min-width: 265px; }
.brand img { width: 64px; height: 76px; object-fit: cover; object-position: center; }
.brand-copy, .footer-logo-row > div { display:flex; flex-direction:column; }
.brand-name { font: 600 25px/1.1 Cinzel, serif; letter-spacing:.02em; text-transform:uppercase; }
.brand-sub { margin-top:8px; font: 500 13px/1 Cinzel, serif; letter-spacing:.42em; text-transform:uppercase; color:var(--ivory); }

.main-nav { display:flex; align-items:center; gap:38px; font-size:13px; text-transform:uppercase; }
.main-nav a { position:relative; color:#efefef; transition:.2s ease; }
.main-nav a:hover, .main-nav a.active { color:var(--gold-bright); }
.main-nav a.active::after {
  content:""; position:absolute; height:2px; left:0; right:0; bottom:-16px; background:var(--gold-bright);
}
.nav-login { border:1px solid var(--gold-dark); padding:16px 24px; border-radius:4px; }
.menu-toggle { display:none; background:none; border:0; padding:8px; }
.menu-toggle span { display:block; width:26px; height:2px; margin:5px 0; background:var(--gold-bright); }

.hero {
  min-height: 770px;
  padding: 24px 0 56px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; position:relative; overflow:hidden;
}
.hero::after {
  content:""; position:absolute; inset:auto -100vw 0; height:1px; background:linear-gradient(90deg, transparent, var(--gold-bright), transparent);
}
.hero-glow {
  position:absolute; width:780px; height:780px; border-radius:50%;
  background:radial-gradient(circle, rgba(176,141,87,.085), transparent 66%);
  pointer-events:none;
}
.hero-shield { width:270px; height:365px; object-fit:cover; object-position:center; filter:drop-shadow(0 20px 28px rgba(0,0,0,.55)); }
h1 {
  margin: 0 0 14px;
  font: 600 clamp(38px, 5vw, 65px)/1.1 Cinzel, serif;
  letter-spacing:.025em; text-transform:uppercase;
}
.ornament { width:min(560px,72vw); display:flex; align-items:center; gap:10px; color:var(--gold-bright); }
.ornament span { height:1px; flex:1; background:linear-gradient(90deg, transparent, var(--gold-bright)); }
.ornament span:last-child { background:linear-gradient(90deg, var(--gold-bright), transparent); }
.ornament b { font-size:10px; }
.tagline {
  margin:18px 0 17px;
  color:var(--gold-bright);
  font-size:clamp(17px,2.2vw,25px);
  line-height:1.35; letter-spacing:.07em; text-transform:uppercase;
}
.tagline sup { font-size:.5em; margin-left:3px; }
.hero-copy { margin:0; max-width:790px; color:#ceccc7; font-size:17px; line-height:1.65; }
.hero-actions { display:flex; gap:22px; margin-top:34px; }
.button {
  min-width:245px; padding:18px 28px; border-radius:4px;
  text-transform:uppercase; letter-spacing:.025em; font-weight:600;
  display:inline-flex; justify-content:space-between; align-items:center;
  transition:transform .2s, box-shadow .2s, background .2s;
}
.button:hover { transform:translateY(-2px); }
.button-primary { color:#090909; background:linear-gradient(135deg,#b88d36,#d8b65e,#a97c28); box-shadow:0 8px 28px rgba(176,141,87,.18); }
.button-primary:hover { box-shadow:0 10px 32px rgba(208,167,79,.32); }
.button-secondary { color:var(--gold-bright); border:1px solid var(--gold-bright); background:rgba(0,0,0,.28); }

.features {
  padding:22px 0 18px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.feature-card {
  min-height:260px; padding:30px 30px 28px;
  border:1px solid rgba(255,255,255,.14); border-radius:4px;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));
  text-align:center; transition:.25s ease;
}
.feature-card:hover { transform:translateY(-4px); border-color:var(--line); box-shadow:0 18px 42px rgba(0,0,0,.35); }
.feature-card h2 { margin:12px 0 0; color:var(--gold-bright); font:600 28px Cinzel,serif; text-transform:uppercase; }
.feature-card p { color:#dad8d2; line-height:1.55; max-width:240px; margin:14px auto 0; }
.feature-icon { width:74px; height:74px; margin:0 auto; color:var(--gold-bright); display:grid; place-items:center; font-size:64px; line-height:1; }
.target-icon { border:3px solid var(--gold-bright); border-radius:50%; position:relative; }
.target-icon::before,.target-icon::after { content:""; position:absolute; background:var(--gold-bright); }
.target-icon::before { width:100px; height:2px; }
.target-icon::after { height:100px; width:2px; }
.target-icon { box-shadow: inset 0 0 0 13px var(--black), inset 0 0 0 15px var(--gold-bright); }
.shield-icon { border:2px solid var(--gold-bright); clip-path:polygon(50% 0, 90% 16%, 84% 70%, 50% 100%, 16% 70%, 10% 16%); font-size:42px; }
.mini-ornament { color:var(--gold-bright); font-size:9px; margin-top:2px; }

.quote-band { margin-top:0; padding:28px 20px 22px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-align:center; }
.quote-band blockquote { margin:0; color:var(--gold-bright); font:500 clamp(18px,2.4vw,27px)/1.4 Cinzel,serif; letter-spacing:.03em; text-transform:uppercase; }
.ornament.narrow { width:min(420px,60vw); margin:14px auto 0; }

.site-footer { padding:36px 0 22px; }
.footer-grid { display:grid; grid-template-columns:1.7fr repeat(4,1fr); gap:46px; }
.footer-brand p { color:var(--muted); line-height:1.55; max-width:290px; }
.footer-logo-row { display:flex; align-items:center; gap:10px; }
.footer-logo-row img { width:66px; height:82px; object-fit:cover; }
.site-footer h3 { color:var(--gold-bright); text-transform:uppercase; font-size:13px; margin:10px 0 16px; }
.site-footer a { display:block; color:var(--muted); margin:0 0 10px; font-size:14px; }
.site-footer a:hover { color:var(--gold-bright); }
.footer-bottom {
  margin-top:28px; padding-top:16px; border-top:1px solid rgba(176,141,87,.35);
  display:flex; justify-content:space-between; gap:30px; color:#9f9d98; font-size:12px; line-height:1.5;
}
.footer-bottom p { margin:0; max-width:620px; }

.reveal { opacity:0; transform:translateY(12px); animation:reveal .7s ease forwards; }
.delay-1 { animation-delay:.15s; }
.delay-2 { animation-delay:.3s; }
.delay-3 { animation-delay:.45s; }
@keyframes reveal { to { opacity:1; transform:none; } }

@media (max-width: 900px) {
  .site-header { height:88px; }
  .menu-toggle { display:block; }
  .main-nav {
    position:absolute; top:80px; left:20px; right:20px; padding:18px;
    display:none; flex-direction:column; align-items:stretch; gap:0;
    background:#0c0c0c; border:1px solid var(--line); border-radius:5px;
  }
  .main-nav.open { display:flex; }
  .main-nav a { padding:14px 8px; }
  .main-nav a.active::after { display:none; }
  .nav-login { margin-top:8px; text-align:center; }
  .brand { min-width:0; }
  .brand-name { font-size:19px; }
  .brand-sub { font-size:10px; }
  .hero { min-height:auto; padding-top:34px; }
  .hero-shield { width:220px; height:300px; }
  .features { grid-template-columns:1fr; max-width:620px; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-grid > div:nth-child(4), .footer-grid > div:nth-child(5) { margin-top:4px; }
}

@media (max-width: 600px) {
  .site-header { padding-inline:16px; }
  .brand img { width:48px; height:58px; }
  .brand-name { font-size:16px; }
  .brand-sub { letter-spacing:.28em; font-size:8px; }
  .hero { padding-bottom:42px; }
  .hero-shield { width:190px; height:250px; }
  .desktop-break { display:none; }
  .hero-copy { font-size:15px; }
  .hero-actions { width:100%; flex-direction:column; gap:12px; }
  .button { width:100%; min-width:0; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1 / -1; }
  .footer-bottom { flex-direction:column; }
}

/* ===== Interior pages (Platform, etc.) ===== */
.wf-page-hero { text-align:center; padding:56px 0 20px; position:relative; }
.wf-eyebrow { display:inline-block; color:var(--gold-bright); letter-spacing:.28em; text-transform:uppercase; font-size:12px; font-weight:600; margin-bottom:14px; }
.wf-page-hero h1 { margin:0 0 6px; font:600 clamp(30px,4.4vw,54px)/1.14 Cinzel,serif; letter-spacing:.02em; text-transform:uppercase; }
.wf-section { padding:30px 0; }
.wf-section > h2 { text-align:center; margin:0 auto 6px; max-width:900px; font:600 clamp(23px,3vw,36px)/1.2 Cinzel,serif; letter-spacing:.02em; text-transform:uppercase; color:var(--ivory); }
.wf-prose { max-width:820px; margin:18px auto 0; color:#cfccc6; font-size:17px; line-height:1.78; }
.wf-prose p { margin:0 0 1.15em; }
.wf-prose p:last-child { margin-bottom:0; }
.wf-prose .lead { color:var(--gold-bright); font-weight:600; font-size:1.06em; }
.wf-stages { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:980px; margin:30px auto 0; }
.wf-stage { border:1px solid rgba(255,255,255,.14); border-radius:4px; padding:28px 30px; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008)); transition:.25s ease; }
.wf-stage:hover { transform:translateY(-4px); border-color:var(--line); box-shadow:0 18px 42px rgba(0,0,0,.35); }
.wf-stage h3 { margin:0 0 12px; color:var(--gold-bright); font:600 22px Cinzel,serif; text-transform:uppercase; letter-spacing:.02em; }
.wf-stage p { color:#dad8d2; line-height:1.62; margin:0 0 .85em; }
.wf-stage p:last-child { margin-bottom:0; }
.wf-emphasis { max-width:760px; margin:22px auto 0; text-align:center; }
.wf-emphasis p { margin:.5em 0; color:var(--ivory); font-family:Cinzel,serif; font-size:clamp(16px,1.9vw,20px); letter-spacing:.01em; }
.wf-tagband { text-align:center; padding:34px 20px 8px; }
.wf-tagband p { margin:0; color:var(--gold-bright); font:500 clamp(18px,2.4vw,26px)/1.4 Cinzel,serif; letter-spacing:.05em; text-transform:uppercase; }
.wf-tagband sup { font-size:.5em; }
.wf-cta-row { display:flex; justify-content:center; gap:22px; flex-wrap:wrap; margin-top:34px; }
@media (max-width:700px) { .wf-stages { grid-template-columns:1fr; } .wf-cta-row .button { width:100%; min-width:0; } .wf-cta-row { flex-direction:column; } }

/* ===== Features page ===== */
.wf-feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:1000px; margin:30px auto 0; }
.wf-feature { border:1px solid rgba(255,255,255,.14); border-radius:4px; padding:26px 28px; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008)); transition:.25s ease; }
.wf-feature:hover { transform:translateY(-4px); border-color:var(--line); box-shadow:0 18px 42px rgba(0,0,0,.35); }
.wf-feature h3 { margin:0 0 12px; color:var(--gold-bright); font:600 20px Cinzel,serif; text-transform:uppercase; letter-spacing:.02em; }
.wf-feature p { color:#d7d5cf; line-height:1.6; margin:0 0 .7em; }
.wf-feature p:last-child { margin-bottom:0; }
.wf-flist { list-style:none; margin:0 0 .85em; padding:0; display:flex; flex-wrap:wrap; gap:7px 18px; }
.wf-flist li { position:relative; padding-left:15px; color:#d7d5cf; font-size:15px; line-height:1.4; }
.wf-flist li::before { content:""; position:absolute; left:0; top:.5em; width:6px; height:6px; background:var(--gold-bright); transform:rotate(45deg); }
.wf-badge { display:inline-block; margin-left:8px; font:600 10px/1 Inter,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-bright); border:1px solid var(--gold-dark); border-radius:3px; padding:4px 7px; vertical-align:middle; }
@media(max-width:700px){ .wf-feature-grid { grid-template-columns:1fr; } }

/* ===== Contact info + support form ===== */
.wf-contact-list { max-width:680px; margin:22px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:22px; text-align:center; }
.wf-contact-list h4 { color:var(--gold-bright); text-transform:uppercase; font-size:12px; letter-spacing:.1em; margin:0 0 6px; }
.wf-contact-list a { color:var(--ivory); } .wf-contact-list a:hover { color:var(--gold-bright); }
.wf-contact-list p { color:#d7d5cf; margin:0; line-height:1.5; }
.wf-form { max-width:640px; margin:24px auto 0; display:grid; gap:16px; text-align:left; }
.wf-field { display:flex; flex-direction:column; gap:6px; }
.wf-field label { font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-bright); font-weight:600; }
.wf-field input, .wf-field textarea { background:#0e0e0e; border:1px solid rgba(176,141,87,.4); border-radius:4px; color:var(--ivory); font:inherit; font-size:16px; padding:12px 14px; }
.wf-field input::placeholder, .wf-field textarea::placeholder { color:#6a6862; }
.wf-field input:focus, .wf-field textarea:focus { outline:none; border-color:var(--gold-bright); box-shadow:0 0 0 3px rgba(176,141,87,.18); }
.wf-field textarea { resize:vertical; min-height:130px; }
.wf-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.wf-form button { justify-self:center; margin-top:4px; border:0; cursor:pointer; }
.wf-form-note { text-align:center; padding:12px 16px; border-radius:4px; font-size:15px; }
.wf-form-note.ok { background:rgba(46,125,50,.14); border:1px solid #2E7D32; color:#9fe0a6; }
.wf-form-note.err { background:rgba(139,30,30,.16); border:1px solid #8B1E1E; color:#f0b3b3; }
.wf-hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
@media(max-width:600px){ .wf-form-row, .wf-contact-list { grid-template-columns:1fr; } }
