/* Shared Sigma presentation. Explicit block roles insulate typography from old editor tag choices. */
body { --sigma-nav-weight:500; --sigma-footer-weight:450; }
body .top-bar nav .menu a, body .header nav .menu a,
body .skb-header nav a:not(.skb-button), body .sp-nav-bar a {
    font-weight:var(--sigma-nav-weight);
}
body #footer .footer-link li a,
body #footer.sigma-parts-footer .footer-link li a,
body #footer.sigma-knowledgebase-footer .footer-link li a,
body #footer .copyright a { font-weight:var(--sigma-footer-weight)!important; }

/* Prepared College artboards retain their existing carousel sizing. Elsewhere a fixed
   optical frame contains both long airline wordmarks and compact emblems without cropping. */
.logo-slider-wrap.sigma-balanced-logos { padding-block:36px; }
.logo-slider-wrap.sigma-balanced-logos::before,
.logo-slider-wrap.sigma-balanced-logos::after { width:clamp(24px,5vw,90px); pointer-events:none; }
.sigma-balanced-logos .logo-title { margin-bottom:20px; font-size:18px; }
.sigma-balanced-logos .logo-slider .swiper-slide { width:210px; height:96px; display:flex; align-items:center; justify-content:center; }
.sigma-balanced-logos .company-logo-link { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.sigma-balanced-logos .logo-slider img { display:block; width:100%; height:72px; max-width:210px; padding:8px; box-sizing:border-box; object-fit:contain; }

/* The old anchor block and newer navigation block share one compact, accessible bar. */
body .sigma-jump-nav { background:#f3f4f6; border-bottom:1px solid #e1e5eb; padding:20px 0; }
body .sigma-jump-nav .inner { display:flex; align-items:center; gap:26px; position:relative; }
body .sigma-jump-nav .inner::after { content:""; position:absolute; left:0; bottom:-21px; width:64px; height:2px; background:#bf8049; }
body .sigma-jump-nav .sigma-jump-label { flex:none; color:#966338; font:700 11px/1.5 'Kumbh Sans',sans-serif; text-transform:uppercase; letter-spacing:.12em; }
body .sigma-jump-nav .navi-links { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; border:0; }
body .sigma-jump-nav .navi-links a { display:flex; align-items:center; min-height:44px; box-sizing:border-box; margin:0; padding:10px 34px 10px 14px; border:1px solid #dfe3eb; border-radius:6px; background-color:#fff; background-position:right 12px center; color:#151b36; font:500 12px/1.5 'Kumbh Sans',sans-serif; letter-spacing:0; text-transform:none; text-decoration:none; }
body .sigma-jump-nav .navi-links a:hover { background-color:#faf7f2; border-color:#bc9d7f; }
body .sigma-jump-nav a:focus-visible { outline:2px solid #966338; outline-offset:3px; }
body :is(.sigma-split,.sigma-intro)[id] { scroll-margin-top:110px; }

/* The title's explicit role must beat legacy information-page h2 subtitle rules. */
body .image-box.sigma-split .text > h2.sigma-split-title { font-family:'Kumbh Sans',sans-serif; font-size:clamp(32px,3.5vw,46px); font-weight:900; font-style:normal; line-height:1.2; letter-spacing:-.015em; text-transform:uppercase; color:inherit; margin:0 0 16px!important; opacity:1; }
body .sigma-split .text > .sigma-split-lead { font-family:'AddingtonCF',Georgia,serif; font-size:clamp(21px,1.9vw,25px); font-weight:400; font-style:normal; line-height:1.45; letter-spacing:0; text-transform:none; color:#bf8049; margin:0 0 22px; opacity:1; }
body .sigma-split.white .text > .sigma-split-lead { color:#a96e3c; }

/* A shared editorial hierarchy and row tracks, independent of copy length. */
body .sigma-intro .intro-content { max-width:1060px; margin:0 auto 40px; }
body .sigma-intro .intro-content > .sigma-intro-title { font-family:'AddingtonCF',Georgia,serif; font-size:clamp(28px,3vw,36px); font-weight:700; font-style:normal; line-height:1.25; letter-spacing:-.02em; text-transform:capitalize; color:#151b36; margin:0 0 24px; opacity:1; }
body .sigma-intro .intro-content > .sigma-intro-lead,
body .sigma-intro .intro-content > p { font-family:'Kumbh Sans',sans-serif; font-size:clamp(17px,1.55vw,20px); font-weight:400; font-style:normal; line-height:1.65; letter-spacing:0; text-transform:none; color:#586175; max-width:78ch; margin:0 auto 1em; opacity:1; }
body .sigma-intro .blocks { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); grid-auto-flow:row; grid-auto-columns:auto; gap:22px clamp(24px,3.2vw,46px); color:#586175; font-size:15px; font-weight:400; line-height:1.7; }
body .sigma-intro .blocks > .block { min-width:0; display:grid; grid-template-rows:subgrid; grid-row:span 3; align-content:start; gap:16px; border-top:1px solid #e1e5eb; padding-top:24px; margin:0; }
body .sigma-intro .blocks:not(:has(.sigma-feature-media img)) > .block { grid-row:span 2; }
body .sigma-intro .blocks:not(:has(.sigma-feature-media img)) .sigma-feature-heading { grid-row:1; }
body .sigma-intro .blocks:not(:has(.sigma-feature-media img)) .sigma-feature-body { grid-row:2; }
body .sigma-intro .sigma-feature-media:empty { display:none; }
body .sigma-intro .sigma-feature-media { grid-row:1; }
body .sigma-intro .sigma-feature-heading { grid-row:2; }
body .sigma-intro .sigma-feature-body { grid-row:3; }
body .sigma-intro .sigma-feature-media :is(p,h1,h2,h3,h4,figure) { margin:0; padding:0; }
body .sigma-intro .sigma-feature-media img { display:block; width:100%; height:auto; aspect-ratio:2/1; object-fit:cover; border-radius:8px; margin:0; }
body .sigma-intro .sigma-feature-title { color:#966338!important; font:italic 700 20px/1.4 'AddingtonCF',Georgia,serif!important; text-transform:none; letter-spacing:0; margin:0!important; }
body .sigma-intro .sigma-feature-body p { font-size:inherit; line-height:inherit; font-weight:400; color:inherit; text-wrap:pretty; margin:0 0 1em; }
body .sigma-intro .sigma-feature-body > :last-child { margin-bottom:0; }

/* Hero actions keep their original destinations and form modals. */
body .e-header :is(.sigma-hero-actions,.header-content .wp-block-buttons) { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:28px; }
body .e-header :is(.sigma-hero-actions .btn,.header-content .wp-block-button__link,.header-content .wp-block-buttons .ff_modal_btn) { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; box-sizing:border-box; min-height:52px; min-width:180px; max-width:100%; margin:0; padding:14px 22px; border:1px solid #ffffffa3; border-radius:7px; background:transparent; color:#fff; font:650 13px/1.5 'Kumbh Sans',sans-serif; text-transform:uppercase; letter-spacing:.13em; text-align:left; white-space:normal; text-decoration:none; cursor:pointer; box-shadow:none; transition:background-color .18s,border-color .18s,box-shadow .18s; }
body .e-header :is(.sigma-hero-actions .btn,.header-content .wp-block-button__link,.header-content .wp-block-buttons .ff_modal_btn)::after { content:'→'; display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; width:23px; height:23px; border:1px solid currentColor; border-radius:50%; font-size:15px; font-weight:400; line-height:1; letter-spacing:0; background:none; margin:0; }
body .e-header :is(.sigma-hero-actions .sigma-hero-primary,.header-content .wp-block-button:first-child .wp-block-button__link,.header-content .wp-block-buttons > .ff_form_modal:first-child > .ff_modal_btn) { background:#a46432; border-color:#a46432; }
body .e-header :is(.sigma-hero-actions .btn,.header-content .wp-block-button__link,.header-content .wp-block-buttons .ff_modal_btn):hover { background:#ffffff17; border-color:#fff; box-shadow:0 4px 16px #0002; }
body .e-header :is(.sigma-hero-actions .sigma-hero-primary,.header-content .wp-block-button:first-child .wp-block-button__link,.header-content .wp-block-buttons > .ff_form_modal:first-child > .ff_modal_btn):hover { background:#8d5328; border-color:#8d5328; }
body .e-header :is(.sigma-hero-actions .btn,.header-content .wp-block-button__link,.header-content .wp-block-buttons .ff_modal_btn):focus-visible { outline:2px solid #f2c79f; outline-offset:4px; }

/* Native Button blocks and ACF link/form buttons share the same action hierarchy. */
body .e-header .sigma-hero-actions:empty { display:none; margin:0; }
body .e-header .header-content .wp-block-buttons { margin-bottom:0; }
body .e-header .header-content :is(.wp-block-button__link,.wp-block-buttons .ff_modal_btn) :is(strong,b) { font-weight:inherit; }

/* The contact CTA uses the same tracking as the hero actions, including form triggers. */
body .simple-cta .inner :is(a,button).sigma-cta-action { letter-spacing:.13em; }

/* kBase belongs to the same hero family; article typography remains independent. */
body.sigma-kbase .skb-hero h1 { font-family:'Kumbh Sans',sans-serif; font-size:clamp(30px,3.2vw,48px); font-weight:800; line-height:1.25; letter-spacing:.12em; text-transform:uppercase; margin:0 0 26px; }
body.sigma-kbase .skb-hero h1 span { font:inherit; color:inherit; }
body.sigma-kbase .skb-hero h1::after { content:''; display:block; width:64px; height:6px; margin-top:26px; background:#bf8049; }
@media(max-width:900px) {
    body .sigma-jump-nav .inner { display:block; }
    body .sigma-jump-nav .navi-links { margin-top:12px; }
}
@media(max-width:600px) {
    .sigma-balanced-logos .logo-slider .swiper-slide { width:160px; height:84px; }
    .sigma-balanced-logos .logo-slider img { max-width:160px; height:64px; }
    body .sigma-intro .blocks { grid-template-columns:1fr; gap:32px; }
    body .sigma-intro .blocks > .block { display:flex; flex-direction:column; gap:14px; grid-row:auto; }
    body .e-header :is(.sigma-hero-actions .btn,.header-content .wp-block-button__link,.header-content .wp-block-buttons .ff_modal_btn) { min-width:0; width:100%; }
    body .e-header :is(.sigma-hero-actions > *, .header-content .wp-block-button,.header-content .wp-block-buttons > .ff_form_modal) { width:100%; }
    body.sigma-kbase .skb-hero h1 { font-size:clamp(27px,6.7vw,38px); letter-spacing:.09em; }
}
@supports not (grid-template-rows:subgrid) {
    body .sigma-intro .blocks > .block { display:flex; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
    body .e-header :is(.sigma-hero-actions .btn,.header-content .wp-block-button__link,.header-content .wp-block-buttons .ff_modal_btn) { transition:none; }
}

/* A quiet, explicit pause control for automatic logo movement. */
.logo-slider-wrap .sigma-logo-motion {
  display:block; width:auto; min-height:32px; margin:12px 24px 0 auto;
  padding:4px 10px; border:1px solid currentColor; border-radius:4px;
  background:transparent; color:inherit; font:500 12px/1.4 'Kumbh Sans',sans-serif;
  letter-spacing:.03em; cursor:pointer;
}
.logo-slider-wrap .sigma-logo-motion:focus-visible { outline:2px solid #bc8044; outline-offset:3px; }
