/* Aurea Keys — design tokens.
   Reconstruits depuis le design system Aurea Keys (tokens/fonts, colors, typography,
   spacing, elevation, motion, base). Les polices sont servies par Google Fonts, comme
   dans le design system (aucun binaire de police n'a été fourni). */
@import url("polices.css");

:root{
  /* --- Encre / near-black (from the logo ground) --- */
  --ak-ink-900:#12100D;--ak-ink-800:#1C1A16;--ak-ink-700:#2A271F;--ak-ink-600:#3D392F;
  /* --- Laiton mat / brass --- */
  --ak-brass-200:#EFDDB8;--ak-brass-300:#E0C58C;--ak-brass-400:#CBA96B;--ak-brass-500:#B08B4F;--ak-brass-600:#8E6E3A;--ak-brass-700:#6B522A;
  /* --- Pierre calcaire / lin écru (neutrals) --- */
  --ak-stone-000:#FFFFFF;--ak-stone-050:#FDFBF7;--ak-stone-100:#FAF7F1;--ak-stone-200:#F3EEE5;--ak-stone-300:#E8E1D4;--ak-stone-400:#D7CDBC;--ak-stone-500:#B9AE9B;--ak-stone-600:#8C8474;--ak-stone-700:#6E675C;
  /* --- Olivier --- */
  --ak-olive-300:#A8B096;--ak-olive-400:#7C8467;--ak-olive-500:#616950;--ak-olive-600:#4A5140;
  /* --- Bois clair --- */
  --ak-wood-300:#DEC5A4;--ak-wood-400:#C7A57C;--ak-wood-500:#A5825C;
  /* --- Terre cuite (reserved for alerts only) --- */
  --ak-clay-400:#C4795C;--ak-clay-500:#9C4A32;
  /* --- Semantic: surfaces --- */
  --surface-page:var(--ak-stone-100);--surface-card:var(--ak-stone-000);--surface-raised:var(--ak-stone-050);--surface-sunken:var(--ak-stone-200);--surface-stone:var(--ak-stone-300);--surface-ink:var(--ak-ink-900);--surface-ink-soft:var(--ak-ink-800);--surface-olive:var(--ak-olive-600);--surface-overlay:rgba(18,16,13,.55);
  /* --- Semantic: text --- */
  --text-display:var(--ak-ink-900);--text-body:var(--ak-ink-700);--text-muted:var(--ak-stone-700);--text-subtle:var(--ak-stone-600);--text-brass:var(--ak-brass-600);--text-on-ink:var(--ak-stone-200);--text-on-ink-muted:rgba(243,238,229,.62);--text-brass-on-ink:var(--ak-brass-300);--text-link:var(--ak-ink-900);--text-link-hover:var(--ak-brass-600);
  /* --- Semantic: lines --- */
  --line-hairline:rgba(18,16,13,.075);--line-soft:rgba(18,16,13,.13);--line-strong:rgba(18,16,13,.32);--line-brass:rgba(176,139,79,.55);--line-on-ink:rgba(243,238,229,.18);
  /* --- Semantic: interactive --- */
  --action-primary:var(--ak-ink-900);--action-primary-hover:var(--ak-ink-700);--action-accent:var(--ak-brass-500);--action-accent-hover:var(--ak-brass-600);--focus-ring:rgba(176,139,79,.45);
  /* --- Semantic: status (used sparingly, in reports) --- */
  --status-ok-bg:#EDF0E7;--status-ok-fg:var(--ak-olive-600);--status-attention-bg:#F7EFDD;--status-attention-fg:var(--ak-brass-700);--status-alert-bg:#F7E8E2;--status-alert-fg:var(--ak-clay-500);--status-neutral-bg:var(--ak-stone-200);--status-neutral-fg:var(--ak-stone-700);
  /* --- Brass gradient: the ONLY gradient in the system, for the mark & rules --- */
  --gradient-brass:linear-gradient(100deg,#8E6E3A 0%,#E0C58C 38%,#B08B4F 62%,#EFDDB8 100%);

  /* Typography */
  --font-display:"Cormorant Garamond","Times New Roman",serif;
  --font-sans:"Jost",-apple-system,"Helvetica Neue",sans-serif;
  --font-body:var(--font-sans);
  --type-display-1:clamp(54px,7.2vw,112px);--type-display-2:clamp(42px,5.2vw,74px);--type-display-3:clamp(32px,3.4vw,50px);
  --type-heading-1:34px;--type-heading-2:26px;--type-heading-3:20px;
  --type-body-lg:19px;--type-body:17px;--type-body-sm:15px;--type-caption:13px;
  /* Les maquettes Accueil fixent micro et eyebrow à 12 px : aucun texte sous 12 px. */
  --type-eyebrow:12px;--type-micro:12px;
  --weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;
  --leading-display:1.02;--leading-heading:1.2;--leading-tight:1.35;--leading-body:1.75;
  --tracking-display:-0.018em;--tracking-body:0.005em;--tracking-eyebrow:0.28em;--tracking-label:0.16em;--tracking-wordmark:0.14em;
  --measure-narrow:34ch;--measure-body:62ch;--measure-wide:78ch;

  /* Spacing */
  --space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--space-80:80px;--space-96:96px;--space-120:120px;--space-160:160px;
  --gutter:24px;--page-max:1320px;--page-narrow:820px;--section-y:clamp(88px,11vw,176px);--card-pad:34px;--card-pad-lg:52px;

  /* Elevation */
  --radius-none:0;--radius-xs:2px;--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-pill:999px;
  --shadow-none:none;--shadow-xs:0 1px 2px rgba(18,16,13,.03);--shadow-sm:0 2px 6px -2px rgba(18,16,13,.08);--shadow-md:0 18px 44px -22px rgba(18,16,13,.16);--shadow-lg:0 40px 96px -44px rgba(18,16,13,.24);--shadow-inset-hairline:inset 0 0 0 1px var(--line-hairline);
  --border-hairline:1px solid var(--line-hairline);--border-soft:1px solid var(--line-soft);--border-brass:1px solid var(--line-brass);
  --blur-veil:saturate(105%) blur(14px);
  --scrim-bottom:linear-gradient(to top,rgba(18,16,13,.72) 0%,rgba(18,16,13,.34) 38%,rgba(18,16,13,0) 78%);
  --scrim-full:linear-gradient(to right,rgba(18,16,13,.62) 0%,rgba(18,16,13,.18) 60%,rgba(18,16,13,0) 100%);

  /* Motion */
  --ease-standard:cubic-bezier(.32,.72,.24,1);--ease-out-soft:cubic-bezier(.16,.84,.28,1);--ease-in-out:cubic-bezier(.5,0,.2,1);
  --duration-instant:90ms;--duration-fast:180ms;--duration-base:280ms;--duration-slow:520ms;--duration-reveal:900ms;
  --transition-ui:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard);
  --transition-media:transform var(--duration-slow) var(--ease-out-soft),opacity var(--duration-slow) var(--ease-out-soft);
}
@media (prefers-reduced-motion:reduce){
  :root{--duration-instant:0ms;--duration-fast:0ms;--duration-base:0ms;--duration-slow:0ms;--duration-reveal:0ms}
}

