/* Impericon v6 palette — load after site/refinements/gallery/about CSS.
   Reference: warm ivory, stone, taupe and charcoal in Impericon1.png.
   Colour overrides only: no geometry, image sources or contact-map rules.
   Contrast: ivory/taupe 5.11:1; ivory/taupe-dark 7.07:1;
   ink/ivory 12.49:1; muted/stone 4.98:1; ivory/charcoal 10.13:1.
   Small text on the darker stone uses ink/muted/taupe-dark, not taupe.
*/

:root {
  --brand: #76654f;
  --brand-dark: #5f503f;
  --ink: #302d28;
  --muted: #665f56;
  --paper: #f7f4ee;
  --soft: #f0ebe3;
  --line: #d4cabb;
  --v6-stone: #eae4da;
  --v6-sand: #d9cebd;
  --v6-card: #fcfaf6;
  --v6-charcoal: #3f3b35;
  --v6-charcoal-deep: #35312c;
  --v6-inverse-muted: #ded5c8;
  --v6-field-line: #8e7d65;
}

body { background: var(--paper); color: var(--ink); }
::selection { background: var(--brand); color: var(--paper); }
:focus-visible { outline-color: var(--brand-dark); }
.skip-link { background: var(--v6-card); color: var(--ink); }

.button {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--paper);
}
.button:hover {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--paper);
}
.button--ghost, .button--outline {
  background: transparent;
  border-color: var(--v6-field-line);
  color: var(--ink);
}
.button--ghost:hover {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--paper);
}
.button--outline:hover {
  background: var(--v6-stone);
  border-color: var(--brand-dark);
  color: var(--ink);
}
.button:disabled {
  background: #e1d7c8;
  border-color: #c8baa5;
  color: #62594e;
}

/* Paper header, taupe accents and a visible neutral mobile menu. */
.utility-bar { background: var(--v6-stone); color: var(--ink); }
.utility-inner svg { color: var(--brand-dark); }
.utility-projects { background: var(--brand); color: var(--paper); }
.utility-projects:hover { background: var(--brand-dark); color: var(--paper); }
.utility-projects svg { color: var(--paper); }
.navigation-bar { background: var(--paper); color: var(--ink); }
.brand { background: transparent; color: var(--ink); }
.brand .brand-mark svg { color: var(--brand); }
.main-navigation { color: var(--ink); }
.main-navigation > a { color: var(--ink); border-color: var(--line); }
.main-navigation > a:hover,
.main-navigation > a[aria-current] { color: var(--brand-dark); }
.main-navigation > a:after { background: var(--brand); }
.nav-social { color: var(--ink); }
.nav-social a:hover { color: var(--brand-dark); }
.nav-contact {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--paper);
}
.nav-contact:hover {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--paper);
}
.menu-toggle { color: var(--ink); border-color: var(--v6-field-line); }
.menu-toggle span { background: currentColor; }

