/* Homepage palette only. Original shared variables, Mainbeam media and controls
   are retained. The owner requested the blue announcement background be bronze. */
:root {
  --efd-forest: #541818;
  --efd-ivory: #f4f0e6;
  --efd-bronze: #b08a52;
  --efd-bronze-text: #80613a;
  --efd-olive-text: #6A6459;
  --efd-warm-line: #d4d1c2;
}

body { background: var(--efd-ivory); }
header.site { background: var(--efd-ivory); border-bottom-color: var(--efd-warm-line); }
.ai-bar { background: #725735; }
header.site .brand > span,
.hdr-contact a { color: var(--efd-forest); }
.hdr-contact { color: #7F796D; }
#menu > a:not([href*="mainbeam"]):not(.btn) { color: var(--efd-forest); }
#menu > a:not([href*="mainbeam"]):not(.btn):hover { color: var(--efd-bronze-text); }
#menu > .btn,
.cta-row > .btn,
.rp-card > .btn,
.efd-feature-copy > .btn,
#EFDFBD-project-visit,
#EFDFBD-reset,
#cform > .btn {
  background: var(--efd-bronze);
  border-color: var(--efd-bronze);
  color: #381010;
}
#menu > .btn:hover,
.cta-row > .btn:hover,
.rp-card > .btn:hover,
.efd-feature-copy > .btn:hover,
#EFDFBD-project-visit:hover,
#EFDFBD-reset:hover,
#cform > .btn:hover {
  background: #c7a36d;
  border-color: #c7a36d;
}
.menu-btn { background: var(--efd-ivory); border-color: #c9ccba; color: var(--efd-forest); }

.hero { background: var(--efd-forest); }
.hero::after { background: radial-gradient(ellipse at 90% 80%, #a5ad7a1c, transparent 55%); }
.hero h1 { color: var(--efd-ivory); }
.hero #hero-title { font-size: clamp(44px, 4.6vw, 70px); max-width: none; }
.hero .location-dot { background: var(--efd-bronze); }
.hero h1 em { color: var(--efd-bronze); }
.hero .eyebrow { color: #d6d9c6; }
.efd-ranch-intro { color: var(--efd-ivory); }
.device-stage { background: #494234; border-color: #706A5D; }
.showcase-label { color: #d0d6bd; }
.hero-copy > .cta-row .textlink,
.collage-all { color: var(--efd-ivory); border-bottom-color: #A89E8A; }
.collage-caption { color: var(--efd-ivory); }
.area-pick { border-top-color: #95a27d4d; }
.area-label { color: #D3CCBF; }
.area-dd summary { border-color: #B3AA98; color: var(--efd-ivory); }
.area-dd summary:hover,
.area-dd[open] summary { background: #b08a521a; border-color: var(--efd-bronze); }
.area-menu { background: var(--efd-ivory); }
.area-menu a { color: var(--efd-forest); }
.area-menu a:hover { background: #e5e4d3; }
.area-menu small { color: #726C60; }

.efd-private-notice { background: #e1e3d1; color: #645D4F; }
.efd-private-notice > span { color: #918876; }
.efd-private-notice > a { border-bottom-color: #9d8961; }
.promise { background: var(--efd-ivory); border-bottom-color: var(--efd-warm-line); }
.promise-item { border-color: var(--efd-warm-line); }
.promise-item h3 { color: var(--efd-forest); }
.promise-item p { color: var(--efd-olive-text); }
.promise-item svg { stroke: var(--efd-bronze-text); }

#work.efd-feature { background: #ebe6d7; }
.efd-feature-top { border-bottom-color: #ccc8b5; }
.efd-feature-copy h2 { color: var(--efd-forest); }
.efd-feature-copy .efd-overline,
.efd-feature-top > p { color: var(--efd-bronze-text); }
.efd-gallery-tabs button { color: #666055; border-color: #bdbfa8; }
.efd-gallery-tabs button[aria-pressed="true"] {
  background: var(--efd-forest);
  border-color: var(--efd-forest);
  color: var(--efd-ivory);
}
.efd-gallery-tabs button:hover:not([aria-pressed="true"]) { background: #dedfc8; }

.reviews-band { background: var(--efd-ivory); }
.reviews-band h2 { color: var(--efd-forest); }
.reviews-band .rv-card { background: #fbf8ef; border-color: var(--efd-warm-line); box-shadow: 0 10px 30px #243c2d0a; }
.rv-card blockquote,
.rv-card figcaption b { color: var(--efd-forest); }
.rv-card figcaption,
.rv-src { color: #777164; }
.rv-nudge { color: var(--efd-forest) !important; }
.rv-nudge a,
.rv-all { color: var(--efd-bronze-text); }
.rv-actions > .btn { background: var(--efd-forest); border-color: var(--efd-forest); color: var(--efd-ivory); }
.rv-actions > .btn:hover { background: #4C4537; }

#ranch-package { background: var(--efd-forest); }
#ranch-package h2 { color: var(--efd-ivory); }
#ranch-package .section-label { color: #c8ad7c; }
.rp-card { background: var(--efd-ivory); color: var(--efd-forest); }
.rp-card .tag { color: var(--efd-bronze-text); }
.rp-sub { color: var(--efd-olive-text); }
.rp-founding { background: #e6e5d3; border-left-color: var(--efd-bronze); }
.rp-list li:not(:has(a[href*="mainbeam"])) { color: #DBD5C9; border-bottom-color: #8b9c7740; }
.rp-list li:not(:has(a[href*="mainbeam"]))::before { color: #c9ad75; }
#ranch-package .note { color: #D0CABD !important; }

#services { background: #eeeddf; }
#services h2,
#services .card h3,
#process h2,
#process .step h3,
#faq h2,
#faq summary,
#contact h2 { color: var(--efd-forest); }
#services .card { border-top-color: #c7cbb6; }
#services .card svg { stroke: var(--efd-bronze-text); }
#services .card p,
#services .sub { color: var(--efd-olive-text); }
#services .card p a { color: var(--efd-bronze-text); }
#process { background: var(--efd-ivory); }
#process .step .n { color: var(--efd-bronze-text); }
#process .step p { color: var(--efd-olive-text); }
#services .section-label,
#process .section-label,
#contact .kicker { color: var(--efd-bronze-text); }

#about { background: var(--efd-forest); }
#about h2 { color: var(--efd-ivory); }
#about .kicker { color: #c9ad75; }
#faq { background: var(--efd-ivory); }
#faq details { border-color: var(--efd-warm-line); }
#faq .sub { color: var(--efd-olive-text); }
#faq .all-faq { color: var(--efd-bronze-text); }

#other-portfolio.efd-more-section { background: #e6e7d6; border-color: #d1d4bf; }
#other-portfolio.efd-more-section { padding: 14px 0; }
.efd-concept-drawer { padding: 0; }
.efd-concept-drawer > summary::after { content: none; display: none; }
.efd-concept-drawer > summary { min-height: 58px; padding: 15px 20px; }
.efd-concept-drawer > summary > svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .2s; }
.efd-concept-drawer[open] > summary > svg { transform: rotate(180deg); }
.efd-business-drawer { margin: 0; background: transparent; border: 0; border-radius: 0; }
.efd-business-drawer:last-child { border-bottom: 0; }
.efd-business-drawer > summary { padding-inline: 0; }
.efd-business-drawer > summary h2 { margin: 0; max-width: none; color: var(--efd-forest); font-size: 21px; line-height: 1.3; }
.efd-business-drawer .efd-drawer-body { padding: 20px 0; }
.efd-ranch-drawer { margin-top: 32px; }
.efd-ranch-drawer .efd-compact-portfolio { margin-top: 0; }
.efd-concept-drawer > summary:focus-visible { outline: 2px solid var(--efd-forest); outline-offset: 4px; }
.efd-more-intro h2 { color: var(--efd-forest); }
.efd-more-section .section-label { color: var(--efd-bronze-text); }
.efd-more-intro p { color: #6A6356; }
.efd-concept-drawer { background: var(--efd-ivory); border-color: #C3BCAE; }
.efd-concept-drawer > summary { color: var(--efd-forest); }
.efd-concept-drawer[open] > summary { border-color: #CFC9BD; }
.efd-portfolio-filters button { background: transparent; color: #5F5747; border-color: #CCC5B8; }
.efd-portfolio-filters button[aria-pressed="true"] { background: var(--efd-forest); color: var(--efd-ivory); border-color: var(--efd-forest); }
.efd-search { border-bottom-color: #CCC5B8; }
.efd-search > span,
.efd-search > input { color: #615A4B; }
.efd-search > input { background: transparent; }
.efd-portfolio-card .meta h3 { color: var(--efd-forest); }
.efd-portfolio-card .meta .kind,
.efd-portfolio-card .go,
.efd-quick-look,
.efd-quick-look:hover { color: var(--efd-bronze-text); }
.efd-quick-look { border-bottom-color: #bdab87; }
.efd-portfolio-note { color: #756E5F; border-top-color: #CDC7BC; }
.efd-project-dialog,
.efd-image-dialog { background: var(--efd-ivory); color: var(--efd-forest); border-color: #BEB6A7; }
.efd-project-dialog::backdrop,
.efd-image-dialog::backdrop { background: #17291dde; }
.efd-project-dialog > img { background: #e0e4d0; }
.efd-project-dialog-copy .section-label { color: var(--efd-bronze-text); }
.efd-project-pagination { border-top-color: #CDC6B8; }
.efd-project-pagination button { color: var(--efd-forest); }
[data-efd-close] { background: var(--efd-ivory); color: var(--efd-forest); border-color: #BEB6A7; }
#EFDFBD-no-projects { background: #e4e7d4; color: var(--efd-forest); }

#contact { background: #e9e9da; }
#contact .info > p:not(.kicker) { color: var(--efd-olive-text); }
#contact .info > a { color: var(--efd-forest); }
#contact .panel { background: var(--efd-ivory); border-color: #CAC4B7; }
#contact input,
#contact textarea,
#contact select { border-color: #C4BCAC; background: #fbf9f1; }
.c-quick p { color: var(--efd-forest); }
.c-quick-btns a { background: var(--efd-ivory); border-color: #C5BEB0; color: var(--efd-forest); }
.c-quick-btns a:last-child { background: var(--efd-bronze); border-color: var(--efd-bronze); color: #381010; }
.more-btn.dark { background: var(--efd-ivory); color: var(--efd-forest); border-color: #C4BCAC; }
.roxy { background: var(--efd-ivory); }
.to-top { background: var(--efd-ivory); color: var(--efd-forest); border-color: #C4BCAC; }

/* The fixed quick-contact bar is general website navigation, not the app. */
.mbar { background: var(--efd-forest); }
.mbar a.mbar-book { background: var(--efd-bronze); border-color: var(--efd-bronze); color: #381010; }
.mbar-bubble { color: var(--efd-forest) !important; background: var(--efd-ivory); }
.mbar-bubble::after { border-top-color: var(--efd-ivory); }

@media (max-width: 1000px) {
  .links { background: var(--efd-ivory); border-bottom-color: var(--efd-warm-line); }
}
