/*
 * Alexandria Design House — Site-wide 60/30/10 colour system
 * 60% #E7E3DA reference ivory | 30% #1C1C1E charcoal | 10% #C91A22 crimson
 */
:root {
  --adh-paper: #E7E3DA;
  --adh-ink: #1C1C1E;
  --adh-accent: #C91A22;
  --adh-line: rgba(28, 28, 30, .28);
  --adh-line-strong: rgba(28, 28, 30, .56);
  --red: #C91A22;
  --red-dark: #1C1C1E;
  --red-soft: #C91A22;
  --cream: #E7E3DA;
  --cream-2: #F0EEE9;
  --gold: #1C1C1E;
  --text: #E7E3DA;
  --ink: #1C1C1E;
}

html,
body {
  background: var(--adh-paper) !important;
  color: var(--adh-ink) !important;
}

body main {
  background: var(--adh-paper) !important;
  color: var(--adh-ink) !important;
}

/* Structural anchors: charcoal, never burgundy. */
body .announcement,
body .site-header,
body .site-footer,
body .mobile-menu-toggle,
body .main-nav.is-open {
  background-color: var(--adh-ink) !important;
  background-image: none !important;
}

body .announcement,
body .site-header,
body .site-header a,
body .site-header button,
body .site-footer,
body .site-footer p,
body .site-footer address,
body .site-footer a,
body .main-nav a {
  color: var(--adh-paper) !important;
}

body .announcement,
body .site-header,
body .site-footer {
  border-color: rgba(250, 249, 246, .22) !important;
}

body[class] header.site-header,
body[class] footer.site-footer {
  background: var(--adh-ink) !important;
  border-color: rgba(250, 249, 246, .22) !important;
}

body[class] header.site-header .main-nav a.active,
body[class] header.site-header .main-nav a[aria-current="page"] {
  color: var(--adh-accent) !important;
}

body[class] header.site-header .header-link {
  background: var(--adh-accent) !important;
  border-color: var(--adh-accent) !important;
  color: var(--adh-paper) !important;
}

body .main-nav a.active,
body .main-nav a[aria-current="page"],
body .main-nav a:hover,
body .main-nav a:focus-visible,
body .site-footer a:hover,
body .site-footer a:focus-visible {
  color: var(--adh-accent) !important;
}

body .mobile-menu-toggle span,
body .mobile-menu-toggle span::before,
body .mobile-menu-toggle span::after {
  background: var(--adh-paper) !important;
}

/* Paper is the dominant surface across content sections. */
body main > section:not([class*="hero"]):not([class*="video"]):not([class*="visual-break"]):not([class*="panorama"]) {
  background-color: var(--adh-paper) !important;
  background-image: none !important;
  border-color: var(--adh-line) !important;
  color: var(--adh-ink) !important;
}

body main > section[class*="hero"]:not(#_adh_palette_override) {
  background-color: var(--adh-ink) !important;
  border-color: rgba(250, 249, 246, .22) !important;
  color: var(--adh-paper) !important;
}

body main > section[class*="hero"] h1,
body main > section[class*="hero"] h2,
body main > section[class*="hero"] p,
body main > section[class*="hero"] .eyebrow {
  color: var(--adh-paper) !important;
}

body main > section[class*="hero"] p {
  border-color: rgba(250, 249, 246, .35) !important;
}

body main h1,
body main h2,
body main h3,
body main h4,
body main h5,
body main h6,
body main p,
body main li,
body main blockquote,
body main label,
body main summary {
  color: var(--adh-ink);
}

body main > :where(section:not([class*="hero"]):not([class*="video"]):not([class*="visual-break"]):not([class*="panorama"])) :where(h1, h2, h3, h4, h5, h6, p, li, blockquote, label, summary):not(#_adh_palette_override) {
  color: var(--adh-ink) !important;
}

body main > :where(section:not([class*="hero"]):not([class*="video"]):not([class*="visual-break"]):not([class*="panorama"])) :where(h1, h2, h3, h4, h5, h6) *:not(#_adh_palette_override) {
  color: inherit !important;
}

