/* ==========================================================================
   Heitner Legal — "new logo" brand theme
   Activated by <html data-brand="modern">. Palette from the ribbon logo:
   navy #112F59, coral #F95A51, blue #1B7BC2. Display type is Montserrat, scaled
   with size-adjust so it occupies roughly the same space as Cormorant.
   ========================================================================== */

@font-face {
  font-family: 'HL Display';
  src: url('../fonts/montserrat-latin-var.woff2') format('woff2');
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
  size-adjust: 80%;
}

html[data-brand="modern"] {
  --ink-rgb: 11, 26, 51;
  --bone-rgb: 241, 245, 250;
  --brass-rgb: 249, 90, 81;
  --brass-2-rgb: 108, 184, 245;
  --brass-deep-rgb: 26, 108, 176;
  --navy-rgb: 26, 61, 110;
  --ink: #0b1a33;
  --ink-2: #112f59;
  --navy: #1a3d6e;
  --brass: #f95a51;
  --brass-2: #6cb8f5;
  --brass-deep: #1a6cb0;
  --bone: #eef3f9;
  --paper: #f8fafd;
  --slate: #7a879c;
  --text: #14213a;
  --text-soft: #56637a;
  --text-prose: #2a3650;
  --on-dark: #f4f7fb;
  --monogram: #1d4e8c;
  --card: #fff;
  --serif: 'HL Display', 'Montserrat', 'Segoe UI', system-ui, sans-serif;
  --radius: 14px;
}

/* Display type: confident weights, no italics. */
html[data-brand="modern"] :is(.h-mega, .h-hero, .h-display, .h2, .h3, .mega-lede, .drop-name, .mobile-menu nav > a, .mobile-menu summary, .svc-title, .rep-h, .rb-k, .record-caption strong, .record-point h3, .tl-year, .tl-title, .honor-org, .slide-pull, .slide figcaption strong, .tab-name, .att-name, .att-monogram span, .post-title, .cform-success h3, .lead strong, .prose .h3, .prose .h4, .feature-t, .prose-cta h2, .pa-title, .cred-k, .steps strong, .footer-word) {
  font-weight: 700;
  font-style: normal;
  letter-spacing: -0.025em;
}
html[data-brand="modern"] :is(.hs-sub, .hero-sub, .statement-text, .rep-line, .index-list li, .ledger dd, .pull-quote blockquote p, .footer-tag, .slide-avatar, .lead-mono, .steps li > span) {
  font-weight: 500;
  font-style: normal;
  letter-spacing: -0.015em;
}
html[data-brand="modern"] :is(.h-mega, .h-hero, .h-display) { letter-spacing: -0.035em; line-height: 1.02; }

/* Logo: ribbon symbol + live-text wordmark, matching the supplied logo. */
html:not([data-brand="modern"]) .mark-modern { display: none; }
html[data-brand="modern"] svg.mark { display: none; }
html[data-brand="modern"] .mark-modern { height: auto; }
html[data-brand="modern"] .mark-modern-color { display: none; }
html[data-brand="modern"] :is(.statement, .about-copy, .bl-light, .team-sec, .record, .authority) .mark-modern-light { display: none; }
html[data-brand="modern"] :is(.statement, .about-copy, .bl-light, .team-sec, .record, .authority) .mark-modern-color { display: block; }
html[data-brand="modern"] .logo .mark-modern { width: 44px; }
html[data-brand="modern"] .wordmark { gap: 1px; }
html[data-brand="modern"] .wm-name { font-family: var(--serif); font-weight: 800; font-size: 27px; letter-spacing: 0.01em; margin-right: 0; line-height: 1; }
html[data-brand="modern"] .wm-sub { font-family: var(--serif); font-weight: 500; font-size: 26px; letter-spacing: 0.02em; margin: 2px 0 0; color: var(--brass-2); text-transform: uppercase; line-height: 1; }
html[data-brand="modern"] .bl-light .wm-name { color: #112f59; }
html[data-brand="modern"] .bl-light .wm-sub { color: #1b7bc2; }
html[data-brand="modern"] .logo-xl .wm-name { font-size: 50px; }
html[data-brand="modern"] .logo-xl .wm-sub { font-size: 48px; }
html[data-brand="modern"] .about-mark .mark-modern { width: min(170px, 100%); }
html[data-brand="modern"] .footer-word { -webkit-text-stroke: 1px rgba(var(--brass-2-rgb), 0.28); font-size: clamp(48px, 11vw, 190px); }

/* Shape language: rounded, friendlier than the classic hairline frames. */
html[data-brand="modern"] .btn { border-radius: 999px; padding-left: 26px; padding-right: 22px; }
html[data-brand="modern"] .btn-brass:hover { background: var(--brass-2); }
html[data-brand="modern"] :is(.chip, .also-list a, .hs-more .also-list a) { border-radius: 999px; }
html[data-brand="modern"] .social a { border-radius: 50%; }
html[data-brand="modern"] :is(.record-frame, .att-media, .post-media, .profile-media, .cta-form, .consult-card, .contact-form-wrap, .prose-cta, .record-badge, .book-frame, .bl, .sw-chip, .lead-img) { border-radius: var(--radius); }
html[data-brand="modern"] :is(.feature-grid, .pa-grid, .icon-grid) { border-radius: var(--radius); overflow: hidden; }
html[data-brand="modern"] :is(.hero-icon, .rep-icon) { border-radius: 12px; }
html[data-brand="modern"] :is(.record-frame, .profile-media, .att-monogram)::after { display: none; }
html[data-brand="modern"] .tl-item::before { border-radius: 50%; transform: none; }
html[data-brand="modern"] .pa-tile:hover { background: var(--ink-2); }

/* Photography: a navy colour wash ties the warm library imagery to the new palette. */
html[data-brand="modern"] :is(.hero-media, .page-hero-media, .cta-media, .nil-media)::after {
  content: ''; position: absolute; inset: 0; background: #112f59; mix-blend-mode: color; opacity: 0.55; pointer-events: none;
}