/* Element defaults (tokens/base.css) */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--type-body);font-weight:var(--weight-light);line-height:var(--leading-body);letter-spacing:var(--tracking-body);text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-light);color:var(--text-display);line-height:var(--leading-heading);letter-spacing:var(--tracking-display);margin:0}
h1{font-size:var(--type-display-2);line-height:var(--leading-display)}
h2{font-size:var(--type-display-3)}
h3{font-size:var(--type-heading-2)}
h4{font-size:var(--type-heading-3)}
p{margin:0 0 1em;max-width:var(--measure-body)}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--line-brass);padding-bottom:1px;transition:var(--transition-ui)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--action-accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}
::selection{background:var(--ak-brass-200);color:var(--ak-ink-900)}
strong{font-weight:var(--weight-medium)}
hr{border:none;border-top:1px solid var(--line-hairline);margin:var(--space-40) 0}

/* Eyebrow / letterspaced caps label — the brand's signature small type. */
.ak-eyebrow{font-family:var(--font-sans);font-size:var(--type-eyebrow);font-weight:var(--weight-regular);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}

/* Photography placeholder. No brand photography was supplied; every image slot renders
   this warm limestone field until real files are dropped in. */
.ak-photo{position:relative;overflow:hidden;background:var(--ak-stone-300);background-image:linear-gradient(150deg,rgba(255,255,255,.55),rgba(199,165,124,.28) 52%,rgba(110,103,92,.22));display:flex;align-items:flex-end;justify-content:flex-start}
.ak-photo::after{content:attr(data-label);position:absolute;left:12px;bottom:10px;font-family:var(--font-sans);font-size:var(--type-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:rgba(18,16,13,.42)}
.ak-rule-brass{height:1px;border:none;background:var(--gradient-brass);opacity:.85;margin:0}
