/* MWK Company Limited — site styles (tokens + composants) */
:root {
  --navy-950:#071120; --navy-900:#0B1B2E; --navy-800:#10263F; --navy-700:#1A3A5C; --navy-600:#24507C;
  --stone-50:#FAF9F6; --stone-100:#F4F2ED; --stone-200:#E8E4DB; --stone-300:#D5CFC2; --stone-700:#55503F;
  --gray-900:#14181E; --gray-700:#3A424D; --gray-500:#6B7480;
  --gold:#B08B4A; --gold-soft:#D9BC8C; --gold-strong:#8C6C39;
  --white:#FFFFFF;
  --serif:"Source Serif 4", Georgia, serif;
  --sans:"Inter", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --slab:"Roboto Slab", Georgia, serif;
  --xs:.79rem; --sm:.88rem; --base:1.0625rem; --lg:1.25rem; --xl:1.56rem; --xxl:1.95rem; --xxxl:2.44rem; --hero:3.2rem;
  --container:1120px;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); font-size:var(--base); line-height:1.65; color:var(--gray-900); background:var(--stone-50); -webkit-font-smoothing:antialiased; }
.container { max-width:var(--container); margin:0 auto; padding:0 1.5rem; }
a { color:var(--navy-800); }

.eyebrow { font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-strong); }
h1,h2,h3 { font-family:var(--serif); font-weight:600; line-height:1.18; }
h2.section { font-size:var(--xxl); margin:.5rem 0 .9rem; }
h2.section::after { content:""; display:block; width:56px; height:3px; background:linear-gradient(90deg,var(--gold),var(--gold-soft)); margin-top:.9rem; }
p.lead { color:var(--gray-500); max-width:70ch; }

/* Nav */
.nav { position:sticky; top:0; z-index:50; background:rgba(250,249,246,.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--stone-200); }
.nav .bar { display:flex; align-items:center; justify-content:space-between; height:76px; }
.brand { display:flex; align-items:center; gap:.8rem; text-decoration:none; }
.brand img { width:42px; height:42px; border-radius:6px; }
.brand .name { font-family:var(--slab); font-weight:700; font-size:1.15rem; color:var(--navy-900); letter-spacing:.01em; }
.brand .name small { display:block; font-family:var(--sans); font-weight:500; font-size:.62rem; letter-spacing:.34em; color:var(--gold-strong); text-transform:uppercase; }
.nav .links { display:flex; gap:2rem; align-items:center; font-size:var(--sm); font-weight:500; }
.nav .links a { color:var(--gray-700); text-decoration:none; padding-bottom:4px; }
.nav .links a.active { color:var(--navy-800); border-bottom:2px solid var(--gold); }
.nav .links a:hover { color:var(--navy-800); }

