.home-page { overflow: clip; }
.home-page .section { position: relative; }
.home-hero { padding-top: 0; background: var(--color-parchment); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; width: min(100%, calc(var(--container-max) + (var(--container-padding) * 2))); margin-inline: auto; padding-inline: var(--container-padding); align-items: center; }
.home-hero__copy { grid-column: 1; min-width: 0; max-width: 35rem; display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.home-hero__media { grid-column: 2; grid-row: 1; min-width: 0; width: 100%; margin: 32px 0 0; position: relative; border-color: var(--color-oak); }
.home-hero__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; filter: saturate(.86) sepia(.05); transition: filter var(--transition-base), transform var(--transition-base); }
.home-hero__caption { position: absolute; right: 24px; bottom: -24px; max-width: 16rem; margin: 0; padding: 12px 16px; border: var(--border); background: var(--color-cream); color: var(--color-ink); font-size: var(--text-small); }
.home-hero__clarification { max-width: 32rem; }
.home-hero__actions { display: flex; min-width: 0; flex-wrap: wrap; gap: 12px; width: 100%; }
.home-hero__actions > * { min-width: 0; }
@media (hover: hover) and (pointer: fine) { .home-hero__media:hover img { filter: saturate(.95) sepia(.02) brightness(1.04); transform: scale(1.02); } }

.home-agency__intro-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 2fr) minmax(0, 3fr); gap: 24px; align-items: start; }
.home-agency__intro { grid-column: 1; min-width: 0; max-width: 42.5rem; padding-left: 20px; border-left: 2px solid var(--color-cognac); }
.home-agency__note { grid-column: 3; min-width: 0; margin-top: 48px; padding: 24px; }
.home-agency__note ul { margin: 0; padding-left: 1.1rem; }
.home-agency__note li + li { margin-top: 8px; }
.home-agency__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
.home-scope-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 0; height: 100%; }
.home-scope-card > a { margin-top: auto; padding-top: 12px; }
.home-scope-card__eyebrow--burgundy { color: var(--color-burgundy); }

.home-formats__intro { max-width: 45rem; }
.home-formats__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
.home-format-card { min-width: 0; display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.home-format-card--visual { grid-column: span 6; }
.home-format-card--text { grid-column: span 4; }
.home-format-card__image { position: relative; min-width: 0; width: 100%; margin: 0; border: 0; border-bottom: var(--border); }
.home-format-card__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.84) sepia(.05); transition: transform var(--transition-base), filter var(--transition-base); }
.home-format-card__cue { position: absolute; inset: auto 12px 12px; padding: 8px 10px; background: rgb(41 37 31 / 82%); color: var(--color-cream); font-size: var(--text-small); line-height: 1.35; opacity: 0; transform: translateY(4px); transition: opacity var(--transition-fast), transform var(--transition-fast); }
.home-format-card:focus .home-format-card__cue, .home-format-card:hover .home-format-card__cue { opacity: 1; transform: translateY(0); }
.home-format-card:focus .home-format-card__image img, .home-format-card:hover .home-format-card__image img { transform: scale(1.02); filter: saturate(.95) brightness(1.03); }
.home-format-card__content { min-width: 0; display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 0; padding: 24px; }
.home-format-card__content > a { margin-top: auto; padding-top: 12px; }
.home-format-card__eyebrow--burgundy { color: var(--color-burgundy); }
.home-formats__programme-note { grid-column: span 4; min-width: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 24px; border-top: 1px solid var(--color-oak); border-bottom: 1px solid var(--color-oak); color: var(--color-muted); }
.home-formats__programme-note span { color: var(--color-cognac); font-size: 2.25rem; line-height: 1; }
.home-formats__programme-note p { margin: 12px 0 0; font-family: var(--font-display); font-size: 1.6rem; line-height: 1.1; }
.home-poker-feature { grid-column: 1 / -1; min-width: 0; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); padding: 0; overflow: hidden; background: var(--color-cream); }
.home-poker-feature__illustration { min-width: 0; min-height: 24rem; display: flex; align-items: center; justify-content: center; gap: 24px; position: relative; overflow: hidden; background: var(--color-forest); color: var(--color-oak); font-size: clamp(3rem, 7vw, 6rem); }
.home-poker-feature__illustration > span { position: relative; z-index: 1; }
.home-poker-feature__table-arc { position: absolute; width: 120%; aspect-ratio: 1; border: 2px solid rgb(250 245 234 / 35%); border-radius: 50%; transform: translateY(38%); }
.home-poker-feature__content { min-width: 0; max-width: 35rem; display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding: 32px; }
.home-poker-feature__list { margin-bottom: 24px; }
.home-poker-feature__list li + li { margin-top: 8px; }

