/* Festive North shared styles */
:root{
  --brand-red:#d7263d;
  --brand-green:#16a34a;
  --brand-green-hover:#15803d;
  --brand-dark:#0b1320;
}
html{scroll-behavior:smooth}
body{font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:#111827;font-weight:300;line-height:1.6;font-size:17px}
.container-xl{max-width:1200px}
.text-content{max-width:700px}
.btn-fn{background:var(--brand-green);border-color:var(--brand-green);color:#fff;font-weight:600;border-radius:9999px;padding:.85rem 1.25rem;transition:all .2s ease}
.btn-fn:focus{box-shadow:0 0 0 .25rem rgba(22,163,74,.3)}
.btn-ghost{background:transparent;border:2px solid #0b1320;color:#0b1320;border-radius:9999px;padding:.85rem 1.25rem}
.btn-ghost:hover{background:#0b1320;color:#fff}
.btn-fn:hover,.btn-fn:focus{background:var(--brand-green-hover);border-color:var(--brand-green-hover);color:#fff}
.badge-fn{background:rgba(215,38,61,.1);color:#d7263d;border:1px solid rgba(215,38,61,.2)}
.bg-brand-red{background:linear-gradient(90deg,#b31f31 0%,#d7263d 100%)!important}
.navbar{box-shadow:0 6px 20px rgba(0,0,0,.15)}
.text-brand-red{color:var(--brand-red)!important}
.navbar-brand{font-weight:700;letter-spacing:.3px}
.navbar .nav-link{font-weight:600}
.navbar .nav-link{opacity:.9}
/* Light nav style */
.nav-elevated{background:#ffffff!important;border-bottom:1px solid #eef0f2;box-shadow:0 6px 20px rgba(11,19,32,.06)}
.nav-elevated .nav-link{color:#0b1320!important}
.nav-elevated .nav-link:hover,.nav-elevated .nav-link.active{color:#d7263d!important;opacity:1}
.nav-elevated .navbar-brand{color:#0b1320}
.hero{position:relative;min-height:72vh;display:flex;align-items:center}
/* Clean hero variant */
.hero--clean{color:#0b1320;background:linear-gradient(180deg,#ffffff 0%,#f6f8fb 100%)}
.hero--clean .tagline{color:#6b7280}
.hero--clean .media-collage{display:flex;gap:16px;align-items:center}
.hero--clean .media-collage img{border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.hero--clean .media-collage .tall{height:320px;width:auto}
.hero--clean .media-collage .wide{height:220px;width:auto}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(215,38,61,.7),rgba(0,0,0,.82))}
.hero .content{position:relative;z-index:2}
.hero .content h1,.hero .content .lead{text-shadow:0 3px 12px rgba(0,0,0,.7)}
/* Glass panel for readability on hero */
.hero .content .row> [class^="col-"]:first-child{background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:16px;padding:1.25rem 1.5rem;border:1px solid rgba(255,255,255,.15)}
@media (min-width:992px){.hero .content .row> [class^="col-"]:first-child{max-width:720px}}
:focus-visible{outline:3px solid rgba(215,38,61,.5);outline-offset:2px}
.card-fn{border:none;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.08);transition:transform .2s ease, box-shadow .2s ease}
.card-fn:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.12)}
.card-fn img{border-top-left-radius:12px;border-top-right-radius:12px}
.card-fn .card-img-top{height:200px;object-fit:cover}
.section-title{font-weight:600}
.lead{font-weight:400}
p,li,td{font-weight:400}
h1,h2,h3,h4,h5,h6{font-weight:600}
footer a{color:#e5e7eb;text-decoration:none}
footer a:hover{color:#fff;text-decoration:underline}
footer.bg-dark{background:linear-gradient(180deg,#0b1320 0%,#121a2a 100%)!important}
.figure-ring{box-shadow:0 0 0 6px rgba(215,38,61,.15);border-radius:14px}
/* Readability improvements */
a{color:var(--brand-green);font-weight:600}
a:hover{color:#0f6e2e;text-decoration:underline}
.btn.btn-outline-dark{border:2px solid #111;color:#111}
.btn.btn-outline-dark:hover{background:#111;color:#fff}
.text-muted{color:#374151!important}
.section-title{color:var(--brand-dark)}
.card-fn{background:#fff;border:1px solid #eef0f2}
.card-fn .card-title{color:#0b1320}
.card-fn .card-text{color:#374151}
.btn.btn-outline-light{color:#fff;border-color:rgba(255,255,255,.9)}
.btn.btn-outline-light:hover{background:rgba(255,255,255,.15);border-color:#fff;color:#fff}
::selection{background:#fee2e2}
.form-control{border-radius:10px;border-color:#e2e8f0}
.form-control:focus{border-color:#d7263d;box-shadow:0 0 0 .25rem rgba(215,38,61,.15)}
.section-title{position:relative}
.section-title::after{content:"";display:block;width:64px;height:4px;background:#d7263d;border-radius:99px;margin:.5rem auto 0}
.bg-light{background:#f7f9fc!important}
@media (max-width: 991.98px){.hero{min-height:64vh}.navbar-collapse{backdrop-filter:blur(8px);background:#b31f31;border-radius:12px;padding:8px}}
