/* Shared visual system for supporting pages. Homepage retains its approved layout. */
:root { --font-heading: "Inter", "Helvetica Neue", Arial, sans-serif; --font-serif: var(--font-heading); --serif: var(--font-heading); --radius: 14px; --radius-sm: 8px; --shadow: 0 18px 45px #17151a0c; }
body:not(.home-page) { background: var(--paper); --botanical-line-art: none; }
body:not(.home-page)::before { display: none; }
body:not(.home-page) :is(h1,h2,h3,h4) { font-family: var(--font-heading); font-weight: 550; letter-spacing: -.045em; }
body:not(.home-page) h1 { font-size: clamp(2.2rem,4.4vw,4.2rem); line-height: 1.1; }
body:not(.home-page) h2 { line-height: 1.15; }
body:not(.home-page) .site-header { position: relative; inset: auto; background: #17151a; color: #f7f3ea; padding: 22px max(24px,calc((100vw - 1280px)/2)); border-bottom: 1px solid #ffffff16; gap: 24px; }
body:not(.home-page) .site-header :is(.brand,.nav-links,.nav-cta) { color: #f7f3ea; text-shadow: none; }
body:not(.home-page) .brand-mark { width: 46px; height: 46px; border-radius: 9px; box-shadow: none; }
body:not(.home-page) .brand-text small { color: #d4af6a; }
body:not(.home-page) .nav-links { gap: 18px; font-size: .875rem; }
body:not(.home-page) .nav-cta { border: 1px solid #d4af6a70; border-radius: 100px; padding: 11px 18px; font-size: .8rem; text-align: center; }
body:not(.home-page) .section-kicker { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; color: #a64d5a; letter-spacing: .08em; font-size: .8rem; }
body:not(.home-page) .section-kicker::before { display: none; }
body:not(.home-page) :is(.resource-hero,.pricing-hero,.services-hub-hero,.landing-hero,.blog-hero,.quiz-hero,.legal-hero,.grow-hero,.local-hero,.campaign-hero) {
 --heading-color: #f7f3ea; --body-color: #f7f3eac9;
 background: radial-gradient(ellipse at 95% 5%,#a64d5a28,transparent 60%),linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px),#17151a;
 background-size: auto,48px 48px,48px 48px,auto;
 border: 1px solid #d4af6a35; border-radius: 18px; box-shadow: 0 20px 50px #17151a0d;
 padding: clamp(28px,5vw,64px); margin-top: 28px; overflow: hidden;
}
body:not(.home-page) :is(.resource-hero,.pricing-hero,.services-hub-hero,.landing-hero,.blog-hero,.quiz-hero,.legal-hero,.grow-hero,.local-hero,.campaign-hero) :is(h1,h2,h3,p,strong,li) { color: #f7f3ea; }
body:not(.home-page) :is(.resource-hero,.pricing-hero,.services-hub-hero,.landing-hero,.blog-hero,.quiz-hero,.legal-hero,.grow-hero,.local-hero,.campaign-hero) :is(.section-kicker,.eyebrow,.text-link) { color: #d4af6a; }
body:not(.home-page) :is(.resource-hero,.pricing-hero,.services-hub-hero,.landing-hero,.blog-hero,.quiz-hero,.legal-hero,.grow-hero,.local-hero,.campaign-hero)::before,
body:not(.home-page) .landing-hero-bg { display: none; }
body:not(.home-page) :is(.pricing-hero-card,.local-hero-card,.landing-visual,.landing-visual-card,.hero-side-card) { background: #ffffff08; border: 1px solid #d4af6a40; border-radius: 14px; box-shadow: none; }
body:not(.home-page) :is(.pricing-hero-card,.local-hero-card,.landing-visual-card) :is(span,small) { color: #d4af6a; }
body:not(.home-page) :is(.pricing-hero-points small,.hero-conversion-points span) { background: #ffffff08; border-color: #ffffff25; color: #f7f3ea; }
body:not(.home-page) .button { border-radius: 8px; font-size: .94rem; font-weight: 600; min-height: 50px; padding: 15px 22px; box-shadow: none; }
body:not(.home-page) .button-primary { background: #a64d5a; border: 1px solid #a64d5a; color: #fff; }
body:not(.home-page) .button-primary:hover { background: #8e3f4b; }
body:not(.home-page) :is(.resource-hero,.pricing-hero,.services-hub-hero,.landing-hero,.blog-hero,.quiz-hero,.legal-hero,.grow-hero,.local-hero,.campaign-hero) .button-primary { background: #d4af6a; border-color: #d4af6a; color: #17151a; box-shadow: 0 1px 0 #ffffff50 inset,0 8px 28px #d4af6a18; }
body:not(.home-page) :is(.resource-hero,.pricing-hero,.services-hub-hero,.landing-hero,.blog-hero,.quiz-hero,.legal-hero,.grow-hero,.local-hero,.campaign-hero) .button-secondary { background: transparent; border: 1px solid #d4af6a70; color: #f7f3ea; }
body:not(.home-page) :is(.starter-card,.service-card,.resource-card,.blog-card,.answer-card,.package-card,.pricing-card,.landing-card,.outcome-card,.testimonial-card,.decision-card,.download-card) { background: #fffcf7; border: 1px solid #17151a20; border-radius: 14px; box-shadow: 0 6px 22px #17151a04; }
body:not(.home-page) :is(.featured-starter,.featured-package) { border-color: #a64d5a90; box-shadow: 0 12px 35px #a64d5a0b; }
body:not(.home-page) :is(.lead-form,.audit-form,.quiz-card,.quiz-panel,.thank-you-card,.accordion-panel) { border-radius: 14px; border: 1px solid #17151a20; box-shadow: 0 18px 45px #17151a08; background: #fffcf7; }
body:not(.home-page) :is(input,select,textarea) { border-radius: 8px; background: #fbfaf7; border-color: #17151a35; font-family: var(--font-body); }
body:not(.home-page) :is(input,select,textarea):focus { border-color: #a64d5a; background: #fff; }
body:not(.home-page) :focus-visible { outline: 3px solid #a64d5a; outline-offset: 4px; }
body:not(.home-page) :is(.resource-hero,.pricing-hero,.services-hub-hero,.landing-hero,.site-header) :focus-visible { outline-color: #d4af6a; }
body:not(.home-page) :is(.service-design-map,.pricing-jump-nav,.service-jump-nav) { background: #fffcf7; border: 1px solid var(--line); border-radius: 12px; box-shadow: none; }
body:not(.home-page) .service-design-map > div { border-radius: 0; background: none; }
body:not(.home-page) .service-design-map > div::before { content: ''; display: block; height: 150px; margin-bottom: 22px; border-radius: 10px; background: #17151a url('/assets/marketing-systems/message.svg') center/contain no-repeat; }
body:not(.home-page) .service-design-map > div:nth-child(2)::before { background-image: url('/assets/marketing-systems/journey.svg'); }
body:not(.home-page) .service-design-map > div:nth-child(3)::before { background-image: url('/assets/marketing-systems/plan.svg'); }
body:not(.home-page) .service-moment-tile { background: #211d23; border: 1px solid #d4af6a40; box-shadow: none; border-radius: 10px; }
body:not(.home-page) .service-moment-tile img { object-fit: contain; padding: 10px; }
body:not(.home-page) .service-moment-tile span { background: #17151a; color: #f7f3ea; }
body:not(.home-page) .message-tab { border-radius: 9px; box-shadow: none; }
body:not(.home-page) .message-tab.is-active { background: #17151a; border-color: #d4af6a; color: #f7f3ea; }
body:not(.home-page) .message-panel { background: #fffcf7; border: 1px solid var(--line); border-radius: 14px; }
body:not(.home-page) .site-footer { background: #17151a; color: #f7f3ea; border-top: 1px solid #d4af6a40; }
body:not(.home-page) .site-footer :is(a,span,address) { color: #f7f3eacc; }
@media (max-width:1100px) {
 body:not(.home-page) .nav-links { gap: 12px; font-size: .8rem; }
 body:not(.home-page) .site-header { gap: 16px; }
}
@media (max-width:900px) {
 body:not(.home-page) .site-header { display:flex; justify-content:space-between; padding:18px 24px; }
 body:not(.home-page) :is(.nav-links,.nav-cta) { display:none; }
 body:not(.home-page) .mobile-nav { display:block; }
 body:not(.home-page) .mobile-nav summary { background:transparent; color:#f7f3ea; border-color:#d4af6a70; }
 body:not(.home-page) :is(.resource-hero,.pricing-hero,.services-hub-hero,.landing-hero) { grid-template-columns:1fr; }
}
@media (max-width:600px) {
 body:not(.home-page) :is(.resource-hero,.pricing-hero,.services-hub-hero,.landing-hero,.blog-hero,.quiz-hero,.legal-hero,.grow-hero,.local-hero,.campaign-hero) { padding:28px 22px; border-radius:12px; }
 body:not(.home-page) h1 { font-size:clamp(2rem,8vw,2.8rem); }
 body:not(.home-page) .hero-actions { align-items:stretch; }
 body:not(.home-page) .button { white-space:normal; }
 body:not(.home-page) .service-design-map { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } body:not(.home-page) *,body:not(.home-page) *::before { animation:none!important; transition:none!important; } }
body:not(.home-page) :is(.pricing-hero-card,.local-hero-card) > span { background: #ffffff08; border-color: #d4af6a40; }
body:not(.home-page) .services-hub-visual { background: #ffffff06; border: 1px solid #d4af6a40; box-shadow: none; border-radius: 16px; }
body:not(.home-page) .services-hub-visual::before,
body:not(.home-page) .services-hub-visual::after { display: none; }
body:not(.home-page) .text-link > span[aria-hidden="true"] { display: none; }
body:not(.home-page) .blog-search-panel { background: #fffcf7; border: 1px solid var(--line); border-radius: 14px; box-shadow:none; }
@media(max-width:600px) { body:not(.home-page) .blog-search-panel { grid-template-columns:1fr; gap:20px; } body:not(.home-page) .blog-search-field { width:100%; min-width:0; } }
body:not(.home-page) .site-header .nav-cta { background: #ffffff06; color:#f7f3ea; box-shadow:none; }
body:not(.home-page) :is(.landing-hero,.resource-hero,.pricing-hero,.services-hub-hero,.blog-hero,.quiz-hero,.local-hero,.campaign-hero,.legal-hero,.grow-hero)::after { display:none; }
body:not(.home-page) .landing-hero { min-height:0; }
body:not(.home-page) .landing-hero-copy { padding-top:0; }

/* Audit fixes: retain all six service destinations on small screens. */
@media(max-width:900px) {
 body:not(.home-page) .services-moment-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:12px; min-height:0; margin:24px 0 0; padding:14px; }
 body:not(.home-page) .service-moment-tile,body:not(.home-page) .service-moment-tile.is-large { grid-column:auto; grid-row:auto; min-height:140px; transform:none; }
 body:not(.home-page) .service-moment-tile img { width:100%; height:140px; padding:8px; }
 body:not(.home-page) .services-moment-gallery figcaption { grid-column:1/-1; position:static; }
}
body:not(.home-page) .pricing-hero .pricing-note { background:#ffffff08; border:1px solid #d4af6a40; border-radius:12px; box-shadow:none; }
body:not(.home-page) .pricing-hero .pricing-note :is(strong,span) { color:#f7f3ea; }

/* Keep light explorer panels readable inside dark approach sections. */
body:not(.home-page) .message-panel {
  --heading-color: #17151a;
  --body-color: #51494b;
  background: #fffcf7;
  color: #17151a;
}
body:not(.home-page) .message-panel :is(h2,h3,h4,strong) { color: #17151a; }
body:not(.home-page) .message-panel :is(p,li) { color: #51494b; }
body:not(.home-page) .message-panel :is(.section-kicker,.step-label,.message-step-label) { color: #a64d5a; }
body:not(.home-page) .message-panel li::before { color: #a64d5a; background-color: #a64d5a; }
body:not(.home-page) .approach-panel > .section-kicker { color: #d4af6a; }
body:not(.home-page) .message-panel .message-count { color: #a64d5a; }

/* Featured pricing cards use a light surface; override former dark-card text. */
body:not(.home-page) .starter-card { --heading-color:#17151a; --body-color:#51494b; }
body:not(.home-page) .starter-card :is(h3,strong) { color:#17151a; }
body:not(.home-page) .starter-card :is(p,li) { color:#51494b; }
body:not(.home-page) .starter-card > span { color:#a64d5a; background:#a64d5a08; border-color:#a64d5a40; }
body:not(.home-page) .featured-starter .button { background:#a64d5a; border-color:#a64d5a; color:#fff; }
body:not(.home-page) .featured-starter .button:hover { background:#8e3f4b; }

/* Blog cards retain readable light-surface colors during pointer and keyboard interaction. */
body:not(.home-page) .blog-card:is(:hover,:focus-within) {
  background:#fffcf7;
  color:#17151a;
  border-color:#a64d5a80;
  box-shadow:0 15px 35px #17151a12;
}
body:not(.home-page) .blog-card:is(:hover,:focus-within) :is(h2,h3,h2 a,h3 a) { color:#17151a; }
body:not(.home-page) .blog-card:is(:hover,:focus-within) p:not(.post-meta) { color:#51494b; }
body:not(.home-page) .blog-card:is(:hover,:focus-within) :is(.post-meta,.text-link) { color:#a64d5a; }
body:not(.home-page) .blog-card a:focus-visible { outline:3px solid #a64d5a; outline-offset:4px; }