.home-poker-band__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; align-items: stretch; }
.home-poker-band__copy { min-width: 0; max-width: 36rem; }
.home-poker-band__checklist { margin-bottom: 24px; padding: 0; list-style: none; }
.home-poker-band__checklist li { padding: 12px 0; border-top: var(--border-dark); }
.home-poker-band__checklist li:last-child { border-bottom: var(--border-dark); }
.home-poker-band__motif-panel { min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 24px; min-height: 29rem; padding: 40px; border-color: rgb(250 245 234 / 35%); background: rgb(250 245 234 / 4%); }
.home-poker-band__motif { display: flex; justify-content: space-between; color: var(--color-oak); font-size: clamp(3rem, 8vw, 7rem); line-height: 1; opacity: .75; }
.home-poker-band__motif-panel blockquote { margin: 0; border-color: var(--color-oak); }
.home-poker-band__motif-panel p { max-width: 36rem; margin: 0; }

.home-process__intro { max-width: 42.5rem; }
.home-process__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
.home-process__step { min-width: 0; padding-top: 16px; border-top: 1px solid var(--color-line); transition: border-color var(--transition-base); }
.home-process__step:hover { border-color: var(--color-cognac); }
.home-process__number { margin-bottom: 16px; color: var(--color-cognac); font-family: var(--font-display); font-size: 3.25rem; line-height: 1; }
.home-process__link { display: inline-block; margin-top: 32px; }

.home-dining { padding-block: var(--section-space); }
.home-dining__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr) minmax(0, 2fr); gap: 24px; align-items: start; }
.home-dining__media { grid-column: 1; min-width: 0; width: 100%; margin: 0; }
.home-dining__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; filter: saturate(.85) sepia(.05); }
.home-dining__story { grid-column: 2; min-width: 0; max-width: 38.75rem; }
.home-dining__detail { grid-column: 3; min-width: 0; margin-top: 48px; padding: 24px; }
.home-dining__prompts { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 24px; }
.home-dining__prompts > div { min-width: 0; padding-top: 12px; border-top: 1px solid var(--color-line); }
.home-dining__prompts span { display: block; color: var(--color-forest); font-size: var(--text-small); font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.home-dining__prompts p { margin: 4px 0 0; }

.home-faq__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); gap: 24px; align-items: start; }
.home-faq__intro { grid-column: 1 / span 2; min-width: 0; max-width: 42rem; }
.home-faq__note { grid-column: 3; min-width: 0; padding: 24px; }
.home-faq__note p { margin: 0; }
.home-faq__accordion { width: min(100%, 53rem); margin-top: 40px; }
.home-faq__accordion details { margin: 0; border-top: var(--border); }
.home-faq__accordion details:last-child { border-bottom: var(--border); }
.home-faq__accordion summary { min-height: 56px; display: flex; align-items: center; padding: 14px 40px 14px 0; position: relative; color: var(--color-ink); font-weight: 600; list-style: none; }
.home-faq__accordion summary::-webkit-details-marker { display: none; }
.home-faq__accordion summary::after { content: "+"; position: absolute; right: 4px; color: var(--color-cognac); font-size: 1.5rem; font-weight: 400; }
.home-faq__accordion details[open] summary::after { content: "−"; }
.home-faq__answer { max-width: 42.5rem; overflow: hidden; }
.home-faq__answer p { margin: 0; padding: 0 0 20px; }
.home-faq__link { display: inline-block; margin-top: 24px; }

.home-cta__inner { max-width: 47.5rem; margin-inline: auto; padding: 48px; border-color: rgb(250 245 234 / 35%); text-align: center; }
.home-cta__inner h2, .home-cta__inner p { margin-left: auto; margin-right: auto; }
.home-cta__inner p { max-width: 40rem; }
.home-cta__helper { color: var(--color-oak); }
.home-cta__inner .button-link { margin-top: 8px; }

