/* Bailey Justice Law: September 2026 upgrade. Load AFTER the existing bjl-site CSS.
   Existing palette, fonts, source imagery and desktop composition remain authoritative. */
body.bjl-upgrade {
  --bjl-input-ms: 120ms;
  --bjl-hover-ms: 180ms;
  --bjl-panel-ms: 440ms;
  --bjl-close-ms: 280ms;
  --bjl-scrim-ms: 320ms;
  --bjl-enter-ease: cubic-bezier(.18,.72,.24,1);
  --bjl-exit-ease: cubic-bezier(.4,0,.75,.35);
  --bjl-header-measured: var(--responsive-header-height, 80px);
}
.bjl-upgrade :where(button, input, select, textarea) { touch-action: manipulation; }
.bjl-upgrade :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--brass-deep, #745a2f); outline-offset: 4px;
}
.bjl-upgrade :where(.site-header,.site-footer,.section-dark,.hero,.inner-hero) :focus-visible {
  outline-color: var(--brass, #b79a63);
}
.bjl-upgrade :where(.footer-menu a,.footer-links a,.footer-contact-item[href]) { min-height: 44px; }
.bjl-upgrade :where(.footer-contact-value,.contact-value,.rich-text a) { overflow-wrap: anywhere; word-break: normal; }
.bjl-upgrade :where(.btn,.route-card,.practice-card) { transition-duration: var(--bjl-hover-ms); }
.bjl-upgrade .bjl-mobile-navigation { display: none; }
.bjl-upgrade .bjl-mobile-navigation > summary { list-style: none; }
.bjl-upgrade .bjl-mobile-navigation > summary::-webkit-details-marker { display: none; }
.bjl-upgrade .bjl-mobile-navigation > summary::marker { content: ""; }
.bjl-upgrade .bjl-menu-close { display: none; }
.bjl-upgrade .bjl-menu-scrim { display: none; }
.bjl-upgrade .bjl-form-field-error { color: #7a211b; font-size: 1rem; line-height: 1.5; }
.bjl-upgrade .bjl-form-field-error:empty { display: none; }
.bjl-upgrade .checkbox-field .bjl-form-field-error { grid-column: 1 / -1; }
.bjl-upgrade #form-errors a { text-decoration: underline; text-underline-offset: 3px; }
.bjl-upgrade #form-errors:focus { outline: 2px solid var(--brass-deep); outline-offset: 4px; }
.bjl-upgrade #inquiry-form :where(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) { border-color: #8c8170; }
.bjl-upgrade #inquiry-form :where(input, select, textarea):focus-visible { border-color: var(--brass-deep); }
/* Preserve the normal layout while allowing enlarged text to fit its columns. */
.bjl-upgrade :where(.value-label, .value-text, .credential-phrase, .section-title, .inner-hero h1, .rich-text, .process-step, .footer-links a) { overflow-wrap: anywhere; }
.bjl-upgrade :where(.value-item, .process-step) { min-width: 0; }
.bjl-upgrade .form-status[hidden] { display: none; }
.bjl-upgrade .story-section,
.bjl-upgrade #inquiry-form,
.bjl-upgrade .rich-text [id] { scroll-margin-top: calc(var(--bjl-header-measured) + 16px); }
/* The old scrim is a body pseudo-element. This layer replaces ONLY that navigation surface. */
.bjl-upgrade::after { content: none; }
.bjl-upgrade.menu-open { overflow: hidden; }
.bjl-upgrade .bjl-mobile-navigation[open] > summary span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.bjl-upgrade .bjl-mobile-navigation[open] > summary span:nth-child(2) { opacity: 0; }
.bjl-upgrade .bjl-mobile-navigation[open] > summary span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

@media (max-width:1060px) {
  .bjl-upgrade .desktop-nav { display:none; }
  .bjl-upgrade .bjl-mobile-navigation { display:block; flex: 0 0 auto; }
  .bjl-upgrade .bjl-mobile-navigation > .menu-toggle {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    width:48px; min-width:48px; height:48px; min-height:48px; padding:0;
    cursor:pointer; position:relative; z-index:1003;
  }
  .bjl-upgrade .menu-toggle span { width:21px; flex:0 0 1px; height:1px; margin:2px auto; }
  .bjl-upgrade .mobile-nav {
    position:fixed; inset:var(--bjl-header-measured) 0 auto auto; z-index:1002;
    box-sizing:border-box; width:min(50vw,360px); max-width:min(50vw,360px);
    height:calc(100vh - var(--bjl-header-measured)); height:calc(100dvh - var(--bjl-header-measured));
    max-height:none; padding:16px 16px calc(20px + env(safe-area-inset-bottom,0px));
    display:none; grid-template-rows:auto; gap:0; align-content:start;
    background:linear-gradient(155deg,#111 0%,#090909 72%);
    border-left:1px solid rgba(183,154,99,.34); box-shadow:-12px 0 28px rgba(0,0,0,.2);
    opacity:1; visibility:visible; pointer-events:auto; clip-path:none;
    transform:none; transition:none; will-change:auto;
    overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
  }
  .bjl-upgrade .bjl-mobile-navigation[open] .mobile-nav { display:block; }
  .bjl-upgrade .bjl-mobile-navigation[data-enhanced] .mobile-nav {
    transform:translateX(100%); transition:transform var(--bjl-panel-ms) var(--bjl-enter-ease);
  }
  .bjl-upgrade .bjl-mobile-navigation[data-enhanced].is-visible .mobile-nav { transform:translateX(0); }
  .bjl-upgrade .bjl-mobile-navigation[data-enhanced].is-closing .mobile-nav {
    transform:translateX(100%); transition-duration:var(--bjl-close-ms); transition-timing-function:var(--bjl-exit-ease);
  }
  .bjl-upgrade .bjl-menu-scrim {
    display:block; position:fixed; inset:var(--bjl-header-measured) 0 0; z-index:1001;
    background:rgba(0,0,0,.34); opacity:1; cursor:pointer;
  }
  .bjl-upgrade .bjl-mobile-navigation:not([open]) .bjl-menu-scrim { display:none; }
  .bjl-upgrade .bjl-mobile-navigation[data-enhanced] .bjl-menu-scrim {
    opacity:0; transition:opacity var(--bjl-scrim-ms) ease;
  }
  .bjl-upgrade .bjl-mobile-navigation.is-visible .bjl-menu-scrim { opacity:1; }
  .bjl-upgrade .bjl-mobile-navigation.is-closing .bjl-menu-scrim { opacity:0; }
  .bjl-upgrade .bjl-mobile-navigation[data-enhanced] .bjl-menu-close {
    display:flex; width:44px; height:44px; min-height:44px; min-width:44px;
    margin:0 0 8px auto; border:1px solid var(--line-dark); padding:0;
    align-items:center; justify-content:center; font-size:24px; font-weight:400;
    color:var(--paper); background:transparent; cursor:pointer;
  }
  .bjl-upgrade .mobile-nav .primary-menu { display:grid; gap:0; width:100%; }
  .bjl-upgrade .mobile-nav .primary-menu li { width:100%; min-width:0; }
  .bjl-upgrade .mobile-nav .nav-link {
    display:flex; width:100%; min-height:48px; height:auto; padding:10px 0;
    font-size:1rem; letter-spacing:.025em; line-height:1.35;
    white-space:normal; overflow-wrap:normal; word-break:normal;
  }
  .bjl-upgrade .mobile-nav .nav-link:hover,
  .bjl-upgrade .mobile-nav .nav-link:focus-visible { padding-left:0; color:var(--brass); }
  .bjl-upgrade .mobile-nav .nav-link::after { background:var(--brass); }
  .bjl-upgrade .mobile-nav-actions { display:grid; gap:12px; margin-top:20px; }
  .bjl-upgrade .mobile-nav .btn {
    width:100%; min-height:48px; height:auto; margin:0; padding:12px 8px;
    font-size:.875rem; line-height:1.35; letter-spacing:.025em; white-space:normal;
    overflow-wrap:normal; word-break:normal;
  }
  .bjl-upgrade .mobile-nav .btn:hover { transform:none; }
  /* Logical layout keeps a native disclosure usable when enhancement never starts. */
  .bjl-upgrade:has(.bjl-mobile-navigation[open]) { overflow:hidden; }
}

/* Deliberate intermediate composition, not a phone design stretched through tablet. */
@media (min-width:601px) and (max-width:780px) {
  .bjl-upgrade { --responsive-header-height:64px; --mobile-gutter:24px; --mobile-section:40px; --mobile-section-compact:32px;
    --mobile-h1:2.375rem; --mobile-page-h1:2.25rem; --mobile-h2:1.75rem; --mobile-h3:1.25rem; --mobile-card-padding:20px; }
  .bjl-upgrade .hero { min-height:0; height:auto; }
  .bjl-upgrade .hero-grid { min-height:0; }
  .bjl-upgrade .hero-copy { padding:36px 24px; }
  .bjl-upgrade .hero-copy > p:not(.eyebrow) { width:min(65%,420px); }
  .bjl-upgrade .hero-actions { width:min(100%,420px); }
  .bjl-upgrade .value-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bjl-upgrade .value-item { min-height:0; padding:18px 24px; }
  .bjl-upgrade .practice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .bjl-upgrade .practice-card { min-height:320px; }
  .bjl-upgrade .story-media { aspect-ratio:5/4; }
  .bjl-upgrade .inner-hero { min-height:0; padding-block:32px; }
  .bjl-upgrade .footer-main { padding-block:32px 24px; gap:24px; }
}
@media (min-width:781px) and (max-width:1060px) {
  .bjl-upgrade .hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
  .bjl-upgrade .hero-title > span { white-space:normal; }
  .bjl-upgrade .hero-line-final > span { display:inline; }
  .bjl-upgrade .hero { height:auto; min-height:560px; }
}

/* Bailey compact phone scope. These are project-selected values, not a new identity. */
@media (max-width:600px) {
  .bjl-upgrade {
    --responsive-header-height:56px;
    --mobile-gutter:18px;
    --mobile-section:28px;
    --mobile-section-compact:24px;
    --mobile-card-padding:16px;
    --mobile-h1:clamp(1.9375rem,calc(1.080357rem + 4.285714vw),2.1875rem);
    --mobile-page-h1:2rem; --mobile-h2:1.375rem; --mobile-h3:1.1875rem;
    --container:calc(100% - (var(--mobile-gutter) * 2)); --section:28px;
    font-size:1rem; line-height:1.5;
  }
  .bjl-upgrade .header-inner {
    min-height:calc(56px + env(safe-area-inset-top,0px)); height:auto;
    padding-top:env(safe-area-inset-top,0px); gap:8px;
  }
  .bjl-upgrade .header-inner .brand { min-height:48px; gap:8px; min-width:0; }
  .bjl-upgrade .header-inner .monogram { height:32px; width:29px; padding-right:7px; font-size:1.25rem; }
  .bjl-upgrade .header-inner .brand-name { font-size:.75rem; letter-spacing:.065em; max-width:none; line-height:1.25; }
  .bjl-upgrade .header-inner .brand-sub { margin-top:3px; font-size:.625rem; letter-spacing:.06em; max-width:none; line-height:1.3; }
  .bjl-upgrade .header-inner .custom-logo { max-width:min(230px,calc(100vw - 104px)); max-height:40px; width:auto; }
  .bjl-upgrade .eyebrow,
  .bjl-upgrade .practice-kicker,
  .bjl-upgrade .footer-heading,
  .bjl-upgrade .contact-label { font-size:.75rem; line-height:1.35; letter-spacing:.08em; }
  .bjl-upgrade .eyebrow { margin-bottom:10px; }
  .bjl-upgrade :where(.section-title,.practice-intro .section-title,.final-cta h2) {
    font-size:var(--mobile-h2); line-height:1.14; letter-spacing:-.025em;
  }
  .bjl-upgrade .section-lead { font-size:1rem; line-height:1.5; margin-top:12px; }
  .bjl-upgrade .btn { min-height:48px; height:auto; padding:12px 16px; font-size:.875rem; letter-spacing:.035em; line-height:1.35; white-space:normal; }
  .bjl-upgrade .text-link { min-height:44px; font-size:.875rem; letter-spacing:.045em; line-height:1.35; }
  .bjl-upgrade .btn:hover { transform:none; }
  .bjl-upgrade .section { padding-block:28px; }
  .bjl-upgrade .section-head { margin-bottom:20px; }
  .bjl-upgrade .section-head .btn { margin-top:16px; }

  .bjl-upgrade .hero { min-height:0; height:auto; overflow:visible; }
  .bjl-upgrade .hero-grid {
    width:100%; min-height:0; height:auto; display:grid;
    grid-template-columns:minmax(0,1fr) clamp(96px,30.8vw,150px);
    grid-template-rows:auto auto auto auto; column-gap:16px; row-gap:0;
    padding:28px var(--mobile-gutter); align-items:start;
  }
  .bjl-upgrade .hero-copy { display:contents; }
  .bjl-upgrade .hero-copy > .eyebrow { grid-column:1/-1; grid-row:1; margin:0 0 12px; }
  .bjl-upgrade .hero h1 { grid-column:1/-1; grid-row:2; width:100%; max-width:none; margin:0 0 18px;
    font-size:var(--mobile-h1); line-height:1.04; letter-spacing:-.035em; text-wrap:initial; }
  .bjl-upgrade .hero-title > span { display:block; white-space:normal; overflow-wrap:anywhere; }
  .bjl-upgrade .hero-line-final > span { display:inline; }
  .bjl-upgrade .hero-copy > p:not(.eyebrow) {
    grid-column:1; grid-row:3; min-width:0; width:100%; max-width:none; margin:0;
    color:#d5d1ca; font-size:1rem; line-height:1.5;
  }
  .bjl-upgrade .hero-media {
    grid-column:2; grid-row:3; grid-area:3/2/4/3; position:relative; inset:auto;
    z-index:0; width:100%; height:auto; min-height:180px; align-self:stretch;
    overflow:hidden; background:var(--ink); border:0;
  }
  .bjl-upgrade .hero-media::before {
    /* Keep the dissolve close to the heading instead of fading into the face. */
    z-index:2;
    background:
      linear-gradient(90deg,var(--ink) 0,rgba(11,11,11,.65) 2px,rgba(11,11,11,.18) 4px,transparent 6px),
      linear-gradient(270deg,var(--ink) 0%,rgba(11,11,11,.4) 4%,transparent 14%),
      linear-gradient(180deg,var(--ink) 0%,rgba(11,11,11,.3) 3%,transparent 9%),
      linear-gradient(0deg,var(--ink) 0%,rgba(11,11,11,.5) 9%,transparent 27%);
  }
  .bjl-upgrade .hero-media img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:52% 20%;
    filter:grayscale(1) contrast(1.06) brightness(.94);
  }
  .bjl-upgrade .hero-actions {
    grid-column:1/-1; grid-row:4; width:100%; display:grid; grid-template-columns:1fr;
    margin:20px 0 0; gap:12px;
  }
  .bjl-upgrade .hero-actions .btn { width:100%; min-height:48px; font-size:.875rem; white-space:normal; }

  .bjl-upgrade .value-strip .container { width:var(--container); }
  .bjl-upgrade .value-grid { min-height:0; grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:1fr; gap:8px; padding-block:10px; }
  .bjl-upgrade .value-item { position:relative; min-height:0; display:grid;
    grid-template-columns:16px minmax(0,1fr); column-gap:6px; align-items:start;
    padding:9px; border:1px solid var(--line-light); border-radius:11px;
    background:rgba(255,255,255,.62); box-shadow:0 3px 10px rgba(11,11,11,.025); }
  .bjl-upgrade .value-item:first-child,
  .bjl-upgrade .value-item:last-child { padding-inline:9px; border:1px solid var(--line-light); }
  .bjl-upgrade .value-icon { position:static; width:16px; height:16px; margin:1px 0 0; }
  .bjl-upgrade .value-label { padding-left:0; min-height:18px; font-size:.78125rem;
    letter-spacing:0; line-height:1.4; text-transform:none; text-wrap:balance; }
  .bjl-upgrade .value-text { font-size:.875rem; line-height:1.4; margin-top:4px; text-wrap:pretty; }

  .bjl-upgrade .home-practice { padding-block:28px; }
  .bjl-upgrade .practice-intro { margin-bottom:20px; text-align:left; }
  .bjl-upgrade .practice-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .bjl-upgrade .practice-card { min-height:270px; height:auto; padding-top:32px; }
  .bjl-upgrade .practice-content { padding:16px; }
  .bjl-upgrade .practice-icon { margin-bottom:10px; width:24px; height:24px; }
  .bjl-upgrade .practice-card h3 { font-size:1.1875rem; line-height:1.2; margin:8px 0; }
  .bjl-upgrade .practice-card p { font-size:1rem; line-height:1.5; margin:0 0 10px; }
  .bjl-upgrade .practice-card .text-link { min-height:44px; }
  .bjl-upgrade .practice-all { margin-top:16px; }

  .bjl-upgrade .story-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; align-items:start; }
  .bjl-upgrade .story-copy { display:contents; }
  /* Keep the full original portrait between the phone heading and supporting copy. */
  .bjl-upgrade .story-media { grid-column:1; grid-row:3; width:100%; height:auto; min-height:0;
    max-height:none; aspect-ratio:auto; margin-top:18px; align-self:start; box-shadow:none; }
  .bjl-upgrade .story-media img { height:auto; object-fit:contain; object-position:center; transform:none; }
  .bjl-upgrade .story-copy > .eyebrow { grid-column:1; grid-row:1; margin:0 0 10px; }
  .bjl-upgrade .story-copy > .section-title { grid-column:1; grid-row:2; margin:0; text-wrap:balance; }
  .bjl-upgrade .story-copy > .section-lead { grid-column:1/-1; grid-row:4; margin:16px 0 0; }
  .bjl-upgrade .story-copy > p:not(.eyebrow):not(.section-lead):not(.brand-principle) { grid-column:1/-1; margin:12px 0 0; }
  .bjl-upgrade .story-copy > .brand-principle { grid-column:1/-1; font-size:1.0625rem; line-height:1.45;
    margin:20px 0; padding-left:14px; }
  .bjl-upgrade .credential-list { grid-column:1/-1; grid-template-columns:minmax(0,1fr); gap:0; margin:0 0 12px; }
  .bjl-upgrade .credential-list li { min-width:0; min-height:0; padding:9px 0;
    font-size:.875rem; line-height:1.45; text-wrap:pretty; }
  .bjl-upgrade .credential-phrase { display:inline-block; max-width:100%; vertical-align:top; }
  .bjl-upgrade .story-copy > .text-link { grid-column:1/-1; justify-self:start; }

  .bjl-upgrade .process-section { padding-block:28px; }
  .bjl-upgrade .process-grid { margin-top:16px; display:grid; grid-template-columns:1fr; }
  .bjl-upgrade .process-step,
  .bjl-upgrade .process-step + .process-step { display:grid; grid-template-columns:minmax(32px,max-content) minmax(0,1fr);
    gap:6px 12px; padding:16px 0; border-left:0; }
  .bjl-upgrade .step-number { grid-column:1; grid-row:1/3; font-size:1.375rem; line-height:1.25; }
  .bjl-upgrade .process-step h3 { grid-column:2; margin:0; font-size:1.1875rem; line-height:1.25; }
  .bjl-upgrade .process-step p { grid-column:2; margin:0; font-size:1rem; line-height:1.5; }
  .bjl-upgrade .insight-card { min-height:0; padding:16px; }
  .bjl-upgrade .insight-card h3 { font-size:1.1875rem; margin:12px 0; }
  .bjl-upgrade .final-cta-inner { min-height:0; padding-block:28px; display:block; }
  .bjl-upgrade .final-cta p { margin:12px 0 0; font-size:1rem; line-height:1.5; }
  .bjl-upgrade .final-cta .btn { min-height:48px; margin-top:16px; }

  .bjl-upgrade .inner-hero { min-height:0; padding:28px 0; }
  .bjl-upgrade .inner-hero h1 { font-size:2rem; line-height:1.06; letter-spacing:-.025em; }
  .bjl-upgrade .inner-hero p { margin-top:12px; font-size:1rem; line-height:1.5; }
  .bjl-upgrade .inner-hero .eyebrow { margin:0 0 10px; font-size:.75rem; }
  .bjl-upgrade .inner-hero-grid { grid-template-columns:1fr; gap:20px; }
  .bjl-upgrade .action-offset { margin-top:16px; }
  .bjl-upgrade .inner-portrait { aspect-ratio:16/9; min-height:0; max-height:none; }
  .bjl-upgrade .page-template-template-practice .inner-portrait { aspect-ratio:16/9; }
  .bjl-upgrade.page-template-template-firm .inner-hero { padding-bottom:28px; }
  .bjl-upgrade.page-template-template-firm .inner-hero-grid { grid-template-columns:minmax(0,1fr) 100px; gap:16px; align-items:start; }
  .bjl-upgrade.page-template-template-firm .inner-portrait { aspect-ratio:3/4; min-height:140px; max-height:none; }
  .bjl-upgrade .monogram-panel { min-height:100px; aspect-ratio:16/5; }
  .bjl-upgrade .monogram-panel span { font-size:3rem; }
  .bjl-upgrade .content-grid { grid-template-columns:1fr; gap:20px; }
  .bjl-upgrade .sticky-label { position:static; }
  .bjl-upgrade :where(.rich-text,.rich-text p,.rich-text li) { font-size:1rem; line-height:1.55; }
  .bjl-upgrade .rich-text p { margin-block:0 14px; }
  .bjl-upgrade .rich-text h2 { font-size:1.375rem; line-height:1.2; margin:24px 0 12px; }
  .bjl-upgrade .rich-text h2:not(:first-child) { margin-top:24px; }
  .bjl-upgrade .rich-text h2:first-child { margin-top:0; }
  .bjl-upgrade .rich-text h3 { font-size:1.1875rem; line-height:1.25; margin:20px 0 10px; }
  .bjl-upgrade .rich-text .btn { min-height:48px; }
  .bjl-upgrade :where(.legal-note,.legal-notice) { margin-top:20px; padding:14px 16px; font-size:1rem; line-height:1.5; }
  .bjl-upgrade .route-grid { grid-template-columns:1fr; gap:12px; }
  .bjl-upgrade .route-card,
  .bjl-upgrade .route-card:last-child:nth-child(odd) { min-height:0; padding:16px; }
  .bjl-upgrade .route-icon { width:24px; height:24px; margin-bottom:10px; }
  .bjl-upgrade .route-card h2 { margin:8px 0; font-size:1.1875rem; line-height:1.25; }
  .bjl-upgrade .route-card p { font-size:1rem; line-height:1.5; margin:8px 0 12px; }
  .bjl-upgrade .consultation-card .text-link { padding-top:12px; min-height:44px; }
  .bjl-upgrade .consultation-meta { gap:8px; }
  .bjl-upgrade .consultation-meta span { font-size:.875rem; min-height:0; padding:6px 10px; }
  .bjl-upgrade .section-action { margin-top:20px; }
  .bjl-upgrade .resource-direction { padding:16px; }
  .bjl-upgrade .resource-direction h2 { font-size:1.375rem; line-height:1.2; }
  .bjl-upgrade .resource-direction > p:not(.eyebrow) { font-size:1rem; line-height:1.5; }

  .bjl-upgrade .contact-grid { grid-template-columns:1fr; gap:24px; }
  .bjl-upgrade .contact-card { position:static; padding:16px; }
  .bjl-upgrade .contact-row { padding:12px 0; }
  .bjl-upgrade .contact-row:first-child { padding-top:0; }
  .bjl-upgrade .contact-row:last-child { padding-bottom:0; }
  .bjl-upgrade .contact-value { font-size:1rem; line-height:1.5; margin-top:6px; }
  .bjl-upgrade a.contact-value { display:flex; align-items:center; min-height:44px; }
  .bjl-upgrade .contact-grid > .contact-inquiry { padding:16px; box-shadow:none; }
  .bjl-upgrade .form { grid-template-columns:1fr; gap:16px; }
  .bjl-upgrade .field { gap:8px; }
  .bjl-upgrade .field label,
  .bjl-upgrade .field-label { font-size:.875rem; line-height:1.4; letter-spacing:.035em; }
  .bjl-upgrade .field :where(input,select,textarea) { font-size:1rem; min-height:48px; padding:12px; }
  .bjl-upgrade .field textarea { min-height:128px; }
  .bjl-upgrade .field-help { font-size:.875rem; line-height:1.5; }
  .bjl-upgrade .checkbox-field { grid-template-columns:24px minmax(0,1fr); gap:12px; min-height:48px; align-items:start; }
  .bjl-upgrade .checkbox-field input { width:22px; height:22px; min-height:22px; padding:0; margin-top:12px; }
  .bjl-upgrade .checkbox-field label { min-height:48px; padding-block:8px; font-size:1rem; line-height:1.5; letter-spacing:0; }
  .bjl-upgrade .form .btn { min-height:48px; white-space:normal; }
  .bjl-upgrade .review-mode-note { margin:16px 0; padding:12px 14px; font-size:.875rem; line-height:1.5; }
  .bjl-upgrade .form-status { margin:16px 0; padding:12px 14px; font-size:1rem; line-height:1.5; }

  .bjl-upgrade .footer-main { grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"brand brand" "explore legal" "contact contact"; gap:20px 16px; padding:28px 0 20px; }
  .bjl-upgrade .footer-brand { grid-column:1/-1; grid-row:1; }
  .bjl-upgrade .footer-explore { grid-column:1; grid-row:2; }
  .bjl-upgrade .footer-legal { grid-column:2; grid-row:2; }
  .bjl-upgrade .footer-contact { grid-column:1/-1; grid-row:3; padding-top:12px; }
  .bjl-upgrade .site-footer .brand { gap:10px; }
  .bjl-upgrade .site-footer .monogram { width:34px; height:40px; padding-right:8px; font-size:1.5rem; }
  .bjl-upgrade .site-footer .brand-name { font-size:.875rem; letter-spacing:.075em; }
  .bjl-upgrade .site-footer .brand-sub { font-size:.6875rem; line-height:1.35; margin-top:5px; }
  .bjl-upgrade .footer-affiliations { margin-top:12px; }
  .bjl-upgrade .footer-seals { gap:12px; }
  .bjl-upgrade .footer-seal-trigger { width:48px; height:48px; }
  .bjl-upgrade .footer-heading { margin:0 0 8px; }
  .bjl-upgrade .footer-heading::after { margin-top:8px; }
  .bjl-upgrade .footer-menu,
  .bjl-upgrade .footer-links { gap:0; }
  .bjl-upgrade .site-footer .footer-menu :where(a,.nav-link),
  .bjl-upgrade .footer-links a { display:flex; align-items:center; min-height:44px; padding-block:8px;
    font-size:.875rem; line-height:1.4; }
  .bjl-upgrade .footer-contact-item { min-height:44px; font-size:.875rem; padding-block:8px; gap:10px; }
  .bjl-upgrade .footer-bottom { display:block; font-size:.875rem; line-height:1.5;
    padding:16px 0 calc(24px + env(safe-area-inset-bottom,0px)); }
  .bjl-upgrade .footer-bottom span { margin-top:8px; }
  .bjl-upgrade .footer-bottom a { display:inline-flex; min-height:44px; align-items:center; }
  .bjl-upgrade .seal-lightbox-close { min-height:44px; min-width:44px; }
}
@media (max-width:359px) {
  .bjl-upgrade { --mobile-gutter:16px; }
  .bjl-upgrade .mobile-nav { padding-inline:12px; }
  .bjl-upgrade .hero-grid { column-gap:12px; grid-template-columns:minmax(0,1fr) 96px; }
  .bjl-upgrade .credential-list { grid-template-columns:1fr; }
  .bjl-upgrade.page-template-template-firm .inner-hero-grid { grid-template-columns:1fr; }
  .bjl-upgrade.page-template-template-firm .inner-portrait { max-width:160px; aspect-ratio:3/4; }
}
@media (hover:hover) and (pointer:fine) {
  .bjl-upgrade .practice-card:hover img { transform:scale(1.02); }
}
@media (prefers-reduced-motion:reduce) {
  .bjl-upgrade *, .bjl-upgrade *::before, .bjl-upgrade *::after {
    animation:none !important; transition:none !important; scroll-behavior:auto !important;
  }
}
@media (max-width:1060px) {
  .bjl-upgrade .site-header { backdrop-filter:none; -webkit-backdrop-filter:none; }
  .bjl-upgrade .bjl-mobile-navigation.is-closing .bjl-menu-scrim { pointer-events:none; }
}
/* The existing optical artwork transforms are deliberately not redefined here. */
.bjl-upgrade dialog.seal-lightbox[open] { max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow:auto; }
@media (max-width:600px) {
  .bjl-upgrade .hero, .bjl-upgrade .value-strip { container-type:inline-size; }
  .bjl-upgrade .value-item > div { min-width:0; }
}
/* Container-query rem units track actual text enlargement, unlike viewport media em units.
   Keep all text and the original photograph when the supporting columns no longer fit. */
@container (max-width:18rem) {
  .bjl-upgrade .hero-grid { grid-template-columns:minmax(0,1fr); }
  .bjl-upgrade .hero-copy > p:not(.eyebrow) { grid-area:3/1/4/-1; }
  .bjl-upgrade .hero-media { grid-area:4/1/5/-1; width:min(160px,100%); height:200px; min-height:0; margin-top:16px; }
  .bjl-upgrade .hero-actions { grid-area:5/1/6/-1; }
}
/* Keep the four-tile composition at normal phone sizes; stack only when
   enlarged text leaves insufficient room for readable columns. */
@container (max-width:18rem) {
  .bjl-upgrade .value-grid { grid-template-columns:1fr; grid-auto-rows:auto; }
  .bjl-upgrade .value-item { display:grid; min-height:0; grid-template-columns:22px minmax(0,1fr);
    align-items:center; gap:12px; padding:12px; }
  .bjl-upgrade .value-icon { position:static; margin:0; }
  .bjl-upgrade .value-label { padding-left:0; }
}
@media (min-width:601px) and (max-width:780px) {
  .bjl-upgrade .header-inner { min-height:calc(64px + env(safe-area-inset-top,0px)); }
  .bjl-upgrade .hero h1 { font-size:var(--mobile-h1); max-width:65%; }
  .bjl-upgrade .hero-title > span { white-space:normal; }
  .bjl-upgrade .hero-line-final > span { display:inline; }
}
@container (max-width:18rem) {
  /* Emergency text-enlargement fallback only: never truncate a word wider than the viewport. */
  .bjl-upgrade .hero h1 { hyphens:auto; overflow-wrap:break-word; word-break:normal; }
}
@media (max-width:1060px) {
  .bjl-upgrade .mobile-nav { container-type:inline-size; }
}
@container (max-width:11rem) {
  /* Preserve the complete label at enlarged text in the fixed half-width cap. */
  .bjl-upgrade .mobile-nav :where(.nav-link,.btn) { hyphens:auto; overflow-wrap:anywhere; word-break:normal; }
}
.bjl-upgrade a.footer-contact-item { overflow-wrap:anywhere; word-break:normal; }
@media (max-width:600px) {
  .bjl-upgrade .header-inner .monogram { width:max(29px,1.8125rem); height:max(32px,2rem); }
  .bjl-upgrade .site-footer .monogram { width:max(34px,2.125rem); height:max(40px,2.5rem); }
  .bjl-upgrade .story-section, .bjl-upgrade .process-section { container-type:inline-size; }
}
@container (max-width:18rem) {
  .bjl-upgrade .process-step, .bjl-upgrade .process-step + .process-step { grid-template-columns:minmax(0,1fr); }
  .bjl-upgrade .step-number { grid-area:1/1/2/-1; }
  .bjl-upgrade .process-step h3 { grid-area:2/1/3/-1; }
  .bjl-upgrade .process-step p { grid-area:3/1/4/-1; }
}
.bjl-upgrade .btn:active { filter:brightness(.96); transition-duration:var(--bjl-input-ms); }
.bjl-upgrade .nav-link:active { color:var(--brass); }

/* Refinements from the real 2.5.9 WordPress renders, with original media. */
.bjl-upgrade .inner-portrait { min-width:0; width:100%; }
.bjl-upgrade .inner-portrait img[src*="sylvester-bailey-fort-lauderdale-attorney."] { object-position:center 8%; }
.bjl-upgrade .monogram-panel { aspect-ratio:auto; }
.bjl-upgrade .search-form { display:grid; gap:12px; container-type:inline-size; }
.bjl-upgrade .search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
.bjl-upgrade .search-row input[type="search"] {
  min-width:0; width:100%; min-height:48px; padding:12px 14px;
  font:inherit; font-size:1rem; border:1px solid rgba(255,255,255,.48); background:transparent; color:inherit;
}
@container (max-width:18rem) { .bjl-upgrade .search-row { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { html:has(body.bjl-upgrade) { scroll-behavior:auto; } }
@media (min-width:1061px) and (max-width:1279px) {
  .bjl-upgrade .footer-main {
    grid-template-columns:minmax(0,1.35fr) minmax(0,.7fr) minmax(0,1.1fr) minmax(0,.7fr);
    gap:24px;
  }
  .bjl-upgrade .footer-main > * { min-width:0; }
}
@media (max-width:1060px) {
  .bjl-upgrade .mobile-nav .nav-link,
  .bjl-upgrade .mobile-nav .btn { overflow-wrap:anywhere; }
  .bjl-upgrade .mobile-nav-actions { min-width:0; }
}
.bjl-upgrade dialog.seal-lightbox[role="dialog"][open] {
  position:fixed; inset:0; z-index:1100; margin:0; border:0;
  width:100vw; height:100dvh; max-width:none; max-height:none; background:rgba(0,0,0,.82);
}
.bjl-upgrade .seal-lightbox[role="dialog"] .seal-lightbox-panel {
  width:min(680px,calc(100vw - 32px)); background:#0d0d0d; border:1px solid rgba(183,154,99,.42);
}
html:has(body.bjl-upgrade) { scroll-padding-top:var(--bjl-header-measured,80px); }
.bjl-upgrade .story-section,
.bjl-upgrade #inquiry-form,
.bjl-upgrade .rich-text [id] { scroll-margin-top:16px; }
@media (max-width:600px) {
  .bjl-upgrade.page-template-template-firm .inner-hero-grid {
    grid-template-columns:minmax(0,1fr) 108px; column-gap:16px; row-gap:0;
  }
  .bjl-upgrade.page-template-template-firm .inner-hero-grid > div:first-child { display:contents; }
  .bjl-upgrade.page-template-template-firm .inner-hero .eyebrow { grid-area:1/1/2/-1; }
  .bjl-upgrade.page-template-template-firm .inner-hero h1 { grid-area:2/1/3/-1; margin-bottom:18px; }
  .bjl-upgrade.page-template-template-firm .inner-hero p:not(.eyebrow) { grid-area:3/1/4/2; margin:0; }
  .bjl-upgrade.page-template-template-firm .inner-portrait { grid-area:3/2/4/3; width:108px; height:150px; min-height:0; }
  .bjl-upgrade.page-template-template-firm .inner-hero { container-type:inline-size; }
  .bjl-upgrade .contact-row { display:grid; grid-template-columns:52px minmax(0,1fr); gap:12px; align-items:center; }
  .bjl-upgrade .contact-value { margin-top:0; }
  .bjl-upgrade .contact-card { container-type:inline-size; }
}
@container (max-width:18rem) {
  .bjl-upgrade.page-template-template-firm .inner-hero p:not(.eyebrow) { grid-area:3/1/4/-1; }
  .bjl-upgrade.page-template-template-firm .inner-portrait { grid-area:4/1/5/-1; margin-top:16px; }
  .bjl-upgrade .contact-row { grid-template-columns:minmax(0,1fr); gap:6px; }
}

/* Direct phone-review refinements. All business copy and destinations are retained. */
.bjl-upgrade [data-footer-group] > summary { list-style:none; }
.bjl-upgrade [data-footer-group] > summary::-webkit-details-marker { display:none; }
.bjl-upgrade .contact-method-icon { display:none; }
@media (max-width:600px) {
  .bjl-upgrade .hero-grid {
    --portrait-reach:clamp(12px,calc(18.5vw - 47.2px),32px);
    grid-template-columns:minmax(0,1fr) clamp(100px,31vw,186px); column-gap:12px;
  }
  .bjl-upgrade .hero h1 {
    grid-area:2/1/3/2; min-width:0; position:relative; z-index:1;
    font-size:1.625rem;
    font-size:clamp(1.5625rem,calc(.046053rem + 7.894737cqw),2.1875rem); line-height:1.06;
  }
  /* The photograph spans exactly the headline and support rows. Text owns its
     column, so long words never run across the face and the image cannot add
     empty height beneath the final sentence. */
  .bjl-upgrade .hero-media {
    grid-area:2/2/4/3; min-height:0; height:auto; align-self:stretch; container-type:inline-size;
    margin-left:calc(-1 * var(--portrait-reach)); width:calc(100% + var(--portrait-reach));
  }
  .bjl-upgrade .hero-media img {
    /* Use the widened visible area, with a slight optical correction left.
       Extra image width prevents uncovered edges at wider phone sizes. */
    left:-8%; width:116%; max-width:none; object-position:calc(50% + 1px) 12%;
  }
  .bjl-upgrade .hero-copy > p:not(.eyebrow) { position:relative; z-index:1; background:var(--ink); }
  .bjl-upgrade .hero-copy > p:not(.eyebrow)::after {
    content:""; position:absolute; left:100%; top:0; bottom:0; width:12px;
    background:linear-gradient(90deg,var(--ink),transparent); pointer-events:none;
  }

  .bjl-upgrade .home-practice .practice-grid {
    display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc(100% - 28px);
    gap:12px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity;
    padding:4px 0; scrollbar-width:none;
    scroll-behavior:smooth;
  }
  .bjl-upgrade .home-practice .practice-card { scroll-snap-align:start; min-width:0; min-height:300px; padding-top:24px; }
  .bjl-upgrade .home-practice .practice-card img[src*="sylvester-bailey-fort-lauderdale-attorney."] { object-position:50% 0%; }
  .bjl-upgrade .home-practice .practice-grid::-webkit-scrollbar { display:none; }
  .bjl-upgrade .practice-all { margin-top:8px; }

  .bjl-upgrade .mobile-nav .nav-link { font-size:.875rem; font-weight:500; text-transform:none; letter-spacing:.01em; }
  .bjl-upgrade .mobile-nav .btn { font-size:.8125rem; font-weight:600; text-transform:none; letter-spacing:.01em; }
  .bjl-upgrade .mobile-nav-actions { gap:10px; margin-top:16px; }

  .bjl-upgrade .footer-main {
    grid-template-areas:"brand brand" "contact contact" "explore legal";
    gap:16px; padding-block:24px 12px;
  }
  .bjl-upgrade .footer-main > .footer-brand { grid-column:1/-1; grid-row:1; }
  .bjl-upgrade .footer-main > .footer-contact { grid-column:1/-1; grid-row:2; padding:0; border:0; }
  .bjl-upgrade .footer-main > .footer-explore { grid-column:1; grid-row:3; }
  .bjl-upgrade .footer-main > .footer-legal { grid-column:2; grid-row:3; }
  .bjl-upgrade .footer-contact > .footer-heading { display:none; }
  .bjl-upgrade .footer-contact-item { min-height:48px; font-size:.875rem; line-height:1.4; padding:8px 0; }
  .bjl-upgrade .footer-contact-icon,
  .bjl-upgrade .footer-contact-icon .bjl-icon { width:18px; height:18px; }
  .bjl-upgrade .footer-contact-item { grid-template-columns:20px minmax(0,1fr); }
  .bjl-upgrade [data-footer-group] { min-width:0; border-top:1px solid var(--line-dark); }
  .bjl-upgrade [data-footer-group] > summary {
    display:flex; align-items:center; justify-content:space-between; gap:8px;
    min-height:48px; margin:0; padding:8px 0; cursor:pointer;
    font-size:.8125rem; font-weight:500; text-transform:none; letter-spacing:.015em;
  }
  .bjl-upgrade [data-footer-group] > summary::after { content:"+"; width:auto; height:auto; margin:0; background:none; color:var(--brass); font-size:1.25rem; font-weight:400; }
  .bjl-upgrade [data-footer-group][open] > summary::after { content:"−"; }
  .bjl-upgrade .footer-bottom { padding-top:12px; padding-bottom:16px; font-size:.8125rem; line-height:1.5; }
  .bjl-upgrade .footer-bottom > span { display:block; margin-top:8px; }
  .bjl-upgrade .footer-credit { margin-top:8px; }

  .bjl-upgrade.page-template-template-contact main > .section { background:#fff; padding-top:8px; }
  .bjl-upgrade .contact-grid { gap:24px; }
  .bjl-upgrade .contact-card { display:flex; flex-direction:column; padding:8px 0 0; border:0; background:none; }
  .bjl-upgrade .contact-row { grid-template-columns:minmax(0,1fr); gap:4px; padding:14px 0; }
  .bjl-upgrade .contact-row:first-child { padding-top:16px; }
  .bjl-upgrade .contact-row:last-child { padding-bottom:14px; }
  .bjl-upgrade .contact-value { font-family:var(--sans); font-size:1rem; line-height:1.5; }
  .bjl-upgrade a.contact-value { min-height:44px; padding:4px 0; color:var(--ink); text-decoration:underline; text-decoration-color:var(--brass); text-underline-offset:4px; }
  .bjl-upgrade .contact-office { order:1; border:0; padding-top:14px; padding-bottom:0; }
  .bjl-upgrade .contact-method { display:block; padding:0 0 8px; border:0; }
  .bjl-upgrade .contact-method .contact-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .bjl-upgrade .contact-method a.contact-value { gap:12px; min-height:48px; padding:12px 14px; border:1px solid var(--line-light); background:var(--ivory); text-decoration:none; }
  .bjl-upgrade .contact-method-icon { display:block; width:20px; height:20px; flex:0 0 20px; color:var(--brass-deep); }
  .bjl-upgrade .contact-grid > .contact-inquiry { padding:24px 0 0; border:0; border-top:1px solid var(--line-light); background:none; }
}
@media (min-width:590px) and (max-width:600px) {
  /* The final heading line fits both words here, so it needs less image bleed. */
  .bjl-upgrade .hero-grid { --portrait-reach:12px; }
}
@container (max-width:18rem) {
  .bjl-upgrade .hero-grid { grid-template-columns:minmax(0,1fr); }
  .bjl-upgrade .hero h1 { grid-area:2/1/3/-1; }
  .bjl-upgrade .hero-media { grid-area:4/1/5/-1; min-height:0; width:min(200px,100%); height:280px; align-self:start; margin-left:0; }
}
@media (prefers-reduced-motion:reduce) {
  .bjl-upgrade .home-practice .practice-grid { scroll-behavior:auto; }
}

/* Owner review: grouped credentials on phones; original lists above 600px. */
@media (max-width:600px) {
  .bjl-upgrade.page-template-template-firm .rich-text .firm-credential-list {
    gap:0; padding:0 14px; margin:0 0 28px; border:1px solid var(--line-light);
    border-radius:10px; background:rgba(255,255,255,.65); list-style:none;
  }
  .bjl-upgrade.page-template-template-firm .firm-credential-list li {
    min-width:0; margin:0; padding:13px 0; border:0; border-bottom:1px solid var(--line-light);
    border-radius:0; background:none; color:var(--ink);
    font-size:.9375rem; line-height:1.45; text-wrap:pretty;
  }
  .bjl-upgrade.page-template-template-firm .firm-credential-list li:last-child { border-bottom:0; }
  .bjl-upgrade.page-template-template-firm .firm-credential-list li::before { content:none; }
  .bjl-upgrade .firm-credential-list .credential-phrase { display:block; max-width:100%; }
  .bjl-upgrade .firm-credential-list .credential-phrase:first-child { color:var(--ink); font-weight:600; }
  .bjl-upgrade .firm-credential-list .credential-phrase + .credential-phrase {
    margin-top:3px; color:var(--graphite); font-size:.875rem; line-height:1.5;
  }
  .bjl-upgrade .firm-leadership-list .credential-phrase:first-child {
    color:var(--brass-deep); font-size:.75rem; font-weight:600; line-height:1.5;
  }
  .bjl-upgrade .firm-leadership-list .credential-phrase + .credential-phrase {
    color:var(--ink); font-size:.9375rem; font-weight:600; line-height:1.45;
  }
  .bjl-upgrade .firm-credential-list .credential-punctuation {
    display:inline-block; position:absolute; width:1px; height:1px; padding:0; overflow:hidden;
    clip-path:inset(50%); white-space:nowrap;
  }
}

/* Keep the two-column desktop consultation choices substantial but more compact. */
@media (min-width:781px) {
  .bjl-upgrade .consultation-grid .consultation-card { min-height:270px; padding:clamp(24px,2.2vw,32px); }
  .bjl-upgrade .consultation-card .route-icon { width:24px; height:24px; margin-bottom:16px; }
  .bjl-upgrade .consultation-card h2 { font-size:clamp(1.625rem,2.25vw,2rem); line-height:1.15; margin:10px 0 12px; text-wrap:balance; }
  .bjl-upgrade .consultation-card .consultation-meta span { min-height:32px; padding:6px 10px; font-size:.8125rem; }
  .bjl-upgrade .consultation-card .text-link { padding-top:16px; }
}

/* Source order starts with the primary task; desktop keeps details on the left. */
.bjl-upgrade .contact-grid { grid-template-areas:"details inquiry"; }
.bjl-upgrade .contact-inquiry { grid-area:inquiry; }
.bjl-upgrade .contact-card { grid-area:details; }
.bjl-upgrade .contact-method a.contact-value {
  display:flex; align-items:center; min-height:44px; padding:8px 10px;
  border:1px solid transparent; border-radius:4px;
  transition:background-color 220ms var(--bjl-enter-ease), border-color 220ms var(--bjl-enter-ease),
    box-shadow 220ms var(--bjl-enter-ease), transform 180ms var(--bjl-enter-ease), color 180ms ease;
}
.bjl-upgrade .contact-method-text { min-width:0; overflow-wrap:anywhere; }
.bjl-upgrade .contact-method-icon { transition:transform 180ms var(--bjl-enter-ease); }
.bjl-upgrade .contact-method a.contact-value:focus-visible {
  border-color:var(--brass-deep); background:#eee6d5; color:var(--ink);
}
@media (hover:hover) and (pointer:fine) {
  .bjl-upgrade .contact-method a.contact-value:hover {
    background:#eee6d5; border-color:var(--brass); color:var(--ink);
    box-shadow:0 5px 14px rgba(11,11,11,.08); transform:translateY(-2px);
  }
  .bjl-upgrade .contact-method a.contact-value:hover .contact-method-icon { transform:translateX(2px); }
}
@media (max-width:780px) {
  .bjl-upgrade .contact-grid { grid-template-areas:"inquiry" "details"; }
}
@media (max-width:600px) {
  .bjl-upgrade.page-template-template-contact main > .section { padding-top:24px; }
  .bjl-upgrade .contact-grid > .contact-inquiry { padding:0; border:0; }
  .bjl-upgrade .contact-card { padding:20px 0 0; border-top:1px solid var(--line-light); }
  .bjl-upgrade .contact-method a.contact-value { padding:12px 14px; min-height:48px; border-color:var(--line-light); background:var(--ivory); }
  .bjl-upgrade .contact-inquiry .contact-acknowledgement { font-size:.8125rem; line-height:1.5; padding:10px 12px; margin-top:16px; }
  .bjl-upgrade .contact-method a.contact-value:focus-visible { background:#eee6d5; border-color:var(--brass-deep); }
}
@media (max-width:600px) and (hover:hover) and (pointer:fine) {
  .bjl-upgrade .contact-method a.contact-value:hover { background:#eee6d5; border-color:var(--brass); }
}
.bjl-upgrade .contact-method a.contact-value:is(:active,[data-contact-pressed]) {
  background:#dfd0b2; border-color:var(--brass-deep); color:var(--ink);
  box-shadow:inset 0 1px 3px rgba(11,11,11,.12); transform:scale(.985); transition-duration:100ms;
}
@media (prefers-reduced-motion:reduce) {
  .bjl-upgrade .contact-method a.contact-value,
  .bjl-upgrade .contact-method a.contact-value:is(:hover,:active,[data-contact-pressed]),
  .bjl-upgrade .contact-method a.contact-value .contact-method-icon { transform:none; transition:none; }
}

/* Initial arrival starts with the stylesheet, before content is first painted.
   Implicit final frames restore the original opacity and portrait transforms. */
@keyframes bjl-arrival-copy {
  from { opacity:0; translate:0 var(--bjl-arrival-rise); }
}
@keyframes bjl-arrival-image {
  from { opacity:0; scale:var(--bjl-arrival-scale); }
}
@media (prefers-reduced-motion:no-preference) {
  .bjl-upgrade :is(.hero,.inner-hero) {
    --bjl-arrival-rise:12px; --bjl-arrival-scale:1.016;
    --bjl-arrival-body:calc(4000ms / 3); --bjl-arrival-heading:calc(4000ms / 3); --bjl-arrival-media:1600ms;
  }
  .bjl-upgrade :is(.hero-copy > p,.hero-title > .hero-line,.inner-hero h1,.inner-hero p) {
    animation:bjl-arrival-copy var(--bjl-arrival-body) linear backwards;
  }
  .bjl-upgrade :is(.hero-title > .hero-line,.inner-hero h1) {
    --bjl-arrival-rise:18px; animation-duration:var(--bjl-arrival-heading);
  }
  .bjl-upgrade :is(.hero-media img,.inner-portrait img) {
    animation:bjl-arrival-image var(--bjl-arrival-media) linear backwards;
  }
  @media (max-width:600px) {
    .bjl-upgrade :is(.hero,.inner-hero) {
      --bjl-arrival-rise:8px; --bjl-arrival-scale:1.012;
    }
    .bjl-upgrade :is(.hero-title > .hero-line,.inner-hero h1) { --bjl-arrival-rise:12px; }
  }
}
.bjl-upgrade .bjl-arrival-settled *,
.bjl-upgrade.page-template-template-legal .inner-hero * { animation:none !important; }