/* Boutons */
.btn { display:inline-block; font-weight:600; font-size:var(--sm); padding:.8rem 1.6rem; border-radius:3px; border:1px solid transparent; text-decoration:none; transition:all .15s ease; cursor:pointer; font-family:var(--sans); }
.btn-primary { background:var(--navy-800); color:var(--stone-50); }
.btn-primary:hover { background:var(--navy-700); }
.btn-secondary { background:transparent; color:var(--gray-900); border-color:var(--stone-300); }
.btn-secondary:hover { background:var(--stone-100); }
.btn-gold { background:var(--gold); color:#fff; }
.btn-gold:hover { background:var(--gold-strong); }
.btn-inverse { background:transparent; color:var(--stone-50); border-color:rgba(250,249,246,.32); }
.btn-inverse:hover { border-color:var(--gold-soft); color:var(--gold-soft); }

/* Hero */
.hero { background:linear-gradient(160deg,var(--navy-950) 0%,var(--navy-800) 100%); color:var(--stone-50); padding:7rem 0 6rem; }
.hero .eyebrow { color:var(--gold-soft); }
.hero h1 { font-size:var(--hero); max-width:22ch; margin:1rem 0 1.2rem; }
.hero p { color:rgba(250,249,246,.66); max-width:58ch; font-size:var(--lg); margin-bottom:2.2rem; }
.hero .actions { display:flex; gap:1rem; flex-wrap:wrap; }

/* Sections */
section.block { padding:5rem 0; }
section.block.alt { background:var(--stone-100); border-top:1px solid var(--stone-200); border-bottom:1px solid var(--stone-200); }
.grid { display:grid; gap:1.2rem; }
.grid-3 { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.grid-2 { grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }

.card { background:var(--white); border:1px solid var(--stone-200); border-radius:6px; padding:2rem; box-shadow:0 1px 2px rgba(7,17,32,.06); }
.card h3 { font-size:var(--xl); margin:.9rem 0 .55rem; }
.card p { font-size:var(--sm); color:var(--gray-500); }
.card .icon { width:44px; height:44px; border:1.5px solid var(--gold); border-radius:3px; display:flex; align-items:center; justify-content:center; color:var(--gold-strong); font-family:var(--serif); font-weight:700; }

/* Trust strip */
.trust { border-bottom:1px solid var(--stone-200); background:var(--white); }
.trust .row { display:flex; flex-wrap:wrap; gap:1rem 3rem; justify-content:center; padding:1.1rem 0; font-size:var(--sm); color:var(--gray-500); }
.trust .row span::before { content:"◆"; color:var(--gold); font-size:.6rem; margin-right:.6rem; vertical-align:2px; }

/* Pricing */
.price-card { display:flex; flex-direction:column; }
.price-card .tag { font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-strong); }
.price-card .price { font-family:var(--serif); font-size:var(--xxl); font-weight:700; color:var(--navy-800); margin:.6rem 0 .2rem; }
.price-card .per { font-size:var(--xs); color:var(--gray-500); margin-bottom:1rem; }
.price-card ul { list-style:none; margin:0 0 1.6rem; font-size:var(--sm); color:var(--gray-700); }
.price-card ul li { padding:.34rem 0 .34rem 1.4rem; position:relative; }
.price-card ul li::before { content:"✓"; position:absolute; left:0; color:var(--gold-strong); font-weight:700; }
.price-card .btn { margin-top:auto; text-align:center; }

/* Prose (pages légales) */
.prose { max-width:760px; }
.prose h1 { font-size:var(--xxxl); margin-bottom:.4rem; }
.prose .updated { font-size:var(--sm); color:var(--gray-500); margin-bottom:2.4rem; }
.prose h2 { font-size:var(--xl); font-family:var(--serif); margin:2.2rem 0 .7rem; }
.prose p, .prose li { font-size:var(--base); color:var(--gray-700); margin-bottom:.9rem; }
.prose ul { padding-left:1.3rem; }
.prose strong { color:var(--gray-900); }

/* Page header (pages intérieures) */
.page-head { background:var(--navy-900); color:var(--stone-50); padding:4.2rem 0 3.4rem; }
.page-head h1 { font-size:var(--xxxl); max-width:26ch; margin-top:.9rem; }
.page-head p { color:rgba(250,249,246,.66); max-width:62ch; margin-top:.9rem; }
.page-head .eyebrow { color:var(--gold-soft); }

/* Détails société */
.facts { border:1px solid var(--stone-200); border-radius:6px; background:var(--white); overflow:hidden; }
.facts .row { display:grid; grid-template-columns:240px 1fr; border-bottom:1px solid var(--stone-200); }
.facts .row:last-child { border-bottom:none; }
.facts .k { padding:.85rem 1.2rem; font-size:var(--xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--gray-500); background:var(--stone-100); }
.facts .v { padding:.85rem 1.2rem; font-size:var(--sm); color:var(--gray-900); }

/* Leadership */
.person { text-align:left; }
.person .avatar { width:64px; height:64px; border-radius:50%; background:var(--navy-800); color:var(--gold-soft); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:1.3rem; margin-bottom:1rem; }
.person .role { font-size:var(--xs); letter-spacing:.14em; text-transform:uppercase; color:var(--gold-strong); font-weight:600; }

/* Note conformité */
.note { background:var(--stone-100); border-left:3px solid var(--gold); padding:1.1rem 1.5rem; font-size:var(--sm); color:var(--stone-700); border-radius:0 3px 3px 0; }

/* Formulaire */
.field { display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.1rem; }
.field label { font-size:var(--sm); font-weight:600; }
.field input, .field textarea, .field select { font-family:var(--sans); font-size:var(--base); background:var(--white); border:1px solid var(--stone-300); border-radius:3px; padding:.75rem 1rem; color:var(--gray-900); outline:none; }
.field input:focus, .field textarea:focus { border-color:var(--navy-600); box-shadow:0 0 0 3px rgba(36,80,124,.12); }

/* CTA band */
.cta-band { background:linear-gradient(160deg,var(--navy-950),var(--navy-800)); color:var(--stone-50); padding:4.2rem 0; }
.cta-band h2 { font-size:var(--xxl); margin-bottom:.7rem; }
.cta-band p { color:rgba(250,249,246,.66); margin-bottom:1.8rem; max-width:60ch; }

/* Footer */
footer { background:var(--navy-950); color:rgba(250,249,246,.64); font-size:var(--sm); padding:3.6rem 0 1.8rem; }
footer .cols { display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem; }
footer h4 { color:var(--stone-50); font-size:var(--sm); margin-bottom:.9rem; font-family:var(--sans); }
footer a { color:rgba(250,249,246,.64); text-decoration:none; display:block; margin-bottom:.5rem; }
footer a:hover { color:var(--gold-soft); }
footer .wordmark-img { width:150px; height:auto; margin-bottom:1rem; }
footer .legal { border-top:1px solid rgba(250,249,246,.12); margin-top:2.4rem; padding-top:1.2rem; font-size:var(--xs); line-height:1.8; }

@media (max-width:820px) {
  .nav .links { display:none; }
  .hero h1 { font-size:2.3rem; }
  footer .cols { grid-template-columns:1fr; }
  .facts .row { grid-template-columns:1fr; }
  .facts .k { padding-bottom:.2rem; }
}
