/* The black/champagne identity on public inner pages. This file loads after
   their existing styles, keeping content, layout, maps, and forms intact. */

/* A subtle raised surface gives text-heavy chapters depth without shrinking
   the readable area or adding decoration over photographs. */
.immersive-inner #main :is(
  .media-navigation-wrap, .media-listing, .media-collection, .media-events,
  .media-detail, .media-event-detail, .media-resources,
  .story-collection, .story-chapter, .digital-products, .digital-detail-body,
  .law-library, .law-reading, .auction-shell, .atlas-experience
) {
  background: var(--lux-black);
  color: var(--lux-cream);
}
.immersive-inner #main :is(
  .media-cinema, .story-value, .digital-process, .digital-detail-hero,
  .arc-editorial
) {
  background: var(--lux-black-soft);
  color: var(--lux-cream);
}
.immersive-inner #main :is(
  .media-resource-entry, .media-resource-intro, .story-editorial-note,
  .story-closing, .digital-cta, .digital-use-cases, .law-intro,
  .law-related, .news-related
) {
  background: linear-gradient(138deg, #b79560 0%, #e3ca9e 52%, #c09a62 100%);
  color: var(--lux-black);
}
.immersive-inner #main :is(
  .media-resource-entry, .media-resource-intro, .story-editorial-note,
  .story-closing, .digital-cta, .digital-use-cases, .law-intro,
  .law-related, .news-related
) :is(.muted, p:not(.eyebrow)) { color: #3c3022; }
.immersive-inner #main :is(
  .media-resource-entry, .media-resource-intro, .story-editorial-note,
  .story-closing, .digital-cta, .digital-use-cases, .law-intro,
  .law-related, .news-related
) :is(.eyebrow, .latin) { color: #583d1d; }
.immersive-inner #main :is(
  .media-resource-entry, .media-resource-intro, .story-editorial-note,
  .story-closing, .digital-cta, .digital-use-cases, .law-intro,
  .law-related, .news-related
) .text-link { color: #2b1d11; border-color: #68441f; }

/* Core public pages: service catalogue, project detail, and contact. */
.imm-core #main :is(
  .service-jump-nav, .service-directory-list, .service-directory-item,
  .service-chapter, .project-card, .project-facts, .project-fact,
  .gallery-grid figcaption, .content-section-grid .info-panel,
  .development-values .value-item, .service-rows > article,
  .process-steps > li
) { border-color: var(--lux-line); }
.imm-services #main .service-directory-item:hover,
.imm-projects #main .project-card:hover { background: #caa56f12; }
.imm-services #main .service-jump-nav a {
  color: var(--lux-cream);
  border-color: var(--lux-line);
}
.imm-services #main .service-jump-nav a:hover,
.imm-services #main .service-jump-nav a[aria-current] { color: var(--lux-gold-bright); }
.imm-services #main .service-chapter-heading p:not(.eyebrow),
.imm-project-detail #main .project-story-copy > p,
.imm-core #main .project-service-discovery p { color: var(--lux-muted); }
.imm-core #main .project-service-discovery :is(.info-panel, .service-directory-item) {
  background: transparent;
  color: var(--lux-cream);
}
.imm-core #main .project-service-discovery :is(.info-panel, .service-directory-item) p {
  color: var(--lux-muted);
}
.imm-core #main .imm-core-service-art,
.imm-projects #main .project-card .project-card-image,
.imm-project-detail #main .gallery-button { background: var(--lux-black-soft); }
.imm-core #main .project-service-discovery,
.imm-project-detail #main .imm-core-project-story,
.imm-project-detail #main .gallery-section { border-color: var(--lux-line); }
.imm-core #main .imm-core-footer-cta :is(h2, h3) { color: var(--lux-black); }

/* Public media and stories: selected tabs and controls use champagne,
   while photography and video keep their own colour and aspect ratio. */
.immersive-inner #main :is(
  .media-tabs, .media-featured figcaption, .media-photo figcaption,
  .media-filter, .media-periods > a, .media-pagination > a,
  .news-card-copy, .news-reading, .news-filters,
  .story-cover-copy, .story-chapter-copy, .story-value .story-prose,
  .story-outcome
) { border-color: var(--lux-line); }
.immersive-inner #main :is(.media-tabs > a, .media-periods > a, .media-pagination > a) {
  color: var(--lux-cream);
  border-color: var(--lux-line);
}
.immersive-inner #main :is(.media-tabs > a, .media-periods > a, .media-pagination > a):hover {
  background: #caa56f1c;
  color: var(--lux-gold-bright);
}
.immersive-inner #main :is(.media-tabs > a[aria-current], .media-periods > a[aria-current]) {
  background: var(--lux-gold);
  color: var(--lux-black);
  border-color: var(--lux-gold);
}
.immersive-inner #main .media-expand,
.immersive-inner #main .story-cover-action {
  background: var(--lux-gold);
  color: var(--lux-black);
}
.immersive-inner #main :is(.media-featured figcaption, .media-intro-index, .media-editorial-note,
  .media-event-location, .media-full-photo figcaption, .media-prose p,
  .media-event-card p, .news-prose p, .story-chapter-copy p) { color: var(--lux-muted); }