.home-consultation__frame { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: stretch; background: var(--color-parchment); }
.home-consultation__intro { min-width: 0; max-width: 31.25rem; padding: 40px; }
.home-consultation__form-panel { min-width: 0; padding: 40px; border-radius: 0; }
.home-consultation__form { display: flex; flex-direction: column; gap: 24px; }
.home-consultation__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.home-consultation__fields > * { min-width: 0; }
.home-consultation__field--full { grid-column: 1 / -1; }
.home-consultation__consent { min-width: 0; }
.home-consultation__consent label { display: flex; align-items: flex-start; gap: 8px; font-size: var(--text-small); line-height: 1.45; }
.home-consultation__consent input { margin-top: 2px; }
.home-consultation__status { min-height: 1.4em; margin: 0; color: var(--color-muted); font-size: var(--text-small); }
.home-consultation__success { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.home-consultation__success h3, .home-consultation__success p { margin: 0; }
.home-consultation__success .button { margin-top: 16px; }
.home-consultation .form-error:not(:empty) { margin-top: 4px; }

.home-closing { padding: var(--section-space) 0; }
.home-closing__content { max-width: 42.5rem; }
.home-closing__content hr { margin-bottom: 40px; }
.home-closing__content a { display: inline-block; min-height: 44px; padding-top: 10px; }

@media (max-width: 74.9375rem) {
.home-hero__grid { grid-template-columns: minmax(0, 1fr); padding-inline: 0; gap: 0; }
.home-hero__media { grid-column: 1; grid-row: 1; margin: 0; border-right: 0; border-left: 0; }
.home-hero__caption { position: static; max-width: none; padding: 12px var(--container-padding); border: 0; border-bottom: var(--border); }
.home-hero__copy { grid-column: 1; grid-row: 2; max-width: none; padding: 40px var(--container-padding) 0; }
.home-hero__intro-grid { grid-template-columns: minmax(0, 1fr); }
.home-agency__intro-grid { grid-template-columns: minmax(0, 6fr) minmax(0, 2fr); }
.home-agency__note { grid-column: 1 / -1; margin-top: 0; }
.home-formats__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.home-format-card--visual { grid-column: span 4; }
.home-format-card--text { grid-column: span 4; }
.home-formats__programme-note { display: none; }
.home-poker-feature { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); }
.home-poker-feature__illustration { min-height: 18rem; }
.home-poker-feature__content { max-width: none; }
.home-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-dining__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.home-dining__media { grid-column: span 4; }
.home-dining__story { grid-column: span 4; }
.home-dining__detail { grid-column: 1 / -1; margin-top: 0; }
.home-faq__top { grid-template-columns: minmax(0, 1fr); }
.home-faq__intro, .home-faq__note { grid-column: 1; }
.home-faq__note { max-width: 42rem; }
.home-consultation__frame { grid-template-columns: minmax(0, 1fr); }
.home-consultation__intro { max-width: 31.25rem; }
}

@media (max-width: 63.9375rem) {
.home-poker-band__grid { grid-template-columns: minmax(0, 1fr); }
.home-poker-band__copy { max-width: none; }
.home-poker-band__motif-panel { min-height: 0; }
.home-dining__grid { grid-template-columns: minmax(0, 1fr); }
.home-dining__media, .home-dining__story, .home-dining__detail { grid-column: 1; }
.home-dining__detail { margin-top: 0; }
}

@media (max-width: 43.6875rem) {
.home-hero__actions { flex-direction: column; }
.home-hero__actions > * { width: 100%; }
.home-agency__intro-grid, .home-agency__cards, .home-formats__grid, .home-process__steps, .home-consultation__fields { grid-template-columns: minmax(0, 1fr); }
.home-agency__intro, .home-agency__note, .home-format-card--visual, .home-format-card--text, .home-poker-feature, .home-consultation__field--full { grid-column: 1; }
.home-agency__intro { max-width: none; }
.home-agency__cards { gap: 16px; }
.home-formats__grid { gap: 16px; }
.home-format-card__content { padding: 24px; }
.home-format-card__cue { display: none; }
.home-poker-feature__content { padding: 24px; }
.home-poker-band__motif-panel { padding: 24px; }
.home-process__steps { gap: 0; margin-top: 24px; }
.home-process__step { padding: 20px 0; }
.home-process__step:last-child { border-bottom: 1px solid var(--color-line); }
.home-process__number { margin-bottom: 8px; }
.home-dining { padding-block: var(--section-space); }
.home-dining__prompts { gap: 16px; }
.home-faq__accordion { width: 100%; margin-top: 24px; }
.home-faq__accordion summary { min-height: 52px; }
.home-cta__inner { padding: 32px 20px; }
.home-cta__inner .button-link { width: 100%; }
.home-consultation__intro, .home-consultation__form-panel { padding: 24px 20px; }
.home-consultation__fields { gap: 16px; }
.home-consultation__form { gap: 20px; }
.home-closing { padding-top: 56px; }
}

@media (prefers-reduced-motion: reduce) {
.home-hero__media img, .home-format-card__image img, .home-format-card__cue { transition: none; }
}
