/* Devol Legal public-site monochrome palette */
:root {
  --midnight: #050505;
  --midnight-2: #0b0b0b;
  --bone: #f5f5f5;
  --bone-bright: #ffffff;
  --paper: #141414;
  --pearl: #1e1e1e;
  --oxblood: #d0d0d0;
  --oxblood-deep: #050505;
  --oxblood-soft: #ffffff;
  --ink: #ffffff;
  --slate: rgba(255, 255, 255, 0.76);
  --mist: rgba(255, 255, 255, 0.52);
  --aged-gold: #d0d0d0;
  --rule-bone: rgba(255, 255, 255, 0.18);
  --rule-pearl: rgba(255, 255, 255, 0.1);
  --rule-night: rgba(255, 255, 255, 0.16);
  --shadow-editorial: 0 24px 80px rgba(0, 0, 0, 0.2);
  --shadow-float: 0 14px 38px rgba(0, 0, 0, 0.18);
}

html,
body {
  background: var(--midnight-2);
  color: var(--slate);
}

body {
  font-weight: 300;
}

a {
  color: var(--oxblood-soft);
}

:focus-visible {
  outline: 2px solid var(--oxblood-soft);
  outline-offset: 4px;
}

header,
header.scrolled {
  background: rgba(5, 5, 5, 0.94);
  border-bottom-color: var(--rule-night);
  box-shadow: none;
}

.logo-lockup .bm-mono,
.footer-lockup .bm-mono {
  border: 1px solid var(--oxblood);
  border-left-width: 1px;
  background: transparent;
  color: var(--oxblood-soft);
  box-shadow: none;
}

.logo-lockup .bm-name,
.footer-lockup .bm-name {
  color: var(--bone);
}

.logo-lockup .bm-tag,
.footer-lockup .bm-tag {
  color: var(--mist);
}

#nav-links a {
  color: var(--slate);
}

#nav-links a:hover,
#nav-links a[aria-current="page"] {
  color: var(--oxblood-soft);
}

.nav-cta,
.btn-primary,
.newsletter-form button,
.full-width-btn {
  border-color: var(--oxblood);
  border-radius: 0;
  background: var(--oxblood);
  color: var(--midnight) !important;
  box-shadow: none;
}

.nav-cta:hover,
.btn-primary:hover,
.newsletter-form button:hover,
.full-width-btn:hover {
  border-color: var(--oxblood-soft);
  background: var(--oxblood-soft);
  color: var(--midnight) !important;
}

.btn-secondary {
  border-color: var(--oxblood);
  color: var(--oxblood-soft);
}

.btn-secondary:hover {
  background: var(--oxblood);
  color: var(--midnight);
}

.site-main,
.content-section,
.marketing-page,
.services-page,
.case-studies-page,
.contact-page,
.about-page,
.regulatory-page {
  background: var(--midnight-2);
  color: var(--slate);
}

.page-hero,
.marketing-hero {
  border-bottom: 1px solid var(--rule-night);
  background:
    radial-gradient(circle at 84% 22%, rgba(255, 255, 255, 0.035), transparent 25rem),
    var(--midnight);
}

.page-hero::after,
.marketing-hero::after {
  display: none;
}

.section-label,
.page-regulatory,
.insight-date,
.case-sector,
.case-number,
.ci-num,
.ci-client,
.ra-domain-num {
  color: var(--oxblood-soft);
}

.page-regulatory::before {
  border: 1px solid var(--oxblood);
  background: transparent;
  color: var(--oxblood-soft);
}

.page-title,
.page-hero h1,
.marketing-hero h1,
.content-section h1,
.content-section h2,
.content-section h3,
.content-section h4,
.lead,
.faq-question,
.ci-title,
.case-head h2,
.case-head h3,
.contact-detail-text strong,
.newsletter-inner h3 {
  color: var(--bone);
}

.page-intro,
.content-section p,
.content-section li,
.marketing-page p,
.marketing-page li,
.insight-article-meta,
.source-note,
.form-note,
.newsletter-inner p {
  color: var(--slate);
}

.regulatory-grid,
.pillar-services,
.insights-grid,
.contact-grid,
.marketing-layout,
.ra-grid {
  border-color: var(--rule-night);
}

.regulatory-card,
.pillar-service-card,
.insight-card,
.case-study-full,
.case-index,
.form-card,
.download-card,
.methodology-box,
.resource-summary,
.ra-section,
.ra-radar-card,
.ra-priority,
.ra-note {
  border-color: var(--rule-night);
  background: var(--midnight);
  color: var(--slate);
  box-shadow: none;
}

.case-index a {
  background: var(--midnight);
  color: var(--bone);
}

.case-index a:hover {
  background: var(--pearl);
}

.case-index .ci-num,
.case-index .ci-title {
  color: var(--bone);
}

.case-index .ci-client {
  color: var(--mist);
}

.regulatory-card:hover,
.pillar-service-card:hover,
.insight-card:hover,
.download-card:hover {
  border-color: rgba(255, 255, 255, 0.45);
  box-shadow: none;
}

.styled-list li::before,
.card-arrow,
.card-link,
.case-deliverables strong,
.case-stat-num,
.contact-detail-icon {
  color: var(--oxblood-soft);
}

.section-divider,
.footer-legal-block,
.footer-bottom,
.faq-item,
.case-study-full,
.form-group input,
.form-group textarea,
.form-group select,
.newsletter-form input {
  border-color: var(--rule-night);
}

.form-group input,
.form-group textarea,
.form-group select,
.newsletter-form input {
  background: var(--midnight);
  color: var(--bone);
}

.form-group input::placeholder,
.form-group textarea::placeholder,
.newsletter-form input::placeholder {
  color: var(--mist);
}

.newsletter-section {
  border-top: 1px solid var(--rule-night);
  background: var(--midnight-2);
}

.newsletter-inner {
  border-color: var(--rule-night);
  background: var(--midnight);
}

footer {
  border-top: 1px solid var(--rule-night);
  background: var(--midnight);
}

footer,
footer p,
footer li,
footer a {
  color: var(--mist);
}

footer h4,
.footer-regulatory strong,
.footer-legal-block strong {
  color: var(--bone);
}

footer a:hover,
.footer-reg-links a,
.footer-legal a {
  color: var(--oxblood-soft);
}

.lead-magnet-panel,
.mid-funnel-cta {
  background: var(--midnight-2);
}

.lead-magnet-card {
  border-color: var(--rule-night);
  background: var(--midnight);
  color: var(--slate);
  box-shadow: none;
}

.lead-magnet-card h3 {
  color: var(--bone);
}

.lead-magnet-card p,
.marketing-form label {
  color: var(--slate);
}

.marketing-form input,
.marketing-form select,
.marketing-form textarea {
  border-color: var(--rule-night);
  background: var(--midnight);
  color: var(--bone);
}

.contextual-cta {
  border-color: var(--rule-night);
}

.consent-banner {
  border-color: var(--rule-night);
  background: var(--midnight);
  color: var(--bone);
  box-shadow: none;
}

.consent-banner p {
  color: var(--slate);
}

.consent-accept {
  background: var(--bone);
  color: var(--midnight);
}

.consent-reject {
  background: var(--pearl);
  color: var(--bone);
}

@media (max-width: 980px) {
  #nav-links {
    border-top: 1px solid var(--rule-night);
    background: var(--midnight);
  }

  #hamburger span {
    background: var(--oxblood-soft);
  }
}
