/* SFHL brand refinements */
:root { --brand-blue:#1a2b5e; --brand-maroon:#8b0000; }
#topbar.announcement-bar { display:block; background:var(--announcement-bg); color:var(--announcement-color); padding:0; height:38px; max-height:38px; overflow:hidden; }
#topbar.announcement-bar:has(.announcement-viewport):not(.hide) { height:38px; }
#topbar.announcement-bar:not(:has(.announcement-viewport)) { height:0; max-height:0; }
#topbar.announcement-bar.hide { height:0; max-height:0; }
.announcement-viewport { width:100%; height:38px; overflow:hidden; display:flex; align-items:center; }
.announcement-track { display:flex; width:max-content; animation:sfhlAnnouncements var(--announcement-duration) linear infinite; }
.announcement-group { display:flex; align-items:center; flex-shrink:0; min-width:100vw; justify-content:space-around; }
.announcement-message { white-space:nowrap; display:flex; align-items:center; gap:24px; padding:0 32px; font-size:13px; font-weight:500; }
.announcement-bullet { font-size:8px; opacity:.7; }
.announcement-viewport:hover .announcement-track,.announcement-viewport:focus .announcement-track { animation-play-state:paused; }
@keyframes sfhlAnnouncements { to { transform:translateX(-50%); } }
.logo-img,.sb-logo-img,.footer-brand-logo img { filter:none!important; box-shadow:none!important; }
.footer-brand-logo { background:transparent; }
.nav-book-btn,.btn-primary-about,.slide-btn,.btn-submit,.contact-submit-btn,.btn-primary { background:var(--brand-blue)!important; color:#fff!important; border-color:var(--brand-blue)!important; transition:background .25s,border-color .25s,transform .25s,box-shadow .25s; }
.nav-book-btn:hover,.btn-primary-about:hover,.slide-btn:hover,.btn-submit:hover,.contact-submit-btn:hover,.btn-primary:hover { background:var(--brand-maroon)!important; border-color:var(--brand-maroon)!important; color:#fff!important; box-shadow:0 5px 15px #8b000020; transform:translateY(-2px); }
a:focus-visible,button:focus-visible { outline:3px solid #8b000080; outline-offset:4px; }
.about-section .img-frame { margin-right:0; padding:12px; background:#f0f2f8; border-radius:20px; border:1px solid #dde1ed; }
.about-section .img-frame::before,.about-section .img-frame::after { display:none; }
.about-section .main-img { border-radius:12px; height:500px; box-shadow:none; }
.about-brand-panel { display:flex; align-items:center; gap:18px; background:#fff; padding:20px 12px 10px; border-radius:0 0 12px 12px; border-bottom:3px solid var(--brand-maroon); }
.about-brand-mark { flex:0 0 72px; width:72px; height:72px; display:grid; place-items:center; }
.about-brand-mark img { width:100%; height:100%; object-fit:contain; }
.about-brand-copy { display:flex; flex-direction:column; gap:5px; }
.about-brand-copy span { color:var(--brand-maroon); text-transform:uppercase; letter-spacing:2px; font-size:10px; font-weight:700; }
.about-brand-copy strong { color:var(--brand-blue); font-size:15px; line-height:1.4; }
.about-brand-copy small { color:#697089; font-size:11px; letter-spacing:.5px; }
.mission-vision-page [style*="box-shadow"] { box-shadow:0 6px 25px #1a2b5e08!important; }
.mission-vision-page .badge { background:#eef0f7!important; color:var(--brand-maroon)!important; }
.mission-vision-page .col-12 > div:first-child { background:linear-gradient(120deg,#1a2b5ef2,#8b0000e8)!important; border-radius:18px!important; }
.mission-vision-page .col-12 > div[style*="display: flex"] { border-radius:18px!important; border:1px solid #dde1ed; box-shadow:none!important; background:#fff; }
.mission-vision-page div[style*="background: rgb(237, 233, 254)"] { background:#f5e9eb!important; color:var(--brand-maroon)!important; border-radius:4px!important; letter-spacing:1px; }
.mission-vision-page h2,.mission-vision-page h3 { color:var(--brand-blue)!important; }
.mission-vision-page h4 { color:var(--brand-maroon)!important; }
.mission-vision-page div[style*="background: rgb(245, 243, 255)"] { background:#eef0f7!important; }
.home-contact-submit-btn,.bn-btn,.btn-contact,.btn-submit-contact { background:var(--brand-blue)!important; border-color:var(--brand-blue)!important; color:#fff!important; transition:background .25s,transform .25s; }
.home-contact-submit-btn:hover,.bn-btn:hover,.btn-contact:hover,.btn-submit-contact:hover { background:var(--brand-maroon)!important; border-color:var(--brand-maroon)!important; transform:translateY(-2px); }
.product-hero { background:linear-gradient(120deg,#eef0f7,#fff 75%); padding:65px 0 45px; border-bottom:1px solid #dde1ed; }
.product-kicker { display:block; color:var(--brand-maroon); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:2px; margin-bottom:14px; }
.product-hero h1 { color:var(--brand-blue); font-size:clamp(32px,4vw,48px); font-weight:750; margin-bottom:16px; }
.product-hero h1 span,.clients-section .section-title span { color:var(--brand-maroon); }
.product-hero p { color:#697089; max-width:500px; font-size:16px; }
.product-hero-rule { height:3px; width:85px; background:linear-gradient(90deg,var(--brand-blue) 65%,var(--brand-maroon) 65%); margin-top:24px; }
.product-catalog { padding:42px 0 70px; min-height:350px; }
.product-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:16px; }
.product-card { min-width:0; border:1px solid #dde1ed; border-radius:12px; overflow:hidden; background:#fff; transition:transform .25s,border-color .25s,box-shadow .25s; }
.product-card:hover { transform:translateY(-4px); border-color:var(--brand-maroon); box-shadow:0 8px 24px #1a2b5e0c; }
.product-image { aspect-ratio:1; padding:14px; background:#f7f8fb; display:grid; place-items:center; border-bottom:1px solid #edf0f6; }
.product-image img { width:100%; height:100%; object-fit:contain; }
.product-card h2 { font-size:13px; font-weight:600; line-height:1.5; padding:13px 10px; margin:0; text-align:center; color:var(--brand-blue); overflow-wrap:anywhere; }
.product-empty { grid-column:1/-1; text-align:center; padding:35px; color:#697089; }
.product-empty i { font-size:36px; color:var(--brand-maroon); margin-bottom:20px; }
.product-empty h2 { font-size:24px; color:var(--brand-blue); }
.product-empty .btn-primary-about { margin-top:15px; }
.clients-section { padding:65px 0; background:#f7f8fb; text-align:center; }
.client-slider { --client-columns:5; margin-top:30px; }
.client-viewport { overflow:hidden; }
.client-track { display:flex; transition:transform .5s ease; }
.client-item { flex:0 0 calc(100% / var(--client-columns)); padding:8px; min-width:0; }
.client-logo { background:#fff; border:1px solid #e4e7ef; border-radius:12px; height:130px; padding:20px; display:flex; align-items:center; justify-content:center; }
.client-logo img { max-width:100%; width:auto; max-height:90px; object-fit:contain; }
.client-dots { display:flex; justify-content:center; gap:10px; margin-top:24px; }
.client-dot { width:9px; height:9px; padding:0; border:0; border-radius:20px; background:#c8cde0; transition:width .25s,background .25s; }
.client-dot[aria-current="true"] { width:26px; background:var(--brand-maroon); }
@media (max-width:1199px) { .product-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } .d-nav .nav-link { padding-left:10px; padding-right:10px; font-size:13px; } }
@media (max-width:991px) { .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .client-slider { --client-columns:3; } .about-section .main-img { height:420px; } }
@media (max-width:575px) { .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .product-hero { padding:40px 0 30px; } .client-slider { --client-columns:2; } .client-logo { height:110px; padding:16px; } .about-section .main-img { height:360px; } .about-brand-panel { gap:12px; } .about-brand-copy strong { font-size:13px; } .announcement-message { font-size:12px; padding:0 20px; } }
@media (prefers-reduced-motion:reduce) { .announcement-track { animation:none; } .announcement-viewport { overflow-x:auto; } .announcement-group[aria-hidden] { display:none; } .client-track { transition:none; } }
