/* site.css — feuille unique du site (ancien styles.css + tokens/*.css + responsive.css, même ordre) */

/* Polices auto-hébergées : Lora 400/600/700, Work Sans 400–700 (latin, latin-ext) */
/* latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-latin-ext-0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-latin-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/lora-latin-ext-0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/lora-latin-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-latin-ext-0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-latin-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/worksans-latin-ext-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/worksans-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/worksans-latin-ext-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/worksans-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/worksans-latin-ext-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/worksans-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/worksans-latin-ext-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/worksans-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* tokens/colors.css */
:root {
  /* ---- Oak (warm neutral — wood, background, paper) ---- */
  --oak-50:  #FBF8F3;
  --oak-100: #F4ECE0;
  --oak-150: #EBDFCC;
  --oak-200: #E0CFB2;
  --oak-300: #C9AC80;
  --oak-400: #AD8B5F;
  --oak-500: #8C7154;
  --oak-600: #6E5940;
  --oak-700: #4C3F30;
  --oak-800: #332A20;
  --oak-900: #211B15;

  /* ---- Slate (cool neutral — driftwood, ink, text) ---- */
  --slate-50:  #F5F6F4;
  --slate-100: #E8EAE6;
  --slate-200: #CDD1C9;
  --slate-300: #A9AFA3;
  --slate-400: #838B7E;
  --slate-500: #626A5F;
  --slate-600: #4A5147;
  --slate-700: #383D34;
  --slate-800: #262A24;
  --slate-900: #181B16;

  /* ---- Sage (brand accent — health, fresh, plant) ---- */
  --sage-100: #E4E9DA;
  --sage-200: #C6D2B3;
  --sage-300: #A2B586;
  --sage-400: #7F9962;
  --sage-500: #5F7A46;
  --sage-600: #4A6136;
  --sage-700: #384A29;

  /* ---- Terracotta (secondary accent — warmth, appetite) ---- */
  --terracotta-100: #F3DCCC;
  --terracotta-300: #D9946A;
  --terracotta-500: #B5583B;
  --terracotta-600: #93442C;

  /* ---- Semantic — surfaces ---- */
  --bg-page:        var(--oak-50);
  --bg-surface:     #FFFFFF;
  --bg-surface-alt: var(--oak-100);
  --bg-sunken:      var(--oak-150);
  --bg-inverse:     var(--slate-800);

  /* ---- Semantic — text ---- */
  --text-primary:   var(--slate-800);
  --text-secondary: var(--slate-500);
  --text-muted:     var(--slate-400);
  --text-inverse:   var(--oak-50);
  --text-link:      var(--sage-600);
  --text-link-hover: var(--sage-700);

  /* ---- Semantic — brand / actions ---- */
  --brand-primary:       var(--sage-600);
  --brand-primary-hover: var(--sage-700);
  --brand-primary-press: var(--sage-700);
  --brand-on-primary:    #FFFFFF;
  --brand-secondary:      var(--oak-500);
  --brand-secondary-hover: var(--oak-600);
  --accent-warm:  var(--terracotta-500);
  --accent-warm-hover: var(--terracotta-600);

  /* ---- Semantic — borders ---- */
  --border-subtle: var(--oak-150);
  --border-default: var(--oak-200);
  --border-strong: var(--slate-300);
  --border-focus: var(--sage-500);

  /* ---- Semantic — feedback ---- */
  --success: #5F7A46;
  --success-bg: #E4E9DA;
  --warning: #B5793B;
  --warning-bg: #F3E7CC;
  --danger:  #A24334;
  --danger-bg: #F4E0DA;
  --info: #4A6E7A;
  --info-bg: #DEE9EB;

  /* ---- Social / dark-surface palette (confirmed exact brand values,
     from client's Instagram post template) ---- */
  --social-bg: #000000;
  --social-beige: #BCAB99;
  --social-gray: #B4B4B4;
}

/* tokens/typography.css */
:root {
  --font-serif: 'Lora', 'Iowan Old Style', Georgia, serif;
  --font-sans: 'Work Sans', 'Helvetica Neue', Arial, sans-serif;

  /* Real brand faces (from confirmed Instagram template) — see tokens/fonts.css for substitution notes */
  --font-display: 'Archivo Black', 'Work Sans', sans-serif;   /* stand-in for "Hertical" — flagged */
  --font-script: 'Courgette', cursive;                         /* real match — "Courgette" */
  --font-signature: 'Caveat', cursive;                         /* stand-in for "Ballpoint" — flagged */

  /* Scale — 1.2x-ish modular, tuned by hand */
  --text-xs:   0.75rem;   /* 12px — captions, eyebrow labels */
  --text-sm:   0.875rem;  /* 14px — meta, tags */
  --text-base: 1rem;      /* 16px — body */
  --text-md:   1.125rem;  /* 18px — lede, larger body */
  --text-lg:   1.375rem;  /* 22px — card titles */
  --text-xl:   1.75rem;   /* 28px — section titles */
  --text-2xl:  2.25rem;   /* 36px — page titles */
  --text-3xl:  2.875rem;  /* 46px — hero, deck titles */
  --text-4xl:  3.75rem;   /* 60px — big statements */

  --leading-tight: 1.15;
  --leading-snug: 1.35;
  --leading-normal: 1.55;
  --leading-relaxed: 1.75;

  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-wide: 0.06em;
  --tracking-widest: 0.14em;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
}

