/* =========================================================
   Site Overrides
   =========================================================
   Reserved for manual site-specific CSS overrides.

   This file intentionally loads last.
   Keep empty unless a site needs a targeted fix that does not belong
   in oc-ui.css, oc-components.css, tokens.css, or theme-generated.css.
   ========================================================= */


/* Moir Law Office: client page content. Append to site-overrides.css.
   Palette and fonts are supplied by the CMS theme settings. */
.oc-practice { color: var(--oc-text); background: var(--oc-background); font-family: var(--oc-font-body); }
.oc-practice *, .oc-practice *::before, .oc-practice *::after { box-sizing: border-box; }
.site-main:has(.oc-practice) { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.oc-practice h1, .oc-practice h2, .oc-practice h3 { margin: 0 0 1.2rem; color: var(--oc-heading-primary); font-family: var(--oc-font-heading); font-weight: 400; line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.oc-practice h1 { font-size: clamp(2.8rem, 5.5vw, 5.1rem); }
.oc-practice h2 { font-size: clamp(2rem, 3.5vw, 3.1rem); }
.oc-practice h3 { font-size: clamp(2rem, 3vw, 2.9rem); }
.oc-practice p { margin: 0 0 1.2rem; line-height: 1.8; }
.oc-practice a { color: var(--oc-primary); text-underline-offset: .25em; }
.oc-practice a:hover { text-decoration-thickness: 2px; }
.oc-practice a:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
.oc-practice em { font-weight: inherit; }
.oc-practice .oc-practice-kicker { margin-bottom: 1.5rem; color: var(--oc-primary); font-family: var(--oc-font-body); font-size: .7rem; font-weight: 700; letter-spacing: .15em; line-height: 1.7; text-transform: uppercase; }
.oc-practice .oc-practice-lead { max-width: 36rem; font-size: clamp(1.1rem, 1.8vw, 1.3rem); line-height: 1.65; }
.oc-practice .oc-practice-note { color: var(--oc-muted-text); font-size: .8rem; line-height: 1.65; }
.oc-practice-hero, .oc-practice-section, .oc-practice-cta, .oc-practice-page-hero { clear: both; width: 100%; }
.oc-practice-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; padding: clamp(3rem, 6vw, 5rem) 0; }
.oc-practice-hero-copy { min-width: 0; }
.oc-practice-hero .oc-practice-note { max-width: 29rem; margin: 2rem 0 0; }
.oc-practice-portrait { position: relative; margin: 0; padding: 1rem 1rem 0; border: 1px solid color-mix(in srgb, var(--oc-primary) 25%, transparent); }
.oc-practice-portrait img, .oc-practice-bio-photo img { display: block; width: 100%; height: auto; }
.oc-practice-portrait figcaption { display: flex; flex-direction: column; gap: .35rem; padding: 1.35rem .4rem; color: var(--oc-primary); }
.oc-practice-portrait figcaption strong { font-family: var(--oc-font-heading); font-size: 1.55rem; font-weight: 400; }
.oc-practice-portrait figcaption span { font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }
.oc-practice-actions { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; margin-top: 2rem; }
.oc-practice .oc-practice-button { display: inline-flex; gap: 1.3rem; align-items: center; justify-content: center; min-height: 3.3rem; padding: .9rem 1.25rem; border: 1px solid var(--oc-button-background); border-radius: var(--oc-button-radius); background: var(--oc-button-background); color: var(--oc-button-text); font-size: .85rem; font-weight: 600; text-decoration: none; }
.oc-practice .oc-practice-button:hover { background: var(--oc-button-text); color: var(--oc-button-background); }
.oc-practice-text-link { display: inline-flex; gap: 1.1rem; align-items: center; min-height: 2.75rem; font-size: .85rem; font-weight: 600; text-decoration: underline; }
.oc-practice-section { padding: clamp(3rem, 6vw, 5rem) 0; border-top: 1px solid color-mix(in srgb, var(--oc-primary) 22%, transparent); }
.oc-practice-section-heading { min-width: 0; }
.oc-practice-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2.5rem; border-top: 1px solid color-mix(in srgb, var(--oc-primary) 22%, transparent); }
.oc-practice-service { padding: 2.3rem 3rem 0 0; }
.oc-practice-service + .oc-practice-service { padding-left: 3rem; border-left: 1px solid color-mix(in srgb, var(--oc-primary) 22%, transparent); }
.oc-practice-number { display: block; margin-bottom: 1.5rem; color: var(--oc-muted-text); font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.oc-practice-service p { max-width: 29rem; }
.oc-practice-background, .oc-practice-region { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); }
.oc-practice-prose { min-width: 0; }
.oc-practice-counties { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1.5rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.oc-practice-counties li { padding: .55rem 0; border-bottom: 1px solid color-mix(in srgb, var(--oc-primary) 18%, transparent); font-size: .9rem; }
.oc-practice-cta { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2.5rem; align-items: center; margin: 0 0 3rem; padding: clamp(2rem, 4vw, 3.4rem); background: var(--oc-primary); color: var(--oc-secondary); }
.oc-practice-cta h2, .oc-practice-cta .oc-practice-kicker, .oc-practice-cta a { color: var(--oc-secondary); }
.oc-practice-cta p:last-child { margin-bottom: 0; }
.oc-practice-contact-links { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 1rem; }
.oc-practice-contact-links a { overflow-wrap: anywhere; font-size: 1rem; }
.oc-practice-contact-links a:first-child { font-family: var(--oc-font-heading); font-size: clamp(1.4rem, 2.2vw, 2rem); }
.oc-practice-page-hero { padding: clamp(3rem, 6vw, 5rem) 0; }
.oc-practice-bio { display: grid; grid-template-columns: .7fr 1.3fr; align-items: start; gap: clamp(2rem, 5vw, 5rem); }
.oc-practice-bio-photo { margin: 0; }
.oc-practice-list { padding-left: 1.2rem; line-height: 1.7; }
.oc-practice-list li { margin-bottom: .8rem; }
.oc-practice-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.oc-practice-contact-detail { min-width: 0; }
.oc-practice-contact-detail h2 { font-size: clamp(1.4rem, 2.4vw, 2rem); overflow-wrap: anywhere; }
.oc-practice-resources { margin: 0 0 2rem; padding: 0; list-style: none; }
.oc-practice-resources li { padding: 1.6rem 0; border-bottom: 1px solid color-mix(in srgb, var(--oc-primary) 22%, transparent); }
.oc-practice-resources a { display: flex; justify-content: space-between; gap: 1rem; font-family: var(--oc-font-heading); font-size: clamp(1.5rem, 3vw, 2.1rem); }
.oc-practice-resources p { margin: .8rem 0 0; }
@media (max-width: 767.98px) {
  .oc-practice-hero, .oc-practice-background, .oc-practice-region, .oc-practice-cta, .oc-practice-bio, .oc-practice-contact-grid { grid-template-columns: 1fr; }
  .oc-practice-hero { gap: 2.5rem; }
  .oc-practice-portrait { width: min(100%, 25rem); }
  .oc-practice-service-grid { grid-template-columns: 1fr; }
  .oc-practice-service { padding: 2rem 0; }
  .oc-practice-service + .oc-practice-service { padding: 2rem 0 0; border-left: 0; border-top: 1px solid color-mix(in srgb, var(--oc-primary) 22%, transparent); }
  .oc-practice-cta { gap: 2rem; padding: 2rem 1.4rem; }
  .oc-practice-bio-photo { max-width: 25rem; }
}








.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-weight:300;line-height:1.2}
.display-1{font-size:2.75rem}
.display-2{font-size:2.4rem}
.display-3{font-size:2rem}
.display-4{font-size:1.75rem}
.display-5{font-size:1.5rem}
.display-6{font-size:1.25rem}
.lead{font-size:1.2rem; font-weight:400;line-height:normal}
@media (max-width:768px){.display-1{font-size:2.2rem}.display-2{font-size:2rem}.display-3{font-size:1.8rem}.display-4{font-size:1.6rem}.display-5{font-size:1.4rem}.display-6{font-size:1.2rem}lead{font-size:1.1rem}}