/* LIWM network standards. Shared layout tokens; each site retains its content and identity. */
:root { --liwm-content: 1160px; --liwm-reading: 860px; --liwm-gutter: 24px; }
html { scroll-padding-top: 80px !important; }
body.liwm-network { overflow-wrap: break-word; }
body.liwm-network .container { width: min(calc(100% - 2 * var(--liwm-gutter)), var(--liwm-content)); }
body.liwm-network :focus-visible { outline: 3px solid #c6ad00; outline-offset: 4px; }
body.liwm-network .liwm-brand-logo { width: 56px; height: 56px; flex: 0 0 56px; object-fit: contain; }

/* Header and dropdown positions are anchored to the header, never to the browser top. */
body.liwm-network > header { height: 80px !important; }
body.liwm-network > header > .container { position: relative; height: 100%; }
body.liwm-network > header :is(.nav-links,.liwm-menu-nav) { flex-shrink: 0; }
body.liwm-network > header :is(.nav-cta,.liwm-menu-cta) { white-space: nowrap; }
body.liwm-network :is(.liwm-menu-mark,.liwm-footer-mark) { display: inline-flex !important; align-items: center; justify-content: center; }
body.liwm-network > header .services,
body.liwm-network > header .liwm-menu-services { position: static !important; margin: 0 !important; padding: 0 !important; }
body.liwm-network > header .services-trigger,
body.liwm-network > header .liwm-menu-trigger { height: 80px !important; padding: 0 !important; }
body.liwm-network > header .mega-menu,
body.liwm-network > header .liwm-menu-panel {
  position: absolute !important; top: 100% !important; right: 0 !important; left: auto !important;
  width: min(820px, calc(100vw - 48px)) !important; max-height: calc(100dvh - 100px);
  overflow-y: auto; overscroll-behavior: contain; margin: 0 !important; padding: 24px !important;
  border: 1px solid #303030; background: #080808; color: #fff;
}
body.liwm-network > header .services:not(.open) > .mega-menu,
body.liwm-network > header .liwm-menu-services:not(.open) > .liwm-menu-panel { display: none !important; }
body.liwm-network > header .services.open > .mega-menu,
body.liwm-network > header .liwm-menu-services.open > .liwm-menu-panel { display: grid !important; }
body.liwm-network > header .mobile-menu,
body.liwm-network > header .liwm-menu-toggle { display: none !important; font-size: 11px !important; }

/* Footer: one centered vertical rhythm at every viewport size. */
body.liwm-network .liwm-unified-footer { padding: 0 !important; }
body.liwm-network .liwm-unified-footer .liwm-footer-inner {
  display: flex !important; flex-direction: column !important; align-items: center !important;
  justify-content: center !important; gap: 24px !important; padding-block: 38px !important;
  width: min(calc(100% - 36px), 1160px) !important; min-height: 0 !important; text-align: center !important;
}
body.liwm-network .liwm-footer-identity { width: 100%; max-width: 520px; justify-content: center !important; text-align: center !important; }
body.liwm-network .liwm-footer-identity small { line-height: 1.5; }
body.liwm-network .liwm-footer-links { width: 100%; max-width: 680px !important; justify-content: center !important; gap: 12px 22px !important; margin: 0 !important; }
body.liwm-network .liwm-footer-credit {
  width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
  text-align: center !important; font-size: clamp(9px, 2.4vw, 12px) !important; line-height: 1.6 !important;
}
body.liwm-network .liwm-footer-credit::before,
body.liwm-network .liwm-footer-credit::after { content: none !important; }

/* Homepages: centered introductions and stacked supporting sections. */
body.liwm-home .hero-grid { grid-template-columns: minmax(0, 1fr) !important; justify-items: stretch; gap: 0 !important; }
body.liwm-home .hero-copy, body.liwm-home .hero-copy-wrap { width: 100%; max-width: 880px !important; margin-inline: auto; text-align: center !important; }
body.liwm-home .hero h1 { max-width: 900px !important; margin-inline: auto !important; text-align: center !important; font-size: clamp(48px, 6vw, 80px) !important; line-height: .98 !important; letter-spacing: -.05em !important; }
body.liwm-home .portrait-card { width: min(100%, 360px) !important; max-width: 360px !important; margin: 32px auto 0 !important; justify-self: auto !important; }
body.liwm-home .hero p { max-width: 700px; margin-inline: auto !important; text-align: center; }
body.liwm-home .hero-actions, body.liwm-home .hero .button-row, body.liwm-home .hero-note { justify-content: center !important; }
body.liwm-home .hero { min-height: 0 !important; }
body.liwm-home .hero-grid { padding-block: clamp(64px, 7vw, 96px) !important; }
body.liwm-home .hero .hero-copy > p { font-size: 16px; line-height: 1.7; }
body.liwm-home .hero .hero-copy > .eyebrow { font-size: 11px; }
body.liwm-home .services-header,
body.liwm-home .section-heading,
body.liwm-home .section-header {
  display: flex !important; flex-direction: column !important; align-items: center !important;
  text-align: center !important; gap: 18px !important; max-width: 900px; margin-inline: auto;
}
body.liwm-home .services-header > *, body.liwm-home .services-header h2,
body.liwm-home .section-heading > *, body.liwm-home .section-header > * { text-align: center !important; margin-inline: auto !important; }
body.liwm-home .services-header p { max-width: 680px !important; }
body.liwm-home .local-grid, body.liwm-home .about-grid,
body.liwm-home .blog-callout, body.liwm-home .contact-grid {
  display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
  justify-items: stretch !important; gap: 28px !important; text-align: center !important;
}
body.liwm-home .about-grid > *, body.liwm-home .local-copy,
body.liwm-home .blog-callout > div, body.liwm-home .contact-grid > div { min-width: 0; width: 100%; max-width: 760px; margin-inline: auto; }
body.liwm-home .local-copy h2, body.liwm-home .about-grid h2,
body.liwm-home .blog-callout h2, body.liwm-home .contact-grid h2 { text-align: center !important; }
body.liwm-home .about-copy p, body.liwm-home .local-copy p,
body.liwm-home .contact-copy > p, body.liwm-home .rich-copy p { max-width: 680px !important; margin-inline: auto !important; text-align: center !important; }
body.liwm-home .local-areas { width: min(100%, 760px) !important; margin-inline: auto; }
body.liwm-home .local-areas .area { text-align: center; }
body.liwm-home .local-copy > br { display: none; }
body.liwm-home .about-grid .greg-card { width: min(100%, 420px); margin: 0 auto; }
body.liwm-home .contact-actions { max-width: 540px !important; width: 100%; margin: 0 auto; }
body.liwm-home .contact-grid > a { width: min(100%, 540px) !important; max-width: 100%; margin-inline: auto; }
body.liwm-home .blog-callout > a { justify-self: center; }
body.liwm-home .steps { max-width: 1000px; margin-inline: auto; }
body.liwm-home .steps > * { text-align: center; }
.liwm-team-photo-frame { position: relative; width: 100%; padding-top: 125%; overflow: hidden; }
.liwm-team .liwm-team-photo-frame .liwm-team-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }

