/* Critical above-fold CSS — prevents FOUC while Bulma loads async */
*,::after,::before{box-sizing:border-box}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1f1f1f;background:#fff;margin:0;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:#C8102E;text-decoration:none}
.container{max-width:1152px;margin:0 auto;padding:0 1.5rem;width:auto}
/* Navbar */
.navbar{display:flex;align-items:stretch;min-height:3.25rem;background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.navbar-brand{display:flex;align-items:stretch;flex-shrink:0;min-height:3.25rem}
.navbar-item{align-items:center;display:flex;padding:.5rem .75rem;position:relative;text-decoration:none;color:#1f1f1f;line-height:1.5;cursor:pointer}
.navbar-menu{display:flex;align-items:stretch;flex-grow:1;flex-shrink:0}
.navbar-end{margin-left:auto;display:flex;align-items:stretch}
.navbar-burger{display:none;cursor:pointer;height:3.25rem;width:3.25rem;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:none;border:none;padding:0}
.navbar-burger span{display:block;height:2px;width:22px;background:#1f1f1f;border-radius:1px}
.logo{height:40px;width:auto}
/* Hero */
.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}
.hero-body{display:flex;align-items:center;flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}
.home-hero{min-height:60vh;background-size:cover;background-position:center;color:#fff}
.page-hero{background:#F7F7F7;border-bottom:4px solid #C8102E;min-height:25vh;display:flex;align-items:center}
/* Typography */
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:#1f1f1f;margin-top:0}
h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.5rem)}
h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}
.title{font-weight:700;line-height:1.2;color:#1f1f1f;margin-bottom:1.5rem}
.subtitle{color:#555;line-height:1.25;margin-bottom:1.5rem}
.home-hero .title,.home-hero .subtitle,.page-hero .title{color:inherit}
.home-hero .title,.home-hero .subtitle{color:#fff}
.page-hero .title{color:#1f1f1f}
.page-hero .subtitle{color:#555}
/* Buttons */
.buttons{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.buttons.is-centered{justify-content:center}
.button{display:inline-flex;align-items:center;justify-content:center;padding:.5em 1em;border-radius:4px;font-size:1rem;cursor:pointer;border:1px solid transparent;text-decoration:none;font-family:inherit;line-height:1.5;white-space:nowrap;transition:all .15s}
.is-danger{background-color:#C8102E;color:#fff}
.is-light{background-color:#f5f5f5;color:#363636}
.is-white{background-color:#fff;color:#363636}
.is-outlined.is-white{background:transparent;border-color:#fff;color:#fff}
.is-medium{font-size:1.25rem}
/* Columns skeleton — prevents layout jump */
.columns{display:flex;flex-wrap:wrap;margin:-.75rem}
.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}
/* Skip link */
.skip-link{position:absolute;top:-40px;left:0}
/* Responsive */
@media(max-width:1023px){
  .navbar-menu{display:none;flex-direction:column;background:#fff;padding:.5rem 0;box-shadow:0 4px 12px rgba(0,0,0,.1)}
  .navbar-menu.is-active{display:flex}
  .navbar-end{flex-direction:column;margin-left:0}
  .navbar-burger{display:flex}
}
