/* IFM Core 0.1.0 – deliberately small, mobile-first, no framework. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;text-size-adjust:100%}
body{margin:0;overflow-wrap:anywhere}
img,svg,video{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
a,button{touch-action:manipulation}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}

.ifm-container{width:min(100% - 2rem,1280px);margin-inline:auto}
.ifm-section{padding-block:var(--ifm-section-space)}
.ifm-section--compact{padding-block:clamp(2rem,5vw,4rem)}
.ifm-grid{display:grid;gap:clamp(1rem,2vw,2rem)}
.ifm-grid--2,.ifm-grid--3,.ifm-grid--4{grid-template-columns:1fr}
.ifm-card{background:#fff;border-radius:var(--ifm-radius-card);overflow:hidden;box-shadow:var(--ifm-shadow-card)}
.ifm-card__body{padding:clamp(1.1rem,2vw,1.6rem)}
.ifm-eyebrow{font-size:.78rem;line-height:1.2;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--wp--preset--color--accent)}
.ifm-title-balance{text-wrap:balance}
.ifm-readable{max-width:68ch}
.ifm-button-row{display:flex;flex-wrap:wrap;gap:.75rem}
.ifm-button-row .wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.ifm-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid rgba(20,30,40,.09)}
.ifm-header__inner{min-height:76px;display:flex;align-items:center;gap:1rem;justify-content:space-between}
.ifm-footer{background:#171A1C;color:#fff;padding-block:clamp(2.5rem,6vw,5rem)}
.ifm-footer a{color:inherit}

@media (min-width:778px){
  .ifm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ifm-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ifm-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:990px){
  .ifm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ifm-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
