/* Champagne, brushed gold, ivory and espresso across the shared site. */
:root {
  --ink: #30271c;
  --ink-soft: #514432;
  --green: #efd08b;
  --green-dark: #806025;
  --cream: #f8f3e9;
  --paper: #fffdf8;
  --muted: #746858;
  --line: #e5d9c4;
  --gold: #bd913f;
  --gold-light: #f3dba3;
  --espresso: #241d15;
  --gold-button: radial-gradient(ellipse at 25% 0%, #fffbe3c9, transparent 65%), linear-gradient(165deg, #ffedb7 0%, #f1cc79 50%, #dbac50 100%);
  --gold-button-hover: radial-gradient(ellipse at 25% 0%, #fffdf0dd, transparent 65%), linear-gradient(165deg, #fff2c9 0%, #f6d793 50%, #e9bd63 100%);
}

a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: #96702f; }
::selection { background: #eed295; color: #30271c; }
.status-dot { background: linear-gradient(135deg, #f0d796, #997025); box-shadow: 0 0 0 3px #cfa74a16; }
.brand-dot, .tiny-check, .checklist li::before { color: #8b6729; }
.text-link:hover, .hero-phone:hover, .closing-phone:hover { color: #805b1e; }

/* Warm metallic buttons use the same finish as the approved mobile CTA. */
.button-primary, .button-lime, .article-sidebar .callout .button-primary {
  background: var(--gold-button);
  color: #352a18;
  border-color: #d5af61;
  border-radius: 9px;
  box-shadow: inset 0 1px 0 #ffffffd9, inset 0 -1px 0 #b986356b, 0 2px 0 #b58d42, 0 7px 19px #422d1518;
}
.button-primary:hover, .button-lime:hover, .article-sidebar .callout .button-primary:hover {
  background: var(--gold-button-hover);
  color: #352a18;
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 #b986356b, 0 2px 0 #b58d42, 0 10px 24px #422d1526;
}
.button-primary:active, .button-lime:active { box-shadow: inset 0 1px 3px #8a602329, 0 1px 0 #b58d42; }
.button-secondary { background: #fffcf5; border-color: #cfb98d; color: #614d2f; box-shadow: inset 0 1px 0 #fff; }
.button-secondary:hover { background: #f6ead1; }
.skip-link { background: var(--espresso); color: #fff4d5; }

.announcement { background: linear-gradient(100deg, #201b15, #3b2f1d, #201b15); color: #ddcdae; border-bottom: 1px solid #b98d3c66; }
.announcement a { color: #f6dfac; }
.site-header { background: linear-gradient(180deg, #fffefa, #fbf6ec); border-bottom-color: #ddc99f; box-shadow: 0 3px 16px #57401e07; }
.primary-nav>a[aria-current=page], .primary-nav>a:not(.button):hover { color: #876125; }
.menu-toggle { border-color: #d8c4a0; background: #fffaf0; color: var(--ink); }

/* Gold light surrounds the original video and marks the headline. */
.hero { background: radial-gradient(ellipse at 86% 18%, #edcf8e52 0, transparent 48%), radial-gradient(ellipse at 10% 100%, #f3e5c75c, transparent 50%), linear-gradient(135deg, #fffdf7, #f6efdf); }
.hero h1>span { color: #8b6429; background: linear-gradient(115deg, #6f4e1d 2%, #a77b35 42%, #78531e 78%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero-media::before { background: linear-gradient(140deg, #e9cd9177, #f9f0da99 50%, #d4ac6155); border-color: #d7b56d88; box-shadow: inset 0 1px 0 #ffffffaa; }
.hero-film { background: #fffcf5; border-color: #d8bf8c; box-shadow: 0 24px 55px -18px #6b491940, 0 3px 8px #3c2a1510, inset 0 1px 0 #fff; }
.hero-video { background: #1e1913; }
.film-heading { color: #72572d; background: linear-gradient(110deg, #fffdf7, #f6ebd2); border-bottom: 1px solid #e8d5b1; }
.film-caption { background: linear-gradient(110deg, #fffefa, #fbf5e7); }
.hero-guarantee small { color: #805c22; }
.trust-strip { border-top-color: #dbc8a3; }
.trust-strip>div { color: #71634f; }
.trust-strip>div+div { border-left-color: #dbc8a3; }
.trust-symbol { color: #987334; }

/* Ivory surfaces and fine gold borders frame the colorful illustrations. */
.visual-benefits-section { background: linear-gradient(180deg, #fffdf8, #f8f3e9); }
.visual-benefit, .guide-card { background: #fffefa; border-color: #e1d3b8; box-shadow: 0 10px 26px -13px #61482024; }
.benefit-art { background: #f7f0e1; border-bottom-color: #e8dcc5; }
.benefit-category { background: #fffdf6f2; border-color: #f4e7cc; color: #6d522d; box-shadow: 0 2px 14px #5b411912; }
.visual-benefit-guarantee { border-color: #cba762; }
.visual-benefit-guarantee .benefit-art { background: radial-gradient(ellipse at center, #fffbed, #edd9aa); border-bottom-color: #ddc38e; }
.visual-benefit-guarantee .benefit-category { color: #735221; }
.visual-benefit-guarantee .benefit-copy { background: linear-gradient(145deg, #fffefa, #faf3e3); }
.benefit-copy .text-link, .guide-card .text-link { color: #785720; }
.service-card, .approach-section .service-card { background: linear-gradient(145deg, #fffefa, #fbf5e8); border-color: #dfcda8; box-shadow: inset 0 1px 0 #fff, 0 10px 24px -18px #7553233d; }
.ads-service, .approach-section .ads-service { background: linear-gradient(145deg, #fffefa, #f4eddf); }
.service-icon, .ads-service .service-icon { color: #866026; border-color: #d5b777; background: linear-gradient(145deg, #fff7df, #ecd09a); box-shadow: inset 0 1px 0 #fff; }
.map-lines span { border-color: #d8bf8c; }
.map-lines b { color: #b49255; }
.ads-bars span { background: #e3d2b3; }
.ads-bars span:nth-child(5) { background: #be9650; }
.section-footnote { color: #7a6c58; }
.step-number { color: #8b682c; }
.guarantee-panel { background: linear-gradient(120deg, #f7e7bf, #fffcf3 54%, #f5ead1); border-color: #d7bd86; box-shadow: inset 0 1px 0 #fff, 0 12px 30px -24px #79501c55; }
.guarantee-panel p:not(.eyebrow), .closing-cta p:not(.eyebrow) { color: #68583f; }
.guarantee-badge { color: #8b6527; border-color: #bc9148; outline-color: #deca9f; }
.approach-section { background: #f6f0e4; }
.approach-grid article { border-top-color: #d9c7a4; }

/* Espresso sections give the champagne accents a deeper contrast. */
.audit-section { background: radial-gradient(ellipse at 0% 0%, #59432b66, transparent 64%), linear-gradient(125deg, #2e2419, #1e1913); color: #fff8e8; border-block: 1px solid #92703a66; }
.audit-section .eyebrow { color: #edce8b; }
.audit-section h2 em { color: #f0d397; }
.audit-section p, .audit-phone { color: #cbbb9f; }
.audit-checklist { background: linear-gradient(140deg, #3b2e20, #2b231a); border-color: #755b365c; box-shadow: inset 0 1px 0 #dcc59212, 0 20px 50px #100d091f; }
.audit-list-heading { color: #e0cdab; }
.audit-list-heading span:last-child, .audit-checklist b { color: #f0d397; }
.audit-checklist>div:not(:first-child) { border-top-color: #6b54383d; }
.audit-checklist>div>span:first-child:not(:last-child) { color: #c9a96b; }
.audit-checklist p { color: #cabda7; }

.cover-maps { background-color: #f0e3c7; background-image: linear-gradient(30deg, transparent 45%, #c9aa6b66 46%, #c9aa6b66 47%, transparent 48%), linear-gradient(120deg, transparent 45%, #c9aa6b66 46%, #c9aa6b66 47%, transparent 48%); }
.cover-pin, .cover-label { color: #785a2b; }
.cover-mobile { background: #f1eadd; }
.cover-phone { background: #fffaf0; color: #96712f; border-color: #ac8c54; }
.cover-phone::before { background: #c1a774; }
.cover-search { background: #eadeca; }
.cover-searchbox { background: #fffaf0; color: #785a2b; border-color: #cfb989; box-shadow: 0 7px 15px #5c41130d; }
.cover-searchbox b { color: #785a2b; }
.faq-section { border-top-color: #eadfc9; }
.faq-list summary::after { color: #926c2c; }
.closing-cta { background: radial-gradient(ellipse at 50% 0%, #fff9e8, transparent 68%), linear-gradient(115deg, #ecdbb4, #f9edcf 48%, #e9d3a4); border-block: 1px solid #d5b97f; }
.closing-cta::before, .closing-cta::after { border-color: #c6a15c40; box-shadow: 0 0 0 40px #e8d4a63d, 0 0 0 41px #c6a15c40, 0 0 0 80px #e8d4a63d, 0 0 0 81px #c6a15c40; }
.site-footer { background: radial-gradient(ellipse at 10% 0%, #55402a44, transparent 55%), #211b14; color: #f2e7d1; border-top: 1px solid #a77e393d; }
.site-footer .brand { color: #fff6e5; }
.footer-brand p { color: #c4b597; }
.footer-main>div:not(.footer-brand)>h2 { color: #f1d99f; }
.footer-main>div:not(.footer-brand)>a { color: #cbbc9f; }
.site-footer a:hover { color: #ffe4a8; }
.footer-bottom { border-top-color: #6f553142; color: #b9aa91; }
.affiliation-note { color: #b9aa91; }

/* Shared service, guide, audit and legal page treatments. */
.page-intro { background: radial-gradient(ellipse at 90% 0%, #e8cb8c44, transparent 55%), linear-gradient(130deg, #fffaf0, #f4ecdb); border-bottom-color: #dfcba2; }
.breadcrumb li+li::before { color: #a18b67; }
.article-body a:not(.button):not(.text-link) { color: #805c22; }
.article-body th { background: #f6eddb; }
.toc { background: linear-gradient(150deg, #fffaf0, #f7efdF); border-color: #decca7; }
.toc>a { border-bottom-color: #e4d6bb; }
.callout, .audit-page-card { background: linear-gradient(145deg, #fcf5e5, #f6edda); border-color: #d9be87; }
.article-sidebar .callout { background: linear-gradient(145deg, #3b2e20, #241d15); border-color: #705733; color: #fff6e6; }
.article-sidebar .callout p { color: #d3c4a9; }
.article-sidebar .callout .eyebrow { color: #f0d397; }
.article-sidebar .callout a:not(.button) { color: #f1d599; }
.article-sidebar .callout .button-secondary { background: transparent; color: #f5dfb0; border-color: #9f7b3e; }
.article-sidebar .callout .button-secondary:hover { background: #584124; }

@media (hover:hover) {
  .visual-benefit:hover, .guide-card:hover { box-shadow: 0 20px 34px -14px #6d4f2633; }
}
@media (max-width:1000px) {
  .menu-open .header-inner { background: #241d15; }
  .menu-open .brand { color: #fff6e6; }
  .menu-open .menu-toggle { color: #f8e5bf; border-color: #8a7049; background: #ffffff06; }
  .primary-nav { background: radial-gradient(ellipse at 100% 90%, #71512b66, transparent 62%), #241d15; color: #fff6e6; }
  .primary-nav .menu-intro { color: #e6c580; }
  .primary-nav>a:not(.button) { border-bottom-color: #c7a16530; }
  .primary-nav>a[aria-current=page], .primary-nav>a:not(.button):hover { color: #f1d391; }
  .primary-nav .nav-cta { background: var(--gold-button); color: #352a18; }
  .primary-nav .nav-cta:hover { background: var(--gold-button-hover); color: #352a18; }
  .primary-nav .menu-contact { color: #cbbb9f; }
  .menu-contact a { color: #ffedc8; }
  .menu-open .site-header :focus-visible { outline-color: #edcd89; }
}
@media print {
  body { background: #fff; color: #000; }
  .hero h1>span { background: none; color: #000; -webkit-text-fill-color: currentColor; }
}