/* Photographic and video moments stay visually grounded in charcoal. */
body main > section[class*="video"],
body main > section[class*="visual-break"],
body main > section[class*="panorama"] {
  background-color: var(--adh-ink) !important;
  background-image: none !important;
  border-color: rgba(250, 249, 246, .22) !important;
  color: var(--adh-paper) !important;
}

/* Neutral structural lines and cards. */
body main article,
body main details,
body main fieldset,
body main [class*="card"],
body main [class*="panel"],
body main [class*="tile"] {
  border-color: var(--adh-line) !important;
}

body main hr,
body main [class*="divider"],
body main [class*="rule"] {
  border-color: var(--adh-line) !important;
  background-color: var(--adh-line) !important;
}

/* Crimson is reserved for the action layer. */
body a.btn.primary,
body button.btn.primary,
body .wp-block-button__link.btn.primary,
body .header-link,
body .mobile-inquiry-cta,
body .final-cta .btn:not(#_adh_palette_override),
body .corporate-conversion .btn:not(#_adh_palette_override),
body .corporate-brief-btn:not(#_adh_palette_override),
body .method-cta .btn:not(#_adh_palette_override),
body .investment-ref-cta .btn:not(#_adh_palette_override),
body .house-conversion .btn:not(#_adh_palette_override),
body .wedding-final-cta .btn:not(#_adh_palette_override),
body .adh-native-form button[type="submit"],
body .ff-btn-submit:not(#_adh_palette_override):not(#_adh_palette_override_2),
body input[type="submit"] {
  background: var(--adh-accent) !important;
  border-color: var(--adh-accent) !important;
  color: var(--adh-paper) !important;
}

body main a.btn.primary:not(#_adh_palette_override):not(#_adh_palette_override_2),
body main button.btn.primary:not(#_adh_palette_override):not(#_adh_palette_override_2) {
  background: var(--adh-accent) !important;
  border-color: var(--adh-accent) !important;
  color: var(--adh-paper) !important;
}

body a.btn.primary:hover,
body button.btn.primary:hover,
body .wp-block-button__link.btn.primary:hover,
body .header-link:hover,
body .mobile-inquiry-cta:hover,
body .final-cta .btn:not(#_adh_palette_override):hover,
body .corporate-conversion .btn:not(#_adh_palette_override):hover,
body .corporate-brief-btn:not(#_adh_palette_override):hover,
body .method-cta .btn:not(#_adh_palette_override):hover,
body .investment-ref-cta .btn:not(#_adh_palette_override):hover,
body .house-conversion .btn:not(#_adh_palette_override):hover,
body .wedding-final-cta .btn:not(#_adh_palette_override):hover,
body .adh-native-form button[type="submit"]:hover,
body .ff-btn-submit:not(#_adh_palette_override):not(#_adh_palette_override_2):hover,
body input[type="submit"]:hover {
  background: #A9131A !important;
  border-color: #A9131A !important;
}

body main a.btn.primary:not(#_adh_palette_override):not(#_adh_palette_override_2):hover,
body main button.btn.primary:not(#_adh_palette_override):not(#_adh_palette_override_2):hover {
  background: #A9131A !important;
  border-color: #A9131A !important;
}

body .eyebrow:not(#_adh_palette_override),
body [class*="badge"]:not(#_adh_palette_override),
body .article-eyebrow:not(#_adh_palette_override),
body .post-date:not(#_adh_palette_override),
body .home-press .eyebrow:not(#_adh_palette_override) {
  color: var(--adh-accent) !important;
}

body main a:not(.btn):not(.wp-block-button__link):not([class*="card"]):not([class*="project"]):hover,
body main a:not(.btn):not(.wp-block-button__link):not([class*="card"]):not([class*="project"]):focus-visible {
  color: var(--adh-accent) !important;
}

/* Secondary buttons remain monochrome until interaction. */
body .btn.secondary,
body .home-2026-focus-cta,
body [class*="secondary-cta"] {
  background: transparent !important;
  border-color: var(--adh-ink) !important;
  color: var(--adh-ink) !important;
}

body .btn.secondary:hover,
body .btn.secondary:focus-visible,
body .home-2026-focus-cta:hover,
body .home-2026-focus-cta:focus-visible,
body [class*="secondary-cta"]:hover,
body [class*="secondary-cta"]:focus-visible {
  background: var(--adh-accent) !important;
  border-color: var(--adh-accent) !important;
  color: var(--adh-paper) !important;
}

/* Homepage */
.home-page main section.home-2026-hero:not(#_adh_palette_override) {
  background: var(--adh-paper) !important;
}

.home-page .home-2026-hero-copy {
  background: var(--adh-paper) !important;
}

.home-page .home-2026-hero h1,
.home-page .home-2026-hero p,
.home-page .home-2026-hero .home-2026-subheadline,
.home-page .home-2026-hero.adh-brief-hero p.home-2026-subheadline {
  color: var(--adh-ink) !important;
}

.home-page .home-2026-actions .btn.primary {
  background: var(--adh-accent) !important;
  border-color: var(--adh-accent) !important;
  color: var(--adh-paper) !important;
}

.home-page .home-2026-actions .btn.secondary {
  background: transparent !important;
  border-color: var(--adh-ink) !important;
  color: var(--adh-ink) !important;
}

.home-page .home-2026-method,
.home-page .home-2026-focus,
.home-page .adh-difference,
.home-page .home-2026-trust,
.home-page .home-2026-faq,
.home-page .testimonials,
.home-page .home-press {
  background: var(--adh-paper) !important;
  color: var(--adh-ink) !important;
  border-color: var(--adh-line) !important;
}

.home-page .home-2026-method h2,
.home-page .home-2026-method h3,
.home-page .home-2026-method h4,
.home-page .home-2026-method p,
.home-page .home-2026-focus h2,
.home-page .home-2026-focus h3,
.home-page .home-2026-focus p,
.home-page .adh-difference h2,
.home-page .adh-difference h3,
.home-page .adh-difference p,
.home-page .home-2026-trust h2,
.home-page .home-2026-faq h2,
.home-page .home-2026-faq h3,
.home-page .home-2026-faq p {
  color: var(--adh-ink) !important;
}

.home-page .home-2026-method-grid article,
.home-page .home-2026-focus-grid article,
.home-page .adh-difference-grid article,
.home-page .home-2026-logo-card,
.home-page .home-2026-faq details,
.home-page .testimonial-card {
  background: var(--adh-paper) !important;
  border-color: var(--adh-line) !important;
  box-shadow: none !important;
}

.home-page .adh-difference-grid .adh-difference-house,
.home-page .adh-difference-grid .adh-difference-house h3,
.home-page .adh-difference-grid .adh-difference-house p {
  background: var(--adh-paper) !important;
  color: var(--adh-ink) !important;
}

.home-page .home-2026-market {
  color: var(--adh-ink) !important;
}

.home-page .home-2026-focus-cta {
  background: transparent !important;
  border-color: var(--adh-ink) !important;
  color: var(--adh-ink) !important;
}

.home-page .home-2026-focus-grid article:hover,
.home-page .home-2026-focus-grid article:focus-within,
.home-page .home-2026-method-grid article:hover {
  border-color: var(--adh-accent) !important;
}
.home-page .home-2026-focus-cta:hover,
.home-page .home-2026-focus-cta:focus-visible {
  background: var(--adh-accent) !important;
  border-color: var(--adh-accent) !important;
  color: var(--adh-paper) !important;
}

/* Page families: paper-led surfaces and charcoal copy. */
.corporate-gallery-page > section:not(.corporate-gallery-discovery),
.method-page > section:not(.method-hero),
.investment-reference > section:not(.investment-ref-hero),
body main > .wedding-opening,
body main > .wedding-budget,
body main > .coordination,
body main > .culture-section,
body main > .wedding-services,
body main > .client-experience,
body main > .ce-section,
body main > .ce-client-voices,
body main > .house-origin,
body main > .house-founder,
body main > .house-diversity,
body main > .house-commitments,
body main > .house-team,
body main > .house-method,
body main > .house-faq-link,
body main > .inquire-intro,
body main > .inquiry-form,
body main > .schedule-call,
body main > .work-method,
body main > .work-gallery-section,
body main > .work-brands,
body main > .work-renderings {
  background: var(--adh-paper) !important;
  background-image: none !important;
  color: var(--adh-ink) !important;
}

/* Editorial and shared FAQ surfaces. */
body main section.blog-hero:not(#_adh_palette_override) {
  background: var(--adh-paper) !important;
  color: var(--adh-ink) !important;
}
body main .blog-hero :where(h1,h2,p,strong,em):not(#_adh_palette_override),
body main .blog-article :where(h1,h2,h3,h4,p,li,blockquote,strong,em):not(#_adh_palette_override),
body main .adh-shared-faq-item :where(summary,h3,p,li,strong,span):not(#_adh_palette_override):not(#_adh_palette_override_2) {
  color: var(--adh-ink) !important;
}
body main .blog-card:not(#_adh_palette_override) {
  background: var(--adh-paper) !important;
  border-color: var(--adh-line) !important;
}
body main .blog-card :where(h2,h3,p):not(#_adh_palette_override) {
  color: var(--adh-ink) !important;
}

/* Nested client experience sections use the same paper foundation. */
body main .ce-journey:not(#_adh_palette_override),
body main .ce-section:not(#_adh_palette_override),
body main .ce-client-voices:not(#_adh_palette_override) {
  background: var(--adh-paper) !important;
  color: var(--adh-ink) !important;
  border-color: var(--adh-line) !important;
}
body main .ce-journey :where(h1,h2,h3,h4,p,li,blockquote,span,strong,em):not(#_adh_palette_override) {
  color: var(--adh-ink) !important;
}
body main .ce-journey :where(article,[class*="card"]):not(#_adh_palette_override) {
  background: var(--adh-paper) !important;
  border-color: var(--adh-line) !important;
  box-shadow: none !important;
}
body main .ce-journey .eyebrow:not(#_adh_palette_override),
body main .ce-journey .ce-kicker:not(#_adh_palette_override) {
  color: var(--adh-accent) !important;
}
body main .experience-panorama p:not(#_adh_palette_override) {
  color: var(--adh-paper) !important;
  border-color: rgba(250,249,246,.35) !important;
}
body main form .ff-el-section-title:not(#_adh_palette_override):not(#_adh_palette_override_2) {
  color: var(--adh-ink) !important;
}

/* Inquiry surfaces and persistent controls */
body main .inquire-form-intro:not(#_adh_palette_override),
body main .inquire-form-shell:not(#_adh_palette_override),
body main form.fluent_form_3:not(#_adh_palette_override),
body main .schedule-call-card:not(#_adh_palette_override) {
  background: var(--adh-paper) !important;
  border-color: var(--adh-line) !important;
  box-shadow: none !important;
  color: var(--adh-ink) !important;
}
body main form :where(h3, h4, label, p):not(#_adh_palette_override) {
  color: var(--adh-ink) !important;
}
body .back-to-top:not(#_adh_palette_override),
body #back-to-top:not(#_adh_palette_override) {
  background: var(--adh-ink) !important;
  border-color: var(--adh-ink) !important;
  color: var(--adh-paper) !important;
}

/* Form controls */
body input:not([type="submit"]),
body textarea,
body select {
  background: var(--adh-paper) !important;
  border-color: var(--adh-line-strong) !important;
  color: var(--adh-ink) !important;
}

body input::placeholder,
body textarea::placeholder {
  color: rgba(28, 28, 30, .58) !important;
}

body :focus-visible {
  outline-color: var(--adh-accent) !important;
}

/* Neutralize legacy burgundy/gold decorations without flattening imagery. */
body main [style*="#4d0708"],
body main [style*="#160707"],
body main [style*="#6f1516"],
body main [style*="#a9773e"] {
  color: var(--adh-ink) !important;
  border-color: var(--adh-line) !important;
}

@media (max-width: 767px) {
  body[class] .site-header .main-nav,
  body[class] .site-header .main-nav.is-open {
    background: var(--adh-ink) !important;
    box-shadow: none !important;
    border-color: rgba(231,227,218,.3) !important;
  }

  .home-page .home-2026-hero-copy,
  .home-page .home-2026-method,
  .home-page .home-2026-focus,
  .home-page .adh-difference,
  .home-page .home-2026-trust {
    background: var(--adh-paper) !important;
  }

  body.home-page main section.home-2026-hero.adh-brief-hero:not(#_adh_palette_override) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--adh-paper) !important;
    overflow: hidden;
  }
  body.home-page .home-2026-hero.adh-brief-hero .home-2026-hero-shade,
  body.home-page .home-2026-hero.adh-brief-hero::before,
  body.home-page .home-2026-hero.adh-brief-hero::after {
    display: none !important;
  }
  body.home-page main .home-2026-hero.adh-brief-hero .home-2026-hero-copy:not(#_adh_palette_override) {
    position: relative !important;
    inset: auto !important;
    order: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 34px 24px 32px !important;
    box-sizing: border-box !important;
    background: var(--adh-paper) !important;
    color: var(--adh-ink) !important;
    box-shadow: none !important;
    border: 0 !important;
    transform: none !important;
    z-index: 1 !important;
  }
  body.home-page main .home-2026-hero.adh-brief-hero .home-2026-hero-bg:not(#_adh_palette_override) {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    order: 1 !important;
    width: 100% !important;
    height: min(110vw, 520px) !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: 48% 30% !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    z-index: 0 !important;
  }
  body.home-page .home-2026-hero.adh-brief-hero h1 {
    font-size: clamp(38px, 10vw, 48px) !important;
    line-height: 1.06 !important;
    overflow-wrap: normal;
    margin: 0 0 24px !important;
  }
  body.home-page .home-2026-hero.adh-brief-hero .home-2026-hero-copy p {
    font-size: 16px !important;
    line-height: 1.65 !important;
    max-width: none !important;
    margin: 0 0 16px !important;
  }
  body.home-page .home-2026-hero.adh-brief-hero .home-2026-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin: 24px 0 0 !important;
    width: 100% !important;
  }
  body.home-page .home-2026-hero.adh-brief-hero .home-2026-actions .wp-block-button {
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
  }
  body.home-page .home-2026-hero.adh-brief-hero .home-2026-actions .btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 52px !important;
    box-sizing: border-box;
    margin: 0 !important;
  }
  body.home-page main > .home-2026-method,
  body.home-page main > .home-2026-focus,
  body.home-page main > .adh-difference,
  body.home-page main > .home-2026-trust {
    width: 100% !important;
    margin: 0 !important;
    padding: 40px 24px !important;
    box-sizing: border-box;
  }
  body.home-page main .home-2026-method h2,
  body.home-page main .home-2026-focus h2,
  body.home-page main .adh-difference h2 {
    font-size: clamp(32px, 8.5vw, 40px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
    margin: 0 0 24px !important;
  }
  body.home-page main .home-2026-method-grid,
  body.home-page main .home-2026-focus-grid,
  body.home-page main .adh-difference-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
    width: 100%;
    min-width: 0;
  }
  body.home-page main .home-2026-method-grid article,
  body.home-page main .home-2026-focus-grid article {
    padding: 24px !important;
    min-width: 0;
  }
  body.home-page main .home-2026-method p,
  body.home-page main .home-2026-focus p,
  body.home-page main .adh-difference p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  body[class] .mobile-menu-toggle {
    border-color: rgba(231,227,218,.45) !important;
  }
}
