/* Additions use existing site tokens and components. */
.consultation-event p, #proposals p, #documents p { margin-block: var(--space-sm); }
.consultation-event .hero__actions { flex-wrap: wrap; margin-top: var(--space-md); }
.image-disclaimer { display: block; font-size: var(--fs-small); padding: var(--space-2xs); background: var(--color-paper); color: var(--color-charcoal); line-height: 1.4; }
.hero__media > .image-disclaimer { position: absolute; bottom: 0; right: 0; z-index: 2; max-width: 28ch; }
.gallery-item > .image-disclaimer, .teaser-strip .image-disclaimer { display: none; }
.teaser-split__media { position: relative; }
.teaser-split__media > .image-disclaimer { position: absolute; bottom: 0; left: 0; right: 0; }
section[id], #event { scroll-margin-top: 100px; }
details { border-bottom: var(--border-hairline); padding-block: var(--space-md); }
summary { cursor: pointer; font-weight: 600; }
details p { padding-top: var(--space-sm); max-width: 75ch; }
:focus-visible { outline: 3px solid var(--color-gold-deep); outline-offset: 4px; }
#feedback-form { margin-top: var(--space-lg); }
#feedback-form input, #feedback-form textarea { scroll-margin-top: 110px; }
/* The added consultation item needs the existing mobile menu sooner. */
@media (min-width: 861px) and (max-width: 1150px) {
 .nav { gap: var(--space-sm); }
 .nav__list { gap: var(--space-sm); }
 .nav__link { font-size: 0.72rem; letter-spacing: 0; }
 .nav__cta { font-size: 0.75rem; padding-inline: var(--space-sm); }
}
@media (max-width: 860px) {
 .nav:not(.is-open) { visibility: hidden; }
 .nav.is-open { visibility: visible; }
}

@media (max-width: 860px) { .nav__toggle { position: relative; z-index: 2; } }
/* Keep existing off-canvas navigation/reveal transforms from widening pages. */
html { overflow-x: clip; }
main { overflow-x: clip; }

/* Opening consultation banner: existing brand background and typography. */
.consultation-banner { padding-block: var(--space-xl); }
.consultation-banner__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr 1fr; gap: var(--space-lg) var(--space-xl); align-items: center; }
.consultation-banner .eyebrow { color: var(--color-gold-mid); }
.consultation-banner h2 { font-size: var(--fs-h1); line-height: 1.08; margin-block: var(--space-sm) var(--space-md); }
.consultation-banner h2 span { color: var(--color-gold-mid); font-size: 0.72em; }
.consultation-banner .lead { color: var(--color-mist); max-width: 52ch; }
.consultation-banner .hero__actions { margin-top: var(--space-lg); flex-wrap: wrap; gap: var(--space-sm); }
.consultation-banner__link { display: inline-flex; align-items: center; gap: var(--space-xs); font-size: var(--fs-small); color: var(--color-gold-mid); text-decoration: underline; text-underline-offset: 5px; line-height: 1.6; }
.consultation-banner__intro .consultation-banner__link { flex-basis: 100%; margin-top: var(--space-2xs); }
.consultation-banner__event { border: 1px solid var(--color-gold-deep); padding: var(--space-lg); background: var(--color-ink); border-radius: var(--radius-md); }
.consultation-banner__date { display: flex; align-items: center; gap: var(--space-md); margin-block: var(--space-sm) var(--space-md); padding-bottom: var(--space-md); border-bottom: 1px solid var(--color-gold-deep); }
.consultation-banner__day { font-family: var(--font-display); font-size: var(--fs-h1); line-height: 1; color: var(--color-gold-mid); }
.consultation-banner__date strong { display: block; font-weight: 500; font-size: var(--fs-body-lg); }
.consultation-banner__date div > span { display: block; color: var(--color-mist); margin-top: var(--space-3xs); font-size: var(--fs-small); }
.consultation-banner__event h3 { font-size: var(--fs-h3); }
.consultation-banner__event p { color: var(--color-mist); font-size: var(--fs-small); margin-top: var(--space-xs); }
.consultation-banner__event .consultation-banner__venue { margin-top: var(--space-md); }
.consultation-banner__event > .consultation-banner__link { margin-block: var(--space-xs) var(--space-md); display: flex; }
.consultation-banner__note { grid-column: 1 / -1; color: var(--color-mist); font-size: var(--fs-small); max-width: 85ch; }
@media (max-width: 760px) {
 .consultation-banner { padding-block: var(--space-lg); }
 .consultation-banner__grid { grid-template-columns: 1fr; gap: var(--space-lg); }
 .consultation-banner h2 { font-size: var(--fs-h2); }
 .consultation-banner__event { padding: var(--space-md); }
 .consultation-banner .btn { justify-content: center; }
}

