/* LEAD refresh. Loaded site-wide after the Flynt stylesheet. `.html` rules apply to every page (Flynt puts class "html" on <html>, same specificity as `.home`); `.home` rules are homepage layout only. */
.html {
  --lead-gold: #a08443;
  --lead-wash: #a0844340;
  --font-size-body: 1.0625rem;
  --content-max-width-full: 1240px;
  --component-spacing: clamp(64px, 7vw, 104px);
}
.html a, .html button { -webkit-tap-highlight-color: transparent; }
.html a:focus-visible, .html button:focus-visible, .html input:focus-visible { outline: 3px solid var(--lead-gold); outline-offset: 5px; }
.html .button { min-block-size: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 14px 24px; border: 1px solid #000; background: #000; color: #fff; font-size: 12px; line-height: 1.4; letter-spacing: .09em; font-weight: 700; transition: background-color .2s, color .2s, border-color .2s; }
.html .button:hover { background: #303030; color: #fff; border-color: #000; }
.html flynt-component[name='NavigationMain'] { --navigation-height: 90px; }
.html flynt-component[name='NavigationMain'] .navigation { background: rgba(255,255,255,.96); backdrop-filter: blur(16px); border-block-end: 1px solid #00000012; }
.html flynt-component[name='NavigationMain'] .menu > .item > .link { font-size: 13px; letter-spacing: .025em; }
.html flynt-component[name='NavigationMain'] .menu > .item:last-child > .link { border: 1px solid var(--lead-gold); padding: 12px 18px; }
.home flynt-component[name='HomeHeroSection'] { block-size: clamp(600px, 84svh, 860px); min-block-size: 600px; background: #303030; }
.home flynt-component[name='HomeHeroSection']::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,#00000008 15%,#00000024 42%,#000000b3 100%); pointer-events: none; }
.home flynt-component[name='HomeHeroSection'] .content { z-index: 1; justify-content: flex-end; padding: 130px 24px 95px; }
.home flynt-component[name='HomeHeroSection'] .content h1 { font-size: clamp(42px,6.7vw,96px); line-height: 1.08; letter-spacing: .075em; margin: 0; opacity: 1; text-shadow: 0 2px 24px #00000020; font-weight: 500; }
.lead-eyebrow { text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .22em; }
.home flynt-component[name='HomeHeroSection'] .lead-eyebrow { margin: 0 0 22px; color: #fff; }
.lead-hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-block-start: 30px; }
.home .lead-hero-actions .button { background: #fff; border-color: #fff; color: #000; min-inline-size: 185px; }
.home .lead-hero-actions .button + .button { background: #000; border: 2px solid #fff; color: #fff; }
.home .lead-hero-actions .button:hover { background: #303030; border-color: #fff; color: #fff; }
.lead-video-toggle { position: absolute; inset-inline-start: 28px; inset-block-end: 24px; z-index: 2; background: #000; color: #fff; border: 1px solid #fff; min-block-size: 44px; padding: 10px 16px; font: inherit; font-size: 11px; letter-spacing: .06em; cursor: pointer; }
.home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] { margin-block: 0; padding-block: clamp(65px,7vw,100px); }
.home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] .content { max-inline-size: 900px; }
.home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] h2 { max-inline-size: 760px; margin: 0 auto 28px; font-size: clamp(30px,3.4vw,48px); line-height: 1.2; letter-spacing: -.035em; }
.home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] p { font-size: 17px; line-height: 1.85; color: #303030; }
.home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] .lead-eyebrow { color: var(--lead-gold); font-size: 11px; margin-block-end: 20px; }
.home flynt-component[name='ServicesCard'] { margin: 0; }
.home flynt-component[name='ServicesCard'] .container { max-inline-size: 1440px; margin-inline: auto; padding: 0 32px 18px; --column-gap: 18px; }
.home flynt-component[name='ServicesCard'] .grid { margin: 0; }
.home flynt-component[name='ServicesCard'] .figure { position: relative; overflow: hidden; isolation: isolate; margin: 0; }
.home flynt-component[name='ServicesCard'] .figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 30%,#000000b3); pointer-events: none; z-index: 0; }
.home flynt-component[name='ServicesCard'] .figure-image { width: 100%; aspect-ratio: 1.45; object-fit: cover; transition: transform .6s; }
.home flynt-component[name='ServicesCard'] [data-max-columns='3'] .figure-image { aspect-ratio: 1.55; }
.home flynt-component[name='ServicesCard'] .figure .content { position: absolute; inset-inline: 28px; inset-block-end: 25px; margin: 0; z-index: 1; font-size: clamp(19px,2.1vw,30px); line-height: 1.25; text-shadow: none; }
.home flynt-component[name='ServicesCard'] .content p { margin: 0; }
.home flynt-component[name='ServicesCard'] .content p:empty { display: none; }
.home flynt-component[name='ServicesCard'] .content a { color: #fff; display: flex; justify-content: space-between; align-items: center; gap: 16px; text-decoration: none; font-weight: 500; }
.home flynt-component[name='ServicesCard'] .content a::after { content: '↗'; font-size: 24px; display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; border: 1px solid #ffffff70; border-radius: 50%; transition: background .2s; }
.home flynt-component[name='ServicesCard'] .figure:hover .figure-image, .home flynt-component[name='ServicesCard'] .figure:focus-within .figure-image { transform: scale(1.035); }
.home flynt-component[name='ServicesCard'] .figure:hover a::after { background: #ffffff20; }
.home flynt-component[name='BlockImageText'] { margin: 0 !important; padding: clamp(52px,6vw,85px) 0 !important; }
.home flynt-component[name='ServicesCard'] + flynt-component[name='BlockImageText'] { margin-block-start: 64px !important; }
.home flynt-component[name='BlockImageText'] + flynt-component[name='BlockImageText'] { border-block-start: 1px solid #00000012; }
.html flynt-component[name='BlockImageText'] .container { gap: clamp(40px,7vw,100px); }
.html flynt-component[name='BlockImageText'] :is(h3,h4,.h3) { font-size: clamp(30px,3.1vw,44px); line-height: 1.18; letter-spacing: -.035em; max-inline-size: 480px; }
.html flynt-component[name='BlockImageText'] p:not(.h1,.h2,.h3,.h4,.h5,.h6) { font-size: 17px; line-height: 1.8; max-inline-size: 470px; }
.home flynt-component[name='BlockImageText'] .figure-image { aspect-ratio: 1.35; object-fit: cover; }
.home flynt-component[name='BlockImageText'] .lead-eyebrow { color: #303030; font-size: 11px; margin-block-end: 20px; }
.html flynt-component[name='BlockImageText'] .button { margin-block-start: 8px; }
.home flynt-component[name='BlockImageText'] + flynt-component[name='BlockWysiwyg'] { padding: clamp(60px,7vw,96px) 0 !important; margin: 0 !important; }
.home flynt-component[name='BlockImageText'] + flynt-component[name='BlockWysiwyg'] h2 { font-size: clamp(32px,3.5vw,48px); letter-spacing: -.03em; line-height: 1.2; }
.home flynt-component[name='BlockImageText'] + flynt-component[name='BlockWysiwyg'] p { max-inline-size: 760px; margin-inline: auto; line-height: 1.8; font-size: 17px; }
.html .display-flex-row-between { gap: 48px; max-inline-size: 1040px; margin: 45px auto 0; }
.html .display-flex-row-between > div { flex: 1; }
.html .display-flex-row-between ul { padding: 0; list-style: none; text-align: left; }
.html .display-flex-row-between li { font-size: 15px; border-block-start: 1px solid #00000020; padding: 20px 0 20px 28px; position: relative; margin: 0; line-height: 1.5; }
.html .display-flex-row-between li::before { content: '↗'; position: absolute; left: 0; color: #303030; }
.html .display-flex-row-between strong { font-weight: 500; }
.html flynt-component[name='NavigationFooterColumns'] { margin-block: 0; padding-block: 70px 60px; }
.html flynt-component[name='NavigationFooterColumns'] h3:not(.title) { font-size: clamp(27px,3vw,40px); letter-spacing: .06em; }
.html flynt-component[name='NavigationFooterColumns'] .navigation { border-block-start: 1px solid #ffffff30; padding-block-start: 40px; margin-block-start: 55px; }
.html flynt-component[name='NavigationFooterColumns'] .menu { gap: 32px; }
.html flynt-component[name='NavigationFooterColumns'] .link { font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.html flynt-component[name='NavigationFooterColumns'] .title { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.html flynt-component[name='NavigationFooterColumns'] input[type='email'] { font-size: 15px; min-height: 58px; }
.html flynt-component[name='NavigationFooter'] { font-size: 12px; }
@media(min-width:1024px) {
  .html flynt-component[name='NavigationMain'] .container { max-inline-size: 1380px; }
  .home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] .content { display: grid; grid-template-columns: 1fr 1fr; column-gap: 42px; text-align: left; }
  .home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] .content > h2, .home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] .content > .lead-eyebrow, .home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] .content > p:last-child { grid-column: 1/-1; text-align: center; }
  .home flynt-component[name='HomeHeroSection'] + flynt-component[name='BlockWysiwyg'] .content > p { margin-block-start: 0; }
}
@media(max-width:1023px) {
  .home flynt-component[name='HomeHeroSection'] { block-size: 620px; min-block-size: 0; }
  .home flynt-component[name='HomeHeroSection'] .content { padding: 50px 24px 80px; }
  .html flynt-component[name='BlockImageText'] .container > div { padding-block-start: 30px; }
  .home flynt-component[name='ServicesCard'] .container { padding-inline: 20px; }
}
@media(max-width:767px) {
  .home flynt-component[name='HomeHeroSection'] { block-size: 540px; }
  .home flynt-component[name='HomeHeroSection'] .content h1 { font-size: clamp(31px,7.6vw,54px); }
  .home flynt-component[name='HomeHeroSection'] .lead-eyebrow { font-size: 9px; letter-spacing: .14em; }
  .home .lead-hero-actions { width: 100%; gap: 10px; }
  .home .lead-hero-actions .button { min-inline-size: 0; width: min(100%,285px); }
  .lead-video-toggle { inset-inline-start: 20px; inset-block-end: 15px; }
  .home flynt-component[name='ServicesCard'] .figure .content { inset-inline: 20px; inset-block-end: 20px; font-size: 24px; }
  .home flynt-component[name='ServicesCard'] .figure-image { aspect-ratio: 1.2; }
  .home flynt-component[name='ServicesCard'] [data-max-columns='3'] .figure-image { aspect-ratio: 1.65; }
  .html .display-flex-row-between { display: block; margin-block-start: 32px; }
  .html .display-flex-row-between > div, .html .display-flex-row-between ul { margin: 0; }
  .html flynt-component[name='NavigationFooterColumns'] .menu { gap: 28px; }
}
@media(prefers-reduced-motion:reduce) {
  .html *, .html *::before, .html *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* Revision 2: explicit button contrast and a quieter, structured navigation. */
.home .lead-hero-actions .button { border-style: solid; border-width: 2px; min-block-size: 54px; }
.home .lead-hero-actions .button + .button:hover { background: #fff; color: #000; }
.home .lead-hero-actions .button:focus-visible { outline: 3px solid #fff; outline-offset: 5px; box-shadow: 0 0 0 8px #000; }
.html flynt-component[name='NavigationMain'] .navigation { background: #fff; border-block-start: 3px solid var(--lead-gold); box-shadow: 0 4px 20px #00000008; }
.html flynt-component[name='NavigationMain'] .container { align-items: center; }
/* Integration: the Flynt logo sizes from its stretched parent height. */
.html flynt-component[name='NavigationMain'] .logo { align-self: stretch; }
.html flynt-component[name='NavigationMain'] .menu { align-items: center; gap: clamp(6px,1.2vw,20px); padding-inline-start: 24px; margin-inline-end: 0; }
.html flynt-component[name='NavigationMain'] .menu > .item { align-items: center; }
.html flynt-component[name='NavigationMain'] .menu > .item > .link { min-height: 48px; padding: 10px 4px; font-size: 12px; letter-spacing: .06em; }
.html flynt-component[name='NavigationMain'] .menu > .item:last-child { background: #000; color: #fff; padding-inline: 14px 8px; }
.html flynt-component[name='NavigationMain'] .menu > .item:last-child > .link { border: 0; padding: 12px 8px; color: #fff; }
.html flynt-component[name='NavigationMain'] .menu > .item:last-child:hover { background: #303030; }
.html flynt-component[name='NavigationMain'] .panel { background: #fff; border-block-start: 1px solid #a0844340; border-block-end: 3px solid var(--lead-gold); padding: 28px max(32px,calc((100vw - 1240px)/2)) 32px; box-shadow: 0 20px 30px #0000001a; max-height: calc(100svh - 125px); overflow-y: auto; }
.html flynt-component[name='NavigationMain'] .panel-grid { gap: 10px 24px; }
.html flynt-component[name='NavigationMain'] .panel-link:not(.tile) { font-size: 15px; text-transform: none; font-weight: 500; min-height: 48px; padding: 12px 16px; background: #8e8e8e10; border-bottom: 1px solid #00000012; }
.html flynt-component[name='NavigationMain'] .panel-link:not(.tile):hover { background: var(--lead-wash); color: #000; text-decoration: none; }
.html flynt-component[name='NavigationMain'] .tile--photo .tile-label { margin: 0; position: absolute; inset: auto 0 0; padding: 28px 16px 16px; background: linear-gradient(transparent,#000); }
.lead-panel-title { color: #303030; text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 700; margin: 0 0 18px; }
.lead-nav-toggle { width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer; color: inherit; }
.lead-nav-toggle::before { content: ''; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.lead-nav-toggle[aria-expanded='true']::before { transform: rotate(225deg); }
.html flynt-component[name='NavigationMain'][data-lead-nav] .has-panel > .link::after { display: none; }
/* Integration: out-rank Flynt's :hover/:focus-within opening so only the toggle opens a panel. */
.html flynt-component[name='NavigationMain'][data-lead-nav] .menu > .item > .panel { visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(6px); }
.html flynt-component[name='NavigationMain'][data-lead-nav] .menu > .item[data-open] > .panel { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
.html flynt-component[name='NavigationMain'] .panel-grid[data-lead-columns='3'] { grid-template-columns: repeat(3,minmax(0,1fr)); }
.html flynt-component[name='NavigationMain'] .panel-grid[data-lead-columns='2'] { grid-template-columns: repeat(2,minmax(0,1fr)); }
.html flynt-component[name='NavigationBurger'] .menu { padding-block: 18px 40px; background: #fff; }
.html flynt-component[name='NavigationBurger'] .menu > .item { border-bottom: 1px solid #00000020; }
.html flynt-component[name='NavigationBurger'] .link { font-size: 16px; padding: 18px 8px; }
.html flynt-component[name='NavigationBurger'] .submenu { background: #8e8e8e10; padding: 8px 16px; margin-bottom: 16px; }
.html flynt-component[name='NavigationBurger'] .sublink { min-height: 46px; font-size: 15px; padding-block: 12px; }
.html flynt-component[name='NavigationBurger'] .menu > .item:last-child > .row { background: #000; color: #fff; padding-inline: 12px; margin-top: 16px; }
.html flynt-component[name='NavigationBurger'] .menu > .item:last-child > .row :is(.link,.toggle) { color: #fff; }

/* Revision 3: fixed control geometry and a centred vector chevron. */
.html flynt-component[name='NavigationMain'] .menu > .item > .link { line-height: 1; border-bottom: 0; }
.html flynt-component[name='NavigationMain'] .lead-nav-toggle, .html flynt-component[name='NavigationBurger'] .menu .toggle {
 box-sizing: border-box; flex: 0 0 44px; width: 44px; height: 48px;
 inline-size: 44px; block-size: 48px; min-block-size: 48px;
 display: flex; align-items: center; justify-content: center; align-self: center;
 padding: 0; margin: 0; border: 0; line-height: 1; position: relative;
}
.html flynt-component[name='NavigationMain'] .lead-nav-toggle::before, .html flynt-component[name='NavigationBurger'] .menu .toggle::before {
 content: ''; display: block; position: static; inset: auto;
 width: 16px; height: 16px; inline-size: 16px; block-size: 16px;
 flex: 0 0 16px; padding: 0; margin: 0; border: 0;
 background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6L8 10L12 6' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
 mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6L8 10L12 6' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
 transform: none; translate: none; rotate: none; transform-origin: center;
}
.html flynt-component[name='NavigationMain'] .lead-nav-toggle[aria-expanded='true']::before, .html flynt-component[name='NavigationBurger'] .menu .toggle[aria-expanded='true']::before { transform: rotate(180deg); rotate: none; }

.html flynt-component[name='NavigationMain'] .menu > .item:hover > .link,
.html flynt-component[name='NavigationMain'] .menu > .item:focus-within > .link,
.html flynt-component[name='NavigationMain'] .menu > .current-menu-item > .link { box-shadow: inset 0 -2px var(--lead-gold); }
.html flynt-component[name='NavigationMain'] .menu > .item:last-child > .link { box-shadow: none; }

/* Integration: Flynt switches to the burger at 1024px (the preview used 1200px). Tighten spacing so the full menu fits from 1024–1199px. */
@media (max-width: 1199px) {
  .html flynt-component[name='NavigationMain'] .menu { gap: 6px; padding-inline-start: 16px; }
  .html flynt-component[name='NavigationMain'] .menu > .item > .link { letter-spacing: .03em; }
  .html flynt-component[name='NavigationMain'] .menu > .item:last-child { padding-inline: 10px 4px; }
}

/* Integration: Flynt hides <br> in centred mobile headings; the hero must keep its two visual lines. */
.home flynt-component[name='HomeHeroSection'] .content h1 br { display: inline; }

/* Site-wide: the refreshed header is opaque and 90px (was translucent, 96px). Inner pages start below it; the homepage hero keeps its overlay composition. */
@media (min-width: 1024px) {
  .html .mainContent > flynt-component:first-child:not([name^='Hero'], [name='HomeHeroSection']) { margin-block-start: calc(90px + clamp(32px, 4vw, 56px)); }
  .html:not(.home) .mainContent > flynt-component[name^='Hero']:first-child { margin-block-start: 90px; }
  html { scroll-padding-top: 90px; }
  html.admin-bar { scroll-padding-top: calc(90px + var(--wp-admin--admin-bar--height, 32px)); }
}

/* Site-wide: copyright and Terms of Service link share one line in the footer bar. */
.html flynt-component[name='NavigationFooter'] .content { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 6px 20px; }
.html flynt-component[name='NavigationFooter'] .content p { margin: 0; }
.html flynt-component[name='NavigationFooter'] .legal-link { color: inherit; margin: 0; }
.html flynt-component[name='NavigationFooter'] .container { align-items: center; }