/* LIWM flagship uses a small, local SVG space background. */
body.liwm-site.liwm-home .hero {
  background: linear-gradient(90deg, rgba(3,5,17,.3), rgba(3,5,17,.55), rgba(3,5,17,.3)), url('/images/liwm-galaxy.svg') center / cover #030511 !important;
}
body.liwm-site.liwm-home .hero::before, body.liwm-site.liwm-home .hero::after { content: none !important; }
body.liwm-site.liwm-home .hero-copy-wrap { position: relative; z-index: 1; }
body.liwm-site.liwm-home .hero-copy-wrap { max-width: 1040px !important; }
body.liwm-site.liwm-home .hero h1 { max-width: 1040px !important; font-size: clamp(48px, 6vw, 80px); }

/* Article typography follows LIWM: comfortable gutters and a bounded reading measure. */
body.liwm-network.liwm-blog-post .article-wrap,
body.liwm-network.liwm-article-page .profile-article {
  width: min(calc(100% - 48px), 860px) !important; margin-inline: auto !important;
}
body.liwm-network.liwm-blog-post .article { max-width: 860px !important; }
body.liwm-network.liwm-article-page .article,
body.liwm-network.liwm-article-page .article-content,
body.liwm-network.liwm-article-page .profile-article { min-width: 0; }
body.liwm-network.liwm-article-page :is(.article,.article-content,.profile-article) > p {
  margin: 0 0 18px !important; font-size: 16px !important; line-height: 1.7 !important;
}
body.liwm-network.liwm-article-page :is(.article,.article-content,.profile-article) > :is(ul,ol) {
  margin: 12px 0 24px !important; padding-left: 24px !important; list-style-position: outside;
}
body.liwm-network.liwm-article-page :is(.article,.article-content,.profile-article) > :is(ul,ol) > li { font-size: 16px; line-height: 1.7; margin-block: 8px; }
body.liwm-network.liwm-article-page :is(.article,.article-content,.profile-article) > h2 {
  margin: 32px 0 14px !important; font-size: clamp(29px, 4vw, 42px) !important;
  line-height: 1.08 !important; letter-spacing: -.035em !important; text-align: center !important;
}
body.liwm-network.liwm-article-page :is(.article,.article-content,.profile-article) > h2:first-child { margin-top: 0 !important; }
body.liwm-network.liwm-article-page :is(.page-hero,.profile-page-hero) h1 { max-width: 1000px; margin-inline: auto; font-size: clamp(36px, 5vw, 64px) !important; line-height: 1.03 !important; }
body.liwm-network .service-cta,
body.liwm-network .article-actions > a { max-width: 100%; white-space: normal; text-align: center; }
body.liwm-network .liwm-article-actions .service-cta { width: min(100%, 320px) !important; }
body.liwm-network .greg-blog-grid.container { width: min(calc(100% - 48px), 1160px) !important; }