/* Consultation landing page follows the site's existing visual language. */
.consultation-page p { max-width: 65ch; }
.consultation-page .section-head .lead { margin-top: var(--space-md); }
.consultation-intro__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-xl); align-items: center; }
.consultation-intro .eyebrow, .consultation-timeline .eyebrow, .consultation-invitation .eyebrow { color: var(--color-gold-mid); }
.consultation-intro h1 { font-size: clamp(2.25rem, 1.5rem + 2.6vw, 4rem); line-height: 1.12; color: var(--color-white); margin-block: var(--space-sm) var(--space-md); }
.consultation-intro h1 > span { display: block; font-size: 0.7em; margin-top: var(--space-xs); }
.consultation-intro .lead { color: var(--color-mist); }
.consultation-intro .hero__actions { margin-top: var(--space-lg); }
.consultation-intro__links { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-md); margin-top: var(--space-md); color: var(--color-gold-mid); font-size: var(--fs-small); }
.consultation-intro__links a, .consultation-text-link { text-decoration: underline; text-underline-offset: 5px; }
.consultation-intro__image { border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--color-gold-deep); background: var(--color-ink); }
.consultation-intro__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.consultation-intro__image figcaption { padding: var(--space-sm); font-size: var(--fs-small); color: var(--color-mist); }
.consultation-event-split__photo { border-radius: var(--radius-md); overflow: hidden; position: relative; }
.consultation-event-split__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.consultation-event-split__photo figcaption { position: absolute; inset: auto 0 0; padding: var(--space-sm); background: var(--color-ink); color: var(--color-white); font-size: var(--fs-small); }
.consultation-event-split__copy h2 { margin-block: var(--space-sm) var(--space-md); }
.consultation-event-split__copy p { margin-top: var(--space-sm); }
.consultation-event-split__copy .btn { margin-top: var(--space-md); }
.consultation-event-date { display: flex; align-items: center; gap: var(--space-md); padding-block: var(--space-sm) var(--space-md); margin-bottom: var(--space-md); border-bottom: 1px solid var(--color-gold-deep); }
.consultation-event-date__day { font-size: var(--fs-h1); line-height: 1; font-family: var(--font-display); color: var(--color-gold-deep); }
.consultation-event-date strong, .consultation-event-date div > span { display: block; }
.consultation-event-date div > span { margin-top: var(--space-3xs); color: var(--color-slate); }
.consultation-facts { margin-bottom: var(--space-lg); }
.consultation-features { gap: var(--space-md); }
.consultation-features .pillar { padding: var(--space-md); }
.consultation-features h3 { font-size: var(--fs-h4); margin-bottom: var(--space-xs); }
.consultation-section-end { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-md); margin-top: var(--space-lg); }
.consultation-documents { display: grid; grid-template-columns: 1fr 1.15fr; gap: var(--space-2xl); align-items: start; }
.consultation-documents__intro h2 { margin-block: var(--space-sm) var(--space-md); }
.consultation-documents__intro p + p { margin-top: var(--space-sm); }
.consultation-documents__intro .btn { margin-top: var(--space-lg); }
.consultation-documents__list { border-top: 2px solid var(--color-gold-deep); }
.consultation-documents__label { padding-block: var(--space-sm); color: var(--color-slate); font-size: var(--fs-small); }
.consultation-documents__list ul { list-style: none; margin: 0; padding: 0; }
.consultation-documents__list li { display: flex; align-items: center; gap: var(--space-sm); padding-block: var(--space-sm); border-bottom: var(--border-hairline); }
.consultation-documents__list svg { flex-shrink: 0; width: 26px; height: 30px; color: var(--color-gold-deep); }
.consultation-timeline .container { position: relative; z-index: 1; }
.consultation-timeline__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); padding: 0; margin: 0; list-style: none; }
.consultation-timeline__steps li { border-top: 1px solid var(--color-gold-deep); padding-top: var(--space-md); }
.consultation-timeline__number { font-size: var(--fs-h2); font-family: var(--font-display); color: var(--color-gold-mid); }
.consultation-timeline__steps h3 { font-size: var(--fs-h4); margin-block: var(--space-sm); }
.consultation-timeline__steps p { font-size: var(--fs-small); }
.consultation-questions { display: grid; grid-template-columns: 0.8fr 1.3fr; gap: var(--space-2xl); align-items: start; }
.consultation-questions h2 { margin-block: var(--space-sm) var(--space-md); }
.consultation-text-link { display: inline-block; margin-top: var(--space-md); }
.consultation-questions__answers details:first-child { border-top: var(--border-hairline); }
.consultation-questions__answers summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }
.consultation-questions__answers summary::-webkit-details-marker { display: none; }
.consultation-questions__answers summary::after { content: '+'; font-size: var(--fs-h4); color: var(--color-gold-deep); font-weight: 400; }
.consultation-questions__answers details[open] summary::after { content: '−'; }
.consultation-invitation__photo { overflow: hidden; border-radius: var(--radius-md); }
.consultation-invitation__photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.consultation-invitation h2 { margin-block: var(--space-sm) var(--space-md); }
.consultation-invitation p + p { margin-top: var(--space-sm); }
.consultation-invitation .btn { margin-block: var(--space-lg); }
.consultation-invitation__team, .consultation-invitation .hint { font-size: var(--fs-small); color: var(--color-mist); }
.consultation-invitation .hint a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1000px) {
 .consultation-intro__grid { gap: var(--space-lg); }
 .consultation-documents, .consultation-questions { gap: var(--space-lg); }
 .consultation-timeline__steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
 .consultation-intro__grid, .consultation-documents, .consultation-questions { grid-template-columns: 1fr; }
 .consultation-intro__image img { aspect-ratio: 4 / 3; }
 .consultation-event-split__photo img { aspect-ratio: 4 / 3; }
 .consultation-invitation__photo img { aspect-ratio: 4 / 3; }
}
@media (max-width: 520px) {
 .consultation-timeline__steps { grid-template-columns: 1fr; gap: var(--space-lg); }
 .consultation-page section { padding-block: var(--space-xl); }
 .consultation-section-end .hero__actions { width: 100%; }
}
.consultation-intro__image img,
.consultation-event-split__photo img,
.consultation-invitation__photo img { height: auto; }
.consultation-invitation .lead { color: var(--color-mist); }