.immersive-inner #main .media-event-card {
  background: var(--lux-black-soft);
  color: var(--lux-cream);
  border-color: var(--lux-line);
}
.immersive-inner #main .media-event-date { border-color: var(--lux-line); }
.immersive-inner #main .media-event-date > span { color: var(--lux-gold-bright); }
.immersive-inner #main .media-resource-logo { background: #f2e8d7; }
.immersive-inner #main .media-filter,
.immersive-inner #main .news-filters {
  background: var(--lux-black-soft);
  color: var(--lux-cream);
  border-color: var(--lux-line);
}
.immersive-inner #main .story-chapter-nav {
  background: #17130ff2;
  color: var(--lux-cream);
  border-color: var(--lux-line);
}
.immersive-inner #main .story-chapter-nav a[aria-current] { color: var(--lux-gold-bright); }
.immersive-inner #main .story-value .story-prose { color: var(--lux-muted); }
.immersive-inner #main .news-aside {
  background: var(--lux-black-raised);
  color: var(--lux-cream);
  border-color: var(--lux-gold);
}
.immersive-inner #main .news-aside :is(p, small, .muted) { color: var(--lux-muted); }

/* Architectural customisation: the public introduction and its studio
   explanations sit on black, so the older sage text palette needs a lift. */
.immersive-inner #main .arc-public { background: var(--lux-black); color: var(--lux-cream); }
.immersive-inner #main .arc-hero { background: var(--lux-black); color: var(--lux-cream); }
.immersive-inner #main .arc-hero h1 { color: var(--lux-cream); }
.immersive-inner #main .arc-hero h1 span { color: var(--lux-gold-bright); }
.immersive-inner #main .arc-hero .eyebrow { color: var(--lux-gold-bright); }
.immersive-inner #main .arc-hero > div > p:not(.eyebrow),
.immersive-inner #main .arc-art > span { color: var(--lux-muted); }
.immersive-inner #main .arc-art { color: var(--lux-gold-bright); }
.immersive-inner #main .arc-public .arc-button {
  background: var(--lux-gold);
  border-color: var(--lux-gold);
  color: var(--lux-black);
}
.immersive-inner #main .arc-public .arc-button:hover {
  background: var(--lux-gold-bright);
  border-color: var(--lux-gold-bright);
}
.immersive-inner #main .arc-public .arc-button:focus-visible,
.immersive-inner #main .arc-public .experience-actions button:focus-visible {
  outline: 3px solid var(--lux-gold-bright);
  outline-offset: 4px;
}
.immersive-inner #main .arc-public .experience-toolbar { color: var(--lux-cream); }
.immersive-inner #main .arc-public .experience-actions button {
  background: var(--lux-black-raised);
  border-color: var(--lux-gold);
  color: var(--lux-cream);
}
.immersive-inner #main .arc-public .experience-actions button:hover {
  background: var(--lux-gold);
  color: var(--lux-black);
}
.immersive-inner #main .arc-public .experience-wayfinder-label,
.immersive-inner #main .arc-public [data-hero-links] a span { color: var(--lux-muted); }
.immersive-inner #main .arc-principles {
  background: var(--lux-black-soft);
  color: var(--lux-cream);
  border-color: var(--lux-line);
}
.immersive-inner #main .arc-principles .info-panel {
  --panel-ink: var(--lux-cream);
  --panel-muted: var(--lux-muted);
  --panel-accent: var(--lux-gold-bright);
  color: var(--lux-cream);
  border-color: var(--lux-line);
}
.immersive-inner #main .arc-principles .info-panel :is(.info-panel__icon, h2) { color: var(--lux-cream); }
.immersive-inner #main .arc-principles .info-panel p { color: var(--lux-muted); }
.immersive-inner #main .arc-editorial h2 { color: var(--lux-cream); }
.immersive-inner #main .arc-editorial p:not(.eyebrow) { color: var(--lux-muted); }
.immersive-inner #main .arc-editorial .eyebrow,
.immersive-inner #main .arc-editorial .text-link { color: var(--lux-gold-bright); }

