/* Une palette de papier, d'encre brune et de rose ancien, commune aux ateliers et aux stages. */
:root {
  --cream: #fbf7f1;
  --paper: #fffcf8;
  --ink: #40332f;
  --muted: #70615d;
  --rose: #a2636b;
  --line: #e4d8ce;
  --sage: #f2e5df;
  --sage-deep: #9b7363;
  --serif: 'Iowan Old Style', Baskerville, 'Palatino Linotype', 'Book Antiqua', P052, Georgia, serif;
  --sans: 'Avenir Next', Avenir, 'Segoe UI', sans-serif;
}

body { background: var(--cream); }
.wordmark { letter-spacing: -.035em; font-size: 25px; }
.wordmark small { letter-spacing: .19em; }
.wordmark-mark, .practical-mark { color: var(--rose); }
.nav { color: #51413e; }
.nav-cta:hover, .button-dark { background: var(--ink); color: #fffaf5; }
.button-dark:hover { background: #604a45; }

h1, h2 { letter-spacing: -.047em; }
h1 { font-size: clamp(46px, 4.55vw, 68px); line-height: 1.18; font-weight: 400; letter-spacing: -.035em; }
.eyebrow { color: #95635f; }
.hero-lead { color: #675a56; }
.hero-signature { color: #8a716d; }
.hero { grid-template-columns: minmax(0, 55%) minmax(0, 45%); gap: 30px; min-height: 610px; padding-top: 45px; padding-bottom: 75px; }
.hero h1 { margin: 28px 0 25px; max-width: 670px; }
.hero h1 span { display: block; }
.hero-visual { width: min(100%, 400px); margin: 0 auto; }
.hero-visual img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 50%; border: 1px solid #e7dcd3; }
.hero-visual figcaption { display: flex; justify-content: space-between; gap: 15px; padding-top: 12px; color: #856d66; font-family: var(--serif); font-style: italic; font-size: 14px; }
.hero-visual figcaption span { font-family: var(--sans); font-size: 10px; letter-spacing: .12em; font-style: normal; text-transform: uppercase; }

.offer { background: #fffbf6; border-top-color: #eee2d9; }
.section-heading > p, .card-description, .practical p { color: #71645e; }
.card { background: #f6ebe4; border-color: #eadbd2; }
.card-weekend { background: #f4ede2; border-color: #e9dfd0; }
.card-icon, .card-weekend .card-icon { color: #a8756b; }
.badge, .card-weekend .badge { border-color: #bea79d; color: #805a55; }
.card-eyebrow { color: #8a6a61; }
.facts { border-color: #decbc1; }
.facts dt { color: #826f68; }
.facts dd, .choose { color: #493936; }
.card-bottom small { color: #796863; }
.choose:hover, .schedule-action button:hover { color: var(--rose); }
.practical { border-color: var(--line); }

.schedule-date { background: #eee0d9; color: #664541; }
.theme-pastels .schedule-date { background: #eedbdc; color: #794e5c; }
.theme-dessin .schedule-date { background: #efe5d6; color: #77604c; }
.schedule-weekdays { color: #9b6665; }
.schedule-info p, .schedule-status { color: #7f6d66; }
.schedule-action button, .schedule-photo-link::after { color: #493936; }
.schedule-photo-link::after { background: #fffcf8; }

.contact { background: #f0e1db; }
.contact-intro > p:not(.eyebrow), .contact-person span { color: #775f59; }
.contact-stamp { color: #ae7770; }
.form-shell { box-shadow: 0 15px 35px #72534b16; }
.form-shell input, .form-shell select, .form-shell textarea { background: #fffaf6; border-color: #e4d5cd; }
.form-shell select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%2340332f'/%3E%3C/svg%3E"); }
.form-hint, .optional, .result p, .footer { color: #756761; }
.button-outline:hover { background: #f5e8e1; }
.footer { background: var(--cream); }

/* Les pages de stage reprennent les mêmes teintes et la même typographie. */
.stage-back, .stage-intro, .stage-overview-copy > p:not(.eyebrow) { color: #705d57; }
.stage-image-wrap { background: #f1e6df; box-shadow: 14px 18px 30px #64473b20; }
.stage-overview { background: #fffcf8; }
.stage-overview li { color: #594641; border-color: #e8d9cf; }
.stage-facts { background: #f3e7df; }
.stage-facts > div { border-color: #dfc9be; }
.stage-facts span, .stage-note, .stage-date-info p { color: #7f6b63; }
.stage-facts strong, .stage-dates-heading > a, .stage-date-row > a { color: #4b3935; }
.stage-date-badge { background: #efdfd7; color: #6a4844; }
.stage-date-info span { color: #a16765; }

@media (max-width: 760px) {
  .wordmark { font-size: 21px; }
  .hero { display: flex; flex-direction: column; align-items: stretch; gap: 34px; min-height: 0; padding-top: 40px; padding-bottom: 66px; }
  .hero h1 { font-size: clamp(43px, 8vw, 58px); margin: 26px 0 23px; }
  .hero-visual { width: min(100%, 440px); }
}
@media (max-width: 450px) {
  .hero h1 { font-size: clamp(39px, 10.5vw, 46px); }
}