/* Warm light hero: the strongest tint stays behind the existing text area. */
.home-hero { background: var(--soft); color: var(--ink); }
.hero-slide:after {
  background: linear-gradient(90deg,
    #f3eee5 0%, rgba(243, 238, 229, .98) 35%,
    rgba(243, 238, 229, .90) 50%,
    rgba(243, 238, 229, .25) 77%, rgba(243, 238, 229, .08) 100%);
}
.hero-title { color: var(--ink); }
.hero-subtitle { color: var(--brand-dark); }
.hero-description { color: #595248; }
.hero-arrow {
  background: rgba(247, 244, 238, .90);
  border-color: var(--v6-field-line);
  color: var(--ink);
}
.hero-arrow:hover {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--paper);
}
.hero-dot { background: #978570; }
.hero-dot.active { background: var(--brand-dark); }

.page-hero { background: var(--v6-stone); color: var(--ink); }
.page-hero:before {
  background-image: linear-gradient(rgba(118, 101, 79, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 101, 79, .045) 1px, transparent 1px);
}
.page-hero:after { border-color: rgba(118, 101, 79, .14); }
.page-hero .lead { color: var(--muted); }
.hero-kicker, .hero-kicker svg, .eyebrow { color: var(--brand-dark); }

/* Shared content, catalogue and native contact controls. */
.section--soft, .catalog-section, .service-card, .contact-details {
  background: var(--soft);
}
.project-card, .catalog-card { background: var(--v6-card); border-color: var(--line); }
.project-card:hover { box-shadow: 0 16px 35px rgba(48, 45, 40, .055); }
.project-card__media { background: var(--v6-stone); }
.work-photo { background: var(--soft); }
.work-photo:after { background: rgba(63, 59, 53, .85); color: var(--paper); }
.catalog-card { box-shadow: 0 4px 20px rgba(48, 45, 40, .025); }
.catalog-card--product { background: var(--v6-card); }
.catalog-card--product .catalog-icon { background: var(--paper); }
.catalog-photo:after { background: linear-gradient(0deg, rgba(63, 59, 53, .14), transparent); }
.catalog-number { color: var(--muted); }
.catalog-icon, .catalog-link svg { color: var(--brand-dark); }
.catalog-card--service {
  background: var(--v6-charcoal);
  border-color: var(--v6-charcoal);
  color: var(--paper);
}
.catalog-card--service .catalog-number { color: var(--v6-inverse-muted); }
.catalog-card--service .catalog-icon {
  background: rgba(217, 206, 189, .12);
  border-color: #9d8f7c;
  color: var(--paper);
}
.catalog-card--service .catalog-list li {
  border-color: rgba(217, 206, 189, .22);
  color: var(--v6-inverse-muted);
}
.catalog-card--service .catalog-list li:before { background: var(--v6-sand); }
.catalog-card--service .catalog-link { border-color: rgba(217, 206, 189, .32); }
.catalog-card--service .catalog-link svg { color: var(--v6-sand); }
.filter-button { border-color: var(--v6-field-line); color: var(--muted); }
.filter-button:hover, .filter-button.active {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--paper);
}
.story-panel { background: var(--v6-stone); color: var(--ink); }
.story-panel:after { color: rgba(118, 101, 79, .075); }
.story-panel p { color: var(--muted); }
.story-panel p strong { color: var(--ink); }
.story-panel .section-heading h2:before { background: var(--brand-dark); }
.contact-form { background: var(--soft); border-color: var(--line); }
.field label { color: #595248; }
.field input, .field textarea {
  background: var(--v6-card);
  border-color: var(--v6-field-line);
  color: var(--ink);
}
.field input::placeholder, .field textarea::placeholder { color: #6f6659; }
.field input:focus, .field textarea:focus {
  border-color: var(--brand-dark);
  box-shadow: 0 0 0 2px rgba(118, 101, 79, .18);
}
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: #755342; }
.form-status[data-status="error"] { color: #755342; }
.form-status[data-status="success"] { color: #506047; }
.contact-panel .contact-list span { color: var(--muted); }
.contact-panel .contact-list a { color: var(--ink); }
.contact-panel .contact-list a:hover, .privacy-prose a { color: var(--brand-dark); }

/* Gallery tabs, counts, cards and adaptation sections. */
.ic-gallery { background: var(--paper); }
.ic-gallery__heading .lead, .ic-home-bottom__copy .lead { color: var(--muted); }
.ic-gallery__tabs, .ic-gallery__footer { border-color: var(--line); }
.ic-gallery__tab { border-color: var(--v6-field-line); background: transparent; color: var(--ink); }
.ic-gallery__tab:hover { background: var(--v6-stone); border-color: var(--brand-dark); color: var(--ink); }
.ic-gallery__tab.is-active { background: var(--brand); border-color: var(--brand); color: var(--paper); }
.ic-gallery__tab.is-active:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
.ic-gallery__tab-count { background: #e8dfd2; color: var(--muted); }
.ic-gallery__tab.is-active .ic-gallery__tab-count { background: var(--brand-dark); color: var(--paper); }
.ic-gallery-card { background: var(--v6-card); border-color: var(--line); box-shadow: 0 5px 24px rgba(48, 45, 40, .025); }
.ic-gallery-card:hover { box-shadow: 0 14px 32px rgba(48, 45, 40, .09); }
.ic-gallery-card__trigger, .ic-home-bottom__photo { background: var(--v6-stone); }
.ic-gallery-card__zoom {
  background: rgba(63, 59, 53, .86);
  border-color: rgba(247, 244, 238, .68);
  color: var(--paper);
}
.ic-gallery-card__body .ic-gallery-card__category { color: var(--brand-dark); }
.ic-gallery-card__body h3 { color: var(--ink); }
.ic-gallery-card__body p:not(.ic-gallery-card__category), .ic-gallery__status { color: var(--muted); }
.ic-gallery__tab:focus-visible,
.ic-gallery-card__trigger:focus-visible,
.ic-gallery__more:focus-visible { outline-color: var(--brand-dark); }
.ic-adaptation { background: var(--soft); }
.ic-adaptation__heading { border-color: var(--line); }
.ic-adaptation__intro p, .ic-adaptation__service-heading p { color: var(--muted); }
.ic-adaptation__intro strong { color: var(--ink); }
.ic-service-card { background: var(--v6-card); border-color: var(--line); }
.ic-service-card h3 { color: var(--brand-dark); }
.ic-service-card p { color: var(--muted); }
.ic-service-card p strong, .ic-service-card li { color: var(--ink); }
.ic-service-card li::before { background: var(--brand); }
.ic-process__step { color: var(--muted); border-color: var(--line); }
.ic-process__step::before { color: var(--brand-dark); }
.ic-process__step strong { color: var(--ink); }
.ic-adaptation__cta { background: var(--v6-charcoal); color: var(--paper); }
.ic-adaptation__cta h3 { color: var(--paper); }
.ic-adaptation__cta p { color: var(--v6-inverse-muted); }
.ic-adaptation__cta .button { color: var(--paper); border-color: var(--v6-sand); }

/* About uses the same paper/stone family, including the name-origin block. */
.about-editorial {
  --ab-paper: var(--soft);
  --ab-muted: var(--muted);
  --ab-rule: var(--line);
  background: var(--paper);
}
.about-editorial .ab-chapters a > span:first-child { color: var(--brand-dark); }
.about-editorial figcaption > span:last-child { color: var(--muted); }
.about-editorial .ab-values { background: var(--paper); }
.about-editorial .ab-experience { border-color: var(--line); }
.about-editorial .ab-origin { background: var(--v6-stone); color: var(--ink); }
.about-editorial .ab-origin:after { border-color: rgba(118, 101, 79, .20); }
.about-editorial .ab-origin .ab-section-label { color: var(--muted); }
.about-editorial .ab-origin .ab-section-label > span { color: var(--brand-dark); }
.about-editorial .ab-origin-copy p { color: var(--muted); }
.about-editorial .ab-origin-symbol > span { border-color: #b2a187; }
.about-editorial .ab-origin-symbol > span:nth-child(2) { border-color: var(--brand); }
.about-editorial .ab-signature { border-color: #c6b9a5; color: var(--ink); }
.about-editorial .ab-signature > span { color: var(--brand-dark); }

/* Warm charcoal footer and photo dialogs, with ivory text throughout. */
.site-footer { background: var(--v6-charcoal); color: var(--paper); }
.site-footer h2:after { background: var(--v6-sand); }
.site-footer p, .site-footer li { color: var(--v6-inverse-muted); }
.site-footer strong { color: var(--paper); }
.site-footer .brand { background: transparent; color: var(--paper); }
.site-footer .brand .brand-mark svg { color: var(--paper); }
.site-footer .contact-list svg, .footer-links svg { color: var(--v6-sand); }
.footer-social a { color: var(--paper); border-color: #aaa08f; }
.footer-social a:hover { background: var(--brand-dark); border-color: var(--v6-sand); color: var(--paper); }
.site-footer a:hover { color: var(--paper); }
.footer-bottom { background: var(--v6-charcoal-deep); border-color: rgba(217, 206, 189, .20); }
.footer-bottom p { color: var(--v6-inverse-muted); }
.footer-bottom p a { color: var(--paper); }
.back-top { background: var(--brand-dark); border-color: var(--v6-sand); color: var(--paper); }
.lightbox, .ic-lightbox { background: var(--v6-charcoal-deep); color: var(--paper); }
.lightbox::backdrop, .ic-lightbox::backdrop { background: rgba(48, 45, 40, .92); }
.lightbox-close { color: var(--paper); }
.ic-lightbox { border-color: #80715e; box-shadow: 0 28px 100px rgba(48, 45, 40, .50); }
.ic-lightbox__category { color: var(--v6-sand); }
.ic-lightbox__close, .ic-lightbox__arrow { background: #544b3f; border-color: #9d8f7c; color: var(--paper); }
.ic-lightbox__close:hover, .ic-lightbox__arrow:hover { background: var(--brand); color: var(--paper); }
.ic-lightbox__caption h2 { color: var(--paper); }
.ic-lightbox__caption p { color: var(--v6-inverse-muted); }
.ic-lightbox__counter { color: var(--paper); }
.site-footer :focus-visible, .lightbox :focus-visible,
.ic-lightbox :focus-visible, .ic-lightbox button:focus-visible,
.catalog-card--service :focus-visible,
.ic-adaptation__cta :focus-visible { outline-color: var(--v6-sand); }

@media (max-width: 991px) {
  .hero-slide:after {
    background: linear-gradient(90deg,
      rgba(243, 238, 229, .98) 0%, rgba(243, 238, 229, .94) 70%,
      rgba(243, 238, 229, .48) 100%);
  }
}

@media (max-width: 767px) {
  .main-navigation {
    background: var(--paper);
    border-color: var(--line);
    box-shadow: 0 20px 25px rgba(48, 45, 40, .12);
  }
  .hero-slide:after {
    background: linear-gradient(90deg, rgba(243, 238, 229, .96), rgba(243, 238, 229, .90)),
      linear-gradient(0deg, #f3eee5 1%, transparent 40%);
  }
}

/* Compact outlined wordmark: shared original SVG geometry in both themes. */
.brand { padding: 6px 18px; }
.brand-v6-logo { display: block; width: 248px; height: auto; max-width: 100%; }
@media(max-width:1100px) { .brand-v6-logo { width: 218px; } }
@media(max-width:767px) {
  .brand { padding: 6px 12px; }
  .brand-v6-logo { width: 205px; }
  .footer-bottom .brand { padding-block: 10px; }
}