/* Auction catalogue calls to action use the same visible gold treatment. */
.immersive-inner.auction-page #main .auction-intro { color: var(--lux-cream); }
.immersive-inner.auction-page #main .auction-intro h1 span,
.immersive-inner.auction-page #main .auction-intro .eyebrow { color: var(--lux-gold-bright); }
.immersive-inner.auction-page #main .auction-intro .auction-lead,
.immersive-inner.auction-page #main .auction-emblem > span { color: var(--lux-muted); }
.immersive-inner.auction-page #main .auction-emblem { color: var(--lux-gold-bright); }
.immersive-inner.auction-page #main .auction-button {
  background: var(--lux-gold);
  border-color: var(--lux-gold);
  color: var(--lux-black);
}
.immersive-inner.auction-page #main .auction-button:hover {
  background: var(--lux-gold-bright);
  border-color: var(--lux-gold-bright);
}
.immersive-inner.auction-page #main .auction-button:focus-visible {
  outline: 3px solid var(--lux-gold-bright);
  outline-offset: 4px;
}

/* Public services, law library, auctions, and atlas introductions. Keep map
   tiles, semantic status badges, and transactional messages untouched. */
.immersive-inner #main :is(
  .digital-product-row, .digital-process .info-panel, .digital-detail-description,
  .digital-deliverables, .digital-related, .digital-use-cases article,
  .arc-principles .info-panel, .law-row, .law-reading-content > .info-panel,
  .auction-nav, .auction-steps article, .auction-card-body,
  .atlas-heading, .atlas-sources article
) { border-color: var(--lux-line); }
.immersive-inner #main .digital-deliverables,
.immersive-inner #main .law-reading-content > .info-panel--sand {
  background: var(--lux-black-raised);
  color: var(--lux-cream);
}
.immersive-inner #main .digital-deliverables :is(p, li),
.immersive-inner #main .law-reading-content > .info-panel--sand :is(p, li) {
  color: var(--lux-muted);
}
.immersive-inner #main .digital-art-window { background: var(--lux-black-soft); }
.immersive-inner #main .digital-product-icon,
.immersive-inner #main :is(.law-open, .policy-arrow),
.immersive-inner #main .atlas-sources :is(.latin, svg) { color: var(--lux-gold-bright); }
.immersive-inner.project-atlas-page #main .atlas-experience {
  background: var(--lux-black);
  color: var(--lux-cream);
}
.immersive-inner.project-atlas-page #main .atlas-sidebar {
  background: var(--lux-black-soft);
  color: var(--lux-cream);
  border-color: var(--lux-line);
}

/* Inputs stay light even within dark pages: entered values, placeholders, and
   browser-supplied select options remain readable. Validation keeps its red. */
.immersive-inner #main :is(.media-filter, .news-filters, .digital-request-form) :is(
  input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea
) {
  background: #f7f1e6;
  color: #20170f;
  border: 1px solid #9a7848;
  color-scheme: light;
}
.immersive-inner #main :is(.media-filter, .news-filters, .digital-request-form) :is(input, select, textarea)::placeholder {
  color: #685d4f;
  opacity: 1;
}
.immersive-inner #main :is(.media-filter, .news-filters, .digital-request-form) :is(input, select, textarea):focus-visible {
  outline: 2px solid var(--lux-gold-bright);
  outline-offset: 3px;
}
.imm-contact #main .imm-core-contact-form .form-field label,
.imm-contact #main .imm-core-contact-form .consent-row { color: var(--lux-cream); }
.imm-contact #main .imm-core-contact-form .form-field :is(input, select, textarea) { color-scheme: light; }
.imm-contact #main .imm-core-contact-form .contact-form .button-solid {
  background: var(--lux-gold);
  border: 1px solid var(--lux-gold-bright);
  color: var(--lux-black);
  box-shadow: 0 10px 26px #0000004d, inset 0 1px #fff5da66;
}
.imm-contact #main .imm-core-contact-form .contact-form .button-solid:hover {
  background: var(--lux-gold-bright);
  border-color: var(--lux-gold-bright);
  color: var(--lux-black);
}
.imm-contact #main .imm-core-contact-form .contact-form .button-solid:focus-visible {
  outline: 3px solid var(--lux-gold-bright);
  outline-offset: 4px;
}
.imm-contact #main .imm-core-contact-form .form-message {
  background: #ecdfbd;
  color: #261c12;
  border-color: #9a7848;
}
.imm-contact #main .imm-core-contact-form .form-message.error {
  background: #f4dcd5;
  color: #682d22;
  border-color: #b96757;
}

/* Long reading and rights-request pages use a champagne paper inset. The
   navigation and form borders gain enough separation from the warm field. */
