/* Ateliers Unité — colors and editorial rhythm drawn from the supplied poster. */
.cp-ateliers-page { --au-cream: #fbf4e7; --au-paper: #f2e5cb; --au-forest: #193529; --au-gold: #a6630c; --au-light-gold: #e9bd70; --au-plum: #63364d; --au-ink: #302b25; --au-line: #ddc49b; }
.cp-ateliers-page .cp-main { background: var(--au-cream); color: var(--au-ink); }
.cp-ateliers-page .cp-menu a[aria-current] { color: #926010; }
.cp-ateliers-page .cp-menu a[aria-current]::after { background: #a6630c; }
.au-wrap { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.au-section { padding-block: clamp(64px, 7vw, 110px); }
.au-eyebrow { margin: 0 0 20px; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--au-gold); }
.au-heading { margin: 0 0 28px; max-width: 760px; font-family: Fraunces, Georgia, serif; font-size: clamp(2rem, 3.4vw, 3.2rem); font-weight: 400; line-height: 1.13; letter-spacing: -.035em; color: var(--au-forest); }
.au-star { color: var(--au-gold); font-size: 3.4rem; line-height: 1; }
.au-actions { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; margin-top: 34px; }
.au-button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 52px; padding: 15px 24px; border: 1px solid transparent; border-radius: 4px; color: #fff; background: var(--au-gold); font-size: .93rem; font-weight: 600; line-height: 1.45; text-decoration: none; transition: background .2s, transform .2s; }
.au-button:hover { background: #81500c; color: #fff; transform: translateY(-2px); }
.au-button--outline { border-color: var(--au-gold); background: transparent; color: var(--au-gold); }
.au-text-link { display: inline-block; color: var(--au-forest); text-decoration: underline; text-underline-offset: 6px; font-size: .93rem; font-weight: 600; }
.au-text-link:hover { color: var(--au-gold); }
.cp-ateliers-page :is(.au-button, .au-text-link, .au-journey a, .au-breadcrumb a, .au-hosts a):focus-visible { outline: 3px solid #bb7415; outline-offset: 5px; }
.au-hero { overflow: hidden; background: var(--teal-deep, #1e6c69); color: #f9f0dd; }
.au-hero__grid { display: grid; grid-template-columns: 1fr 1.12fr; gap: 64px; align-items: center; padding-block: 76px 72px; }
.au-hero .au-eyebrow { color: #e9bd70; }
.au-hero h1 { color: #fff5e3; margin: 0 0 25px; font: 400 clamp(2.5rem, 4vw, 4rem)/1.1 Fraunces, Georgia, serif; letter-spacing: -.04em; }
.au-hero h1 em { display: block; color: #ebbe72; font-size: clamp(5rem, 8vw, 8rem); font-weight: 300; line-height: 1.1; }
.au-hero__lead { margin-bottom: 16px; font: 400 clamp(1.25rem, 1.7vw, 1.65rem)/1.5 Fraunces, Georgia, serif; }
.au-hero__intro { max-width: 390px; color: #dddacb; }
.au-hero .au-text-link { color: #f4dab1; }
.au-hero__art { margin: 0; padding: 12px; border: 1px solid #b692536b; border-radius: 220px 220px 8px 8px; }
.au-hero__art img { display: block; width: 100%; height: auto; border-radius: 210px 210px 3px 3px; }
.au-hero__art figcaption { padding: 18px 12px 9px; font-size: .79rem; text-align: center; color: #ead9bc; }
.au-values { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 32px; border-top: 1px solid #ead0a030; padding: 24px; font-size: .76rem; letter-spacing: .11em; text-transform: uppercase; }
.au-values span:nth-child(even) { color: #dfb66c; font-size: 1.3rem; }
.au-intro__grid { display: grid; grid-template-columns: 1fr 1.12fr; gap: 90px; }
.au-prose { font-size: 1.04rem; line-height: 1.85; }
.au-prose p { margin: 0 0 22px; }
.au-lead { font-family: Fraunces, Georgia, serif; font-size: 1.45rem; line-height: 1.6; color: var(--au-plum); }
.au-prose h3 { margin: 36px 0 18px; color: var(--au-forest); font: 400 1.75rem/1.25 Fraunces, Georgia, serif; }
.au-prose ul { padding-left: 22px; }
.au-prose li { padding: 6px 0 6px 8px; }
.au-prose li::marker { color: var(--au-gold); }
.au-programme { background: linear-gradient(120deg, #f3e5cc, #fcf7ee); border-block: 1px solid var(--au-line); }
.au-section-top { display: flex; justify-content: space-between; gap: 32px; align-items: center; margin-bottom: 24px; }
.au-journey { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--au-line); }
.au-journey__item { display: grid; grid-template-columns: 82px minmax(0, 1fr) 185px 48px; gap: 30px; align-items: center; padding: 32px 10px; border-bottom: 1px solid var(--au-line); }
.au-journey__number { color: #aa763c; font: 300 3.6rem/1 Fraunces, Georgia, serif; }
.au-journey h3 { font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.2 Fraunces, Georgia, serif; margin: 0 0 8px; }
.au-journey h3 a { color: var(--au-forest); text-decoration: none; }
.au-journey h3 a:hover { color: var(--au-gold); }
.au-journey p { margin: 0; color: #5e5142; }
.au-date { border: 1px solid #b98134; border-radius: 7px; padding: 14px; text-align: center; color: #fff7e8; background: linear-gradient(120deg, #9a5b09, #b37412); font: 400 1.4rem/1.3 Fraunces, Georgia, serif; }
.au-date small { display: block; font-size: 1rem; margin-top: 4px; }
.au-journey__arrow { width: 44px; height: 44px; display: grid; place-items: center; font-size: 1.5rem; border: 1px solid #c6aa7f; border-radius: 50%; text-decoration: none; color: var(--au-forest); }
.au-journey__arrow:hover { color: white; background: var(--au-forest); }
.au-journey__item.is-current { background: #fffaf0; }
.au-hosts { color: #e7e3d7; background: #193529; }
.au-hosts__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 76px; align-items: center; }
.au-hosts .au-heading { color: #fff3dc; }
.au-hosts .au-eyebrow { color: #e9bd70; }
.au-hosts__portrait { margin: 0; min-width: 0; }
.au-hosts__photo { aspect-ratio: 1.45 / 1; overflow: hidden; border: 1px solid #9c7945; border-radius: 100px 100px 5px 5px; }
.au-hosts__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.au-hosts__portrait figcaption { padding-top: 20px; text-align: center; font-size: .85rem; }
.au-hosts__portrait a { color: #ead2a4; text-underline-offset: 5px; }
.au-hosts__bio { border-bottom: 1px solid #e0c48a36; padding-bottom: 14px; margin-bottom: 24px; }
.au-hosts__bio h3 { color: #ecc995; font: 400 1.65rem/1.3 Fraunces, Georgia, serif; margin: 0 0 12px; }
.au-hosts p { line-height: 1.8; }
.au-tickets__heading { text-align: center; margin-bottom: 46px; }
.au-tickets__heading .au-heading { margin-inline: auto; }
.au-prices { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 950px; margin-inline: auto; align-items: stretch; }
.au-price { display: flex; flex-direction: column; padding: 44px; border: 1px solid var(--au-line); border-radius: 8px; background: #fffcf6; }
.au-price h3 { color: var(--au-forest); font: 400 1.7rem/1.2 Fraunces, Georgia, serif; margin: 0 0 25px; }
.au-price__amount { color: var(--au-gold); font: 400 3.8rem/1.15 Fraunces, Georgia, serif; margin: 0 0 24px; }
.au-price__amount small { display: block; margin-top: 8px; color: #635645; font: 400 .8rem/1.5 Figtree, sans-serif; }
.au-price .au-button { margin-top: auto; }
.au-price > p:not(.au-price__amount) { margin-bottom: 28px; }
.au-price--complete { background: #f0e0c3; border-color: #ac7935; }
.au-price--complete .au-eyebrow { margin-bottom: 16px !important; font-size: .67rem; }
.au-ticket-note { text-align: center; margin: 28px auto 0; max-width: 670px; font-size: .84rem; color: #695c4b; }
.au-event-hero { padding: 80px 0 0; background: linear-gradient(135deg, #f7eddb, #fffaf0); }
.au-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; color: #6b5c4b; font-size: .86rem; margin-bottom: 50px; }
.au-breadcrumb a { color: var(--au-gold); text-underline-offset: 4px; }
.au-event-hero__heading { display: flex; justify-content: space-between; gap: 40px; align-items: center; padding-bottom: 36px; }
.au-event-hero h1 { color: var(--au-forest); font: 400 clamp(3rem, 6.5vw, 6rem)/1.1 Fraunces, Georgia, serif; margin: 0 0 16px; letter-spacing: -.05em; overflow-wrap: anywhere; }
.au-event-hero__tagline { margin: 0; color: var(--au-plum); font: 400 1.35rem/1.5 Fraunces, Georgia, serif; }
.au-event-hero__date { flex-shrink: 0; border-left: 1px solid var(--au-line); padding-left: 36px; color: var(--au-gold); font: 400 1.7rem/1.4 Fraunces, Georgia, serif; }
.au-event-hero__date span { display: block; font: 400 .85rem/2 Figtree, sans-serif; color: #695b47; }
.au-event-cover { width: 100%; height: auto; display: block; border-radius: 6px; border: 1px solid var(--au-line); }
.au-event-body__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 84px; align-items: start; }
.au-booking { padding: 30px; border: 1px solid var(--au-line); border-radius: 6px; background: #f3e7d0; }
.au-booking h2 { margin: 0 0 24px; color: var(--au-forest); font: 400 2rem/1.2 Fraunces, Georgia, serif; }
.au-booking dl { margin: 0 0 26px; }
.au-booking dl > div { padding: 17px 0; border-top: 1px solid #ddcba9; }
.au-booking dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; color: #775923; margin-bottom: 8px; }
.au-booking dd { margin: 0; font-size: .95rem; line-height: 1.7; }
.au-booking dd p { margin: 0; }
.au-booking .au-button { width: 100%; font-size: .87rem; padding-inline: 12px; }
.au-booking .au-text-link { display: block; text-align: center; margin-top: 22px; font-size: .84rem; }
.au-booking__series { display: block; margin-top: 24px; text-align: center; color: #615036; font-size: .81rem; text-underline-offset: 4px; }
.au-booking__notice { padding: 16px; background: #fff9ec; border-left: 3px solid var(--au-gold); font-size: .9rem; line-height: 1.7; }
.au-next-step { border-left: 2px solid var(--au-gold); padding-left: 26px; margin-top: 42px; }
@media (max-width: 1000px) {
    .au-hero__grid, .au-intro__grid, .au-hosts__grid { gap: 40px; }
    .au-event-body__grid { gap: 38px; grid-template-columns: minmax(0, 1fr) 300px; }
    .au-journey__item { grid-template-columns: 52px minmax(0, 1fr) 155px 42px; gap: 20px; }
    .au-journey__number { font-size: 2.7rem; }
    .au-price { padding: 30px; }
}
@media (max-width: 740px) {
    .au-wrap { width: calc(100% - 40px); }
    .au-hero__grid, .au-intro__grid, .au-hosts__grid, .au-prices, .au-event-body__grid { grid-template-columns: 1fr; }
    .au-hero__grid { padding-block: 50px 40px; gap: 42px; }
    .au-hero__art { max-width: 520px; justify-self: center; }
    .au-hero__copy { max-width: 530px; }
    .au-values { gap: 14px; font-size: .61rem; letter-spacing: .06em; }
    .au-intro__grid { gap: 24px; }
    .au-intro .au-star { display: none; }
    .au-journey__item { grid-template-columns: 35px minmax(0, 1fr) 42px; padding: 26px 0; gap: 14px; }
    .au-journey__copy { grid-column: 2 / 4; }
    .au-journey__number { font-size: 2rem; align-self: start; }
    .au-journey p { font-size: .94rem; }
    .au-date { grid-column: 2; text-align: left; width: fit-content; padding: 8px 14px; font: 400 1rem/1.5 Figtree, sans-serif; }
    .au-date small { display: inline; font-size: inherit; margin-left: 5px; }
    .au-journey__arrow { grid-column: 3; }
    .au-hosts__portrait { max-width: 500px; }
    .au-event-hero__heading { display: block; }
    .au-event-hero { padding-top: 28px; }
    .au-event-hero__date { display: block; border: 0; padding: 0; margin-top: 24px; font-size: 1.45rem; }
    .au-event-hero__date span { display: inline; margin-left: 12px; }
    .au-breadcrumb { margin-bottom: 32px; }
    .au-booking { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .au-button { transition: none; } .au-button:hover { transform: none; } }