@media (max-width: 1020px) {
  html { scroll-padding-top: 68px !important; }
  body.liwm-network > header { height: 68px !important; }
  body.liwm-network > header .mobile-menu,
  body.liwm-network > header .liwm-menu-toggle { display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; min-width: 54px; padding: 10px 8px; }
  body.liwm-network > header .nav-links,
  body.liwm-network > header .liwm-menu-nav {
    display: none !important; position: fixed !important; top: 68px !important; left: 12px !important; right: 12px !important;
    flex-direction: column !important; align-items: stretch !important; gap: 0 !important; margin: 0 !important;
    max-height: calc(100dvh - 80px) !important; overflow-y: auto; overscroll-behavior: contain; padding: 8px 16px 16px !important; background: #080808;
  }
  body.liwm-network > header .nav-links.active,
  body.liwm-network > header .liwm-menu-nav.active { display: flex !important; }
  body.liwm-network > header .services-trigger,
  body.liwm-network > header .liwm-menu-trigger,
  body.liwm-network > header :is(.nav-links,.liwm-menu-nav) > a {
    display: flex !important; align-items: center; justify-content: space-between; width: 100%;
    height: auto !important; min-height: 44px; padding: 12px 0 !important; margin: 0 !important;
  }
  body.liwm-network > header .mega-menu,
  body.liwm-network > header .liwm-menu-panel {
    position: static !important; width: 100% !important; max-height: none; padding: 12px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important;
  }
  body.liwm-network > header :is(.nav-cta,.liwm-menu-cta) { justify-content: center !important; margin-top: 8px !important; color: #000 !important; }
  body.liwm-network .liwm-brand-logo { width: 44px; height: 44px; flex-basis: 44px; }
}
@media (max-width: 700px) {
  :root { --liwm-gutter: 18px; }
  body.liwm-home .hero-grid { padding-block: 54px !important; }
  body.liwm-home .contact-details { grid-template-columns: minmax(0, 1fr) !important; }
  body.liwm-home .about-points { grid-template-columns: minmax(0, 1fr) !important; }
  body.liwm-network.liwm-blog-post .article-wrap,
  body.liwm-network.liwm-article-page .profile-article,
  body.liwm-network .greg-blog-grid.container { width: calc(100% - 36px) !important; }
  body.liwm-network .liwm-footer-identity small { font-size: 8px !important; letter-spacing: .08em; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body.liwm-network *, body.liwm-network *::before, body.liwm-network *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
}
/* Content determines card height; no percentage heights that can collapse grid rows. */
body.liwm-network.liwm-blog-index :is(.blog-card,.greg-blog-card) { height: auto !important; }
body.liwm-network.liwm-blog-index :is(.blog-card,.greg-blog-card) > * { flex-shrink: 0; }
@media (max-width: 760px) {
  body.liwm-network.liwm-blog-index :is(.blog-grid,.greg-blog-grid) { display: flex !important; flex-direction: column; }
}
/* Two even columns with natural row heights; a single column on small screens. */
body.liwm-network.liwm-blog-index :is(.blog-index,.profile-content) :is(.blog-grid,.greg-blog-grid) {
  display: flex !important; flex-flow: row wrap !important; justify-content: center; align-items: stretch; gap: 20px 4% !important;
}
body.liwm-network.liwm-blog-index :is(.blog-index,.profile-content) :is(.blog-card,.greg-blog-card):nth-child(n) {
  flex: 0 0 auto; width: 48% !important; height: auto !important; min-width: 0 !important;
}
@media (max-width: 760px) {
  body.liwm-network.liwm-blog-index :is(.blog-index,.profile-content) :is(.blog-grid,.greg-blog-grid) { flex-direction: column !important; gap: 16px !important; }
  body.liwm-network.liwm-blog-index :is(.blog-index,.profile-content) :is(.blog-card,.greg-blog-card):nth-child(n) { flex: 0 0 auto; width: 100% !important; }
}

/* Screenshot review: targeted v23 corrections. */
body.liwm-site.liwm-home .service-card { text-align: center !important; }
body.liwm-site.liwm-home .service-card :is(h3,p,.service-number) { text-align: center !important; }
body.liwm-site.liwm-home .service-card > a { align-self: center; text-align: center !important; }
@media (min-width: 900px) {
  body.liwm-site.liwm-home .about-grid { grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr) !important; align-items: center; gap: 48px !important; }
  body.liwm-site.liwm-home .about-grid > .greg-card { width: 100%; max-width: 420px; }
  body.liwm-site.liwm-home .about-grid > .about-copy { width: 100%; max-width: none; }
}
body.liwm-greg-home #about-target .about-grid { display: block !important; max-width: 760px; margin-inline: auto; }
body.liwm-greg-home #about-target .about-grid > p { min-height: 0 !important; padding: 0 !important; margin: 0 0 18px !important; border: 0 !important; background: transparent !important; font-size: 16px; line-height: 1.7; }
body.liwm-greg-home #about-target .about-grid > p:last-child { margin-bottom: 0 !important; }
body.liwm-greg-home .service-card { min-height: 0 !important; height: auto !important; padding: 28px !important; }
body.liwm-greg-home .service-card h3 { min-height: 0 !important; margin: 0 !important; line-height: 1.1 !important; }
body.liwm-greg-home .service-card > p { min-height: 0 !important; margin: 18px 0 24px !important; line-height: 1.7; }
body.liwm-greg-home .service-card > .service-page-link { margin: auto auto 0 !important; padding: 12px 16px !important; }
body.liwm-network.liwm-blog-post main a.liwm-post-cta {
  display: flex !important; box-sizing: border-box !important; width: 320px !important; max-width: 100% !important;
  min-height: 48px !important; height: auto !important; padding: 14px 18px !important; margin: 24px auto !important;
  align-items: center !important; justify-content: center !important; border: 1px solid #fff000 !important;
  background: #fff000 !important; color: #050505 !important; font: 800 12px/1.5 Arial, sans-serif !important;
  letter-spacing: .04em !important; text-align: center !important; text-decoration: none !important; white-space: normal !important;
}
body.liwm-network.liwm-blog-post main a.liwm-post-cta:hover { background: #050505 !important; color: #fff000 !important; }