/* tokens/spacing.css */
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  --container-max: 1180px;
  --container-narrow: 720px;
}

/* tokens/effects.css */
:root {
  /* Radii — soft, hand-finished, never sharp or pill-everything */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 999px;

  /* Shadows — soft, low-contrast, warm-tinted (never pure black) */
  --shadow-xs: 0 1px 2px rgba(51, 42, 32, 0.06);
  --shadow-sm: 0 2px 6px rgba(51, 42, 32, 0.08);
  --shadow-md: 0 8px 24px rgba(51, 42, 32, 0.10);
  --shadow-lg: 0 20px 48px rgba(51, 42, 32, 0.14);

  --border-width: 1px;

  /* Motion — calm, no bounce; nature moves gently */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --ease-out: cubic-bezier(0.2, 0.6, 0.3, 1); /* @kind other */
  --duration-fast: 120ms; /* @kind other */
  --duration-base: 200ms; /* @kind other */
  --duration-slow: 360ms; /* @kind other */
}

/* tokens/base.css */
html, body {
  background: var(--bg-page);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
  font-family: var(--font-serif);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--text-primary);
  margin: 0;
}

a { color: var(--text-link); text-decoration: none; }
a:hover { color: var(--text-link-hover); text-decoration: underline; }

* { box-sizing: border-box; }

/* responsive.css */
/* Adaptations tablette et mobile uniquement — l'affichage ordinateur (>= 1024px) n'est pas modifié. */
@media (max-width:1023px){
.aj-tarif-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.aj-tarif-cell{height:auto!important}
.aj-tarif-card{position:static!important;width:100%!important;height:100%!important;margin-left:0!important;opacity:1!important;box-shadow:var(--shadow-xs)!important}
.aj-tarif-desc{max-height:none!important;opacity:1!important;margin-top:16px!important}
.aj-reasons-wrap{flex-direction:column}
.aj-reasons-text{max-width:none!important}
.aj-reasons-card{position:static!important;transform:none!important;max-width:none!important;width:100%;box-sizing:border-box}
}
@media (max-width:759px){
.aj-header-inner{padding:12px 16px!important;overflow:visible!important;gap:12px!important}
.aj-nav{display:none!important}
.aj-nav.aj-open{display:flex!important;flex-direction:column;position:absolute;top:100%;left:0;right:0;gap:0!important;background:#FBF8F3;border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-md);padding:4px 16px}
.aj-nav.aj-open a{padding:14px 0;font-size:var(--text-md)!important;border-bottom:1px solid var(--border-subtle)}
.aj-nav.aj-open a:last-child{border-bottom:0}
.aj-header-cta{margin-left:auto}
.aj-burger{display:flex!important}
.aj-hero-grid{grid-template-columns:1fr!important;padding:32px 16px 48px!important;gap:28px!important}
.aj-hero-grid>*{min-width:0}
.aj-hero-h1,.aj-page-h1,.aj-wrap{overflow-wrap:break-word}
.aj-hero-photo{order:-1;width:100%;max-width:280px;margin:0 auto}
.aj-hero-h1{font-size:var(--text-3xl)!important}
.aj-about-grid{display:block!important;padding:32px 16px!important}
.aj-about-spacer{display:none}
.aj-about-bg{left:16px!important;right:16px;width:auto!important;top:32px!important;bottom:32px!important;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0))!important;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0))!important}
.aj-icons{flex-wrap:wrap;gap:32px 24px;justify-content:center!important;padding:32px 16px 64px!important}
.aj-wrap{white-space:normal!important}
.aj-steps{flex-wrap:wrap;gap:32px 24px;justify-content:center!important}
.aj-reason-item{width:auto!important;flex:1 1 0;min-width:0}
.aj-where-row{flex-wrap:wrap;justify-content:center}
.aj-where-card{order:-1;flex:1 1 100%!important;min-width:0;padding:16px!important;box-sizing:border-box}
.aj-where-inner{gap:16px!important}
.aj-where-addr{width:100%!important;height:auto!important;min-height:180px}
.aj-where-map{min-width:0!important;width:100%;flex:1 1 100%!important;height:240px!important}
.aj-contact-row{flex-direction:column;gap:24px}
.aj-contact-logo{width:120px!important;height:120px!important}
.aj-contact-text{padding-right:0!important}
.aj-footer-inner{flex-direction:column;align-items:center!important;text-align:center}
.aj-footer-nav{flex-wrap:wrap;justify-content:center;gap:12px 20px!important}
.aj-page-h1{font-size:var(--text-2xl)!important}
.aj-consult-card{width:calc(100% - 12px)!important;padding:20px!important;box-sizing:border-box}
.aj-tarif-grid{grid-template-columns:1fr!important;padding:16px 16px 64px!important}
.aj-blog-grid,.aj-two-col{grid-template-columns:1fr!important;gap:24px!important;padding:32px 16px 64px!important}
}
@media (max-width:420px){
.aj-hero-h1{font-size:var(--text-2xl)!important}
.aj-page-h1,.aj-wrap{font-size:var(--text-xl)!important}
}