.information-page #main :is(
  .policy-directory, .information-reader, .information-request,
  .information-receipt, .photo-credits
) {
  color: var(--information-ink);
  --panel-ink: var(--information-ink);
  --panel-muted: var(--information-muted);
  --panel-accent: #694819;
}
.information-page #main :is(
  .policy-directory, .information-reader, .information-request,
  .information-receipt, .photo-credits
) :is(.eyebrow, .latin) { color: #583d1d; }
.information-page #main .policy-directory .information-heading.info-panel {
  --panel-ink: #20170f;
  --panel-muted: #4d3b27;
  --panel-accent: #694819;
  color: #20170f;
}
.information-page #main .policy-directory .information-heading :is(h2, .eyebrow) {
  color: #20170f;
}
.information-page #main .policy-directory .information-heading > p:last-child {
  color: #4d3b27;
}
.information-page #main .policy-directory .policy-card :is(h3, p) {
  color: #20170f;
}
.information-page #main .policy-directory .policy-card p { color: #4d3b27; }
.information-page #main .information-request .policy-form-aside.info-panel {
  --panel-ink: #20170f;
  --panel-muted: #4d3b27;
  color: #20170f;
}
.information-page #main .information-request .policy-form-aside :is(h2, p),
.information-page #main .information-request .policy-form :is(label, .policy-small) {
  color: #20170f;
}
.information-page #main .information-request .policy-form-aside p { color: #4d3b27; }
.information-page #main :is(.policy-directory, .information-request) .text-link {
  color: #694819;
  border-color: #694819;
}
.information-page #main :is(.policy-help, .policy-controller, .policy-notice, .policy-response) {
  background: #dec394;
  color: #20170f;
  border-color: #74522e66;
}
.information-page #main .policy-help :is(.muted, p:not(.eyebrow)),
.information-page #main :is(.policy-controller, .policy-notice, .policy-response) p {
  color: #433321;
}
.information-page #main :is(.policy-card, .policy-section, .policy-contents nav a,
  .policy-versions, .policy-request-facts, .photo-credit) { border-color: var(--information-line); }
.information-page #main .policy-card:hover { background: #9a713d1c; }
.information-page #main .policy-contents nav a:hover,
.information-page #main .policy-contents nav a:focus-visible { color: #694819; }
.information-page #main .policy-form :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea) {
  color-scheme: light;
}
.information-page #main .policy-form :is(input, select, textarea)::placeholder {
  color: #685d4f;
  opacity: 1;
}
.information-page #main .policy-form :is(input, select, textarea):focus-visible {
  outline: 2px solid #775020;
  outline-offset: 3px;
}
/* Error blocks are semantic feedback; the warm red remains distinct. */
.information-page #main .policy-errors { background: #f3e4dc; color: #622c22; border-color: #864b38; }

@media (prefers-reduced-motion: reduce) {
  .immersive-inner #main :is(.media-tabs > a, .media-periods > a, .media-pagination > a) {
    transition: none;
  }
}
@media print {
  .immersive-inner #main :is(
    .media-navigation-wrap, .media-listing, .media-collection, .media-events,
    .media-detail, .media-event-detail, .story-collection, .story-chapter,
    .digital-products, .digital-detail-body, .law-library, .law-reading,
    .auction-shell, .media-resource-entry, .media-resource-intro,
    .story-editorial-note, .story-closing, .digital-cta, .digital-use-cases,
    .law-intro, .law-related, .news-related,
    .media-filter, .news-filters, .media-event-card, .digital-deliverables,
    .law-reading-content > .info-panel--sand
  ),
  .immersive-inner #main .arc-public :is(.arc-hero, .arc-principles, .arc-editorial),
  .information-page #main :is(.policy-help, .policy-controller, .policy-notice, .policy-response) {
    background: white !important;
    color: black !important;
    box-shadow: none !important;
  }
  .immersive-inner #main :is(
    .media-cinema, .story-value, .digital-process, .digital-detail-hero,
    .arc-editorial, .imm-core-story, .imm-core-journey,
    .development-process, .project-vision
  ) {
    background: white !important;
    color: black !important;
  }
  .immersive-inner #main :is(
    .media-cinema, .story-value, .digital-process, .digital-detail-hero,
    .arc-editorial, .imm-core-story, .imm-core-journey,
    .development-process, .project-vision
  ) :is(h1, h2, h3, h4, p, li, dt, dd, small, figcaption, a) {
    color: black !important;
  }
  .immersive-inner #main .arc-public :is(.arc-hero, .arc-principles, .arc-editorial)
    :is(h1, h2, h3, p, span, a, button) { color: black !important; }
}
