/* Rules read from the live raysolute.com stylesheet (26 Sep 2026), values unchanged, in the site's order.
   One transformation: the site's nested ".footer-link { &:hover {} }" is written out as a separate :hover rule. */
.container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 1.5rem; }
.breadcrumb-nav { background: var(--gray-50); padding: 16px 0px; border-bottom: 1px solid var(--gray-200); }
.breadcrumb-nav ol { display: flex; align-items: center; gap: 8px; list-style: none; font-size: 14px; }
.breadcrumb-nav li { display: flex; align-items: center; gap: 8px; color: var(--gray-500); }
.breadcrumb-nav li a { color: var(--accent-blue); text-decoration: none; }
.breadcrumb-nav li a:hover { text-decoration: underline; }
.breadcrumb-nav li.active { color: var(--gray-700); font-weight: 500; }
.section-title { font-family: var(--font-serif); font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 600; color: var(--primary-navy); line-height: 1.25; margin-bottom: 16px; }
.section-light { background: var(--gray-50); }
.section-navy { background: var(--primary-navy); color: var(--white); }
.section-navy .section-title { color: var(--white); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.875rem 1.75rem; font-family: var(--font-primary); font-size: 0.9375rem; font-weight: 600; line-height: 1.4; text-decoration: none; border-radius: 8px; border: none; cursor: pointer; transition: all var(--transition-base); }
.btn-primary { background: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-light) 100%); color: var(--primary-navy); box-shadow: rgba(184, 134, 11, 0.4) 0px 4px 14px; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: rgba(184, 134, 11, 0.5) 0px 6px 20px; color: var(--primary-navy); }
.site-footer { padding-block: 4rem 2rem; background: var(--primary-navy); color: rgba(255, 255, 255, 0.7); }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 3rem; }
.footer-brand img { height: 48px; width: auto; margin-block-end: 1.25rem; }
.footer-brand > p { font-size: 0.875rem; line-height: 1.7; margin-block-end: 1.5rem; }
.footer-column h4 { margin-block-end: 1.25rem; font-family: var(--font-primary); font-size: 1rem; font-weight: 600; color: var(--white); }
.footer-links { list-style: none; }
.footer-link { display: flex; align-items: center; gap: 0.5rem; padding-block: 0.375rem; font-size: 0.9375rem; color: rgba(255, 255, 255, 0.65); text-decoration: none; transition: color var(--transition-fast); }
.footer-link:hover { color: var(--accent-gold-light); }
.footer-bottom { margin-block-start: 3rem; padding-block-start: 2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); text-align: center; }
.footer-bottom p { margin: 0px; font-size: 0.8125rem; }
.footer-bottom a { color: rgba(255, 255, 255, 0.6); }
.footer-bottom a:hover { color: var(--accent-gold-light); }
@media (max-width: 991px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; } }
@media (max-width: 767px) { .footer-grid { grid-template-columns: 1fr; } }
@media (min-width: 992px) { .footer-grid { grid-template-columns: 1.2fr 1.35fr 1fr 1.1fr !important; gap: 1.75rem !important; } }
.footer-column .footer-link, footer .footer-link { display: inline-block !important; white-space: nowrap !important; font-size: 0.875rem !important; padding-block: 0.2rem !important; gap: 0px !important; }
.footer-column ul.footer-links li, footer ul.footer-links li { margin-block-end: 0px; }
@media (max-width: 767px) { .breadcrumb-nav ol { flex-wrap: wrap; } }
@media (max-width: 767px) { .footer-grid { grid-template-columns: 1fr !important; gap: 2rem !important; } }
@media (max-width: 767px) { .footer-column .footer-link, footer .footer-link { white-space: normal !important; } }
@media (max-width: 767px) { .container { padding-inline: 1rem; } }
