/* ===== Dynastia Royale — System ===== */
:root{
  --night:#0B1A3A;         /* bleu nuit souverain */
  --graphene:#090A0F;      /* noir noble profond */
  --gold:#D4AF37;          /* or liquide */
  --gold-2:#F1D47A;        /* reflet or */
  --silver:#E8E8EA;        /* argent froid */
  --ink:#E6ECF4;           /* blanc froid */
  --royal-blue:#173C8F;    /* accent royal */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  color:var(--ink);
  background:
    radial-gradient(60% 50% at 55% 8%, rgba(255,255,255,.03), transparent 70%),
    linear-gradient(180deg,#0B1A3A 0%, #071022 100%);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6;
}

/* Links neutral */
a, a:visited{ color:inherit; text-decoration:none; }

/* Layout */
.container{ width:min(1100px, 92vw); margin:0 auto; padding:28px 0; }

/* Header */
.site-header{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(180deg, rgba(7,16,34,.75), rgba(7,16,34,.25));
  backdrop-filter: blur(6px);
  border-bottom:1px solid rgba(212,175,55,.15);
}
.brand{letter-spacing:.35rem; font-weight:700; color:var(--ink);}
.brand .thin{font-weight:400; opacity:.9;}

/* Nav */
.nav{
  display:flex; gap:22px; align-items:center; flex-wrap:wrap;
}
.nav a{ padding:10px 12px; border-radius:14px; transition:all .25s ease; }
.nav a:hover{ box-shadow:0 0 0 1px rgba(212,175,55,.28) inset; transform:translateY(-1px); }
.nav a.active{ color:var(--gold); box-shadow:0 0 0 1px rgba(212,175,55,.45) inset; }

/* Hero */
.hero{ padding:72px 0 36px; }
h1{
  font-size: clamp(36px, 6vw, 64px);
  margin:0 0 14px 0;
  letter-spacing:-.02em;
}
.gold{ 
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 60%, var(--gold) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow: 0 8px 40px rgba(212,175,55,.18);
}
.tagline{ font-size: clamp(16px, 2.5vw, 20px); opacity:.92; }

/* Button – Royal */
.btn-royal{
  display:inline-block;
  margin-top:22px;
  padding:18px 28px;
  font-weight:700;
  border-radius:18px;
  color:#111;
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 60%, var(--gold) 100%);
  box-shadow: 0 0 0 3px rgba(23,60,143,.4) inset, 0 18px 60px rgba(212,175,55,.28);
  transform:translateY(0); transition: transform .2s ease, filter .2s ease, box-shadow .3s ease;
}
.btn-royal:hover{ transform:translateY(-2px); box-shadow: 0 0 0 3px rgba(23,60,143,.55) inset, 0 24px 80px rgba(212,175,55,.38); }
.btn-royal:active{ transform:translateY(0); filter:brightness(.96)}

/* Bullets */
ul.clean{ margin:22px 0; padding-left:18px; }
ul.clean li{ margin:8px 0; }

/* Halo Board (section cards) */
.section-grid{ display:grid; gap:18px; grid-template-columns:1fr; }
@media(min-width:860px){ .section-grid{ grid-template-columns:1fr; } }

.section-card{
  position:relative; display:block;
  border-radius:22px; padding:22px 22px;
  background: linear-gradient(180deg, rgba(11,26,58,.55), rgba(11,26,58,.22));
  border:1px solid rgba(212,175,55,.28);
  box-shadow:
    0 0 0 1px rgba(212,175,55,.18) inset,
    0 20px 80px rgba(0,0,0,.35),
    0 0 80px rgba(212,175,55,.15);
  backdrop-filter: blur(6px);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.section-card:hover{
  transform: translateY(-2px);
  border-color: rgba(241,212,122,.55);
  box-shadow:
    0 0 0 1px rgba(241,212,122,.35) inset,
    0 28px 100px rgba(212,175,55,.35),
    0 0 120px rgba(212,175,55,.25);
}
.section-card h3{ margin:0 0 6px 0; font-size: clamp(20px,3vw,28px); }
.section-card .desc{ opacity:.9 }

/* Footer – Sceau impérial */
.site-footer{
  display:flex; justify-content:center; align-items:center; gap:10px;
  padding:28px; margin-top:32px;
  color:var(--gold);
  border-top:1px solid rgba(212,175,55,.18);
  background:linear-gradient(180deg, rgba(7,16,34,.35), transparent);
}
.copyright-badge .mark{ font-weight:700; margin-right:6px; }

/* Motion accessibility */
@media (prefers-reduced-motion: reduce){
  .section-card, .btn-royal{ transition:none; }
}
