:root{--primary-deep-blue:#0a4a7f;--secondary-sacred-gold:#f9c941;--info-sky-blue:#4fc3f7;--background-light-ivory:#f9f9f6;--text-charcoal-gray:#2c2c2c;--white:#fff}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--background-light-ivory);color:var(--text-charcoal-gray)}a{color:inherit;text-decoration:none}.RootLayout{min-height:100vh;display:grid;grid-template-rows:0 1fr min-content;grid-template-areas:"headerbar" "main" "footerarea"}.RootLayout main{grid-area:main;margin-top:-5rem;display:flex;flex-direction:column}.RootLayout main>div:not(.HomePage){padding-top:5rem}.Footer{margin-top:auto;background-color:var(--background-light-ivory);color:var(--text-primary);grid-area:footerarea}.Footer .footer-main-section{padding:3rem 0}.Footer .footer-main-section .footer-brand-section .footer-brand-logo{display:flex;align-items:center;margin-bottom:1rem}.Footer .footer-main-section .footer-brand-section .footer-brand-logo .brand-icon{width:40px;height:40px;border-radius:50%;background-color:var(--primary-deep-blue);display:flex;align-items:center;justify-content:center;margin-right:1rem;font-size:1.5rem;transition:transform .3s ease}.Footer .footer-main-section .footer-brand-section .footer-brand-logo .brand-icon:hover{transform:scale(1.1)}.Footer .footer-main-section .footer-brand-section .footer-brand-logo .brand-title{font-weight:700;color:var(--text-primary)}.Footer .footer-main-section .footer-brand-section .footer-brand-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6;max-width:300px}.Footer .footer-main-section .footer-brand-section .footer-social-links{display:flex;gap:.5rem}.Footer .footer-main-section .footer-brand-section .footer-social-links .footer-social-link{width:40px;height:40px;color:#fff;font-size:1.2rem;transition:all .3s ease}.Footer .footer-main-section .footer-brand-section .footer-social-links .footer-social-link:hover{opacity:.8;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.Footer .footer-main-section .footer-link-column .footer-link-column-title{font-weight:600;margin-bottom:1rem;color:var(--text-primary);font-size:1rem;position:relative}.Footer .footer-main-section .footer-link-column .footer-link-column-title:after{content:"";position:absolute;bottom:-8px;left:0;width:30px;height:2px;background-color:var(--primary-deep-blue)}.Footer .footer-main-section .footer-link-column .footer-links-list{list-style:none;padding:0;margin:0}.Footer .footer-main-section .footer-link-column .footer-link-item{margin-bottom:.5rem}.Footer .footer-main-section .footer-link-column .footer-link-item a{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .3s ease;position:relative}.Footer .footer-main-section .footer-link-column .footer-link-item a:before{content:"▶";position:absolute;left:-15px;opacity:0;transition:all .3s ease;color:var(--primary-deep-blue);font-size:.7rem}.Footer .footer-main-section .footer-link-column .footer-link-item a:hover{color:var(--primary-deep-blue);text-decoration:none;padding-left:15px}.Footer .footer-main-section .footer-link-column .footer-link-item a:hover:before{opacity:1}.Footer .footer-main-section .footer-contact-section .footer-contact-title{font-weight:600;margin-bottom:1rem;color:var(--text-primary);font-size:1rem;position:relative}.Footer .footer-main-section .footer-contact-section .footer-contact-title:after{content:"";position:absolute;bottom:-8px;left:0;width:30px;height:2px;background-color:var(--primary-deep-blue)}.Footer .footer-main-section .footer-contact-section .footer-contact-item{display:flex;align-items:flex-start;margin-bottom:1rem;gap:1rem;transition:transform .3s ease}.Footer .footer-main-section .footer-contact-section .footer-contact-item:hover{transform:translateX(5px)}.Footer .footer-main-section .footer-contact-section .footer-contact-item:hover .footer-contact-icon{transform:scale(1.2)}.Footer .footer-main-section .footer-contact-section .footer-contact-item .footer-contact-icon{font-size:1.2rem;min-width:24px;color:var(--primary-deep-blue);transition:transform .3s ease}.Footer .footer-main-section .footer-contact-section .footer-contact-item .footer-contact-text{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.Footer .footer-bottom-section{padding:1.5rem 0;border-top:1px solid #e0e0e0;background-color:#eee}.Footer .footer-bottom-section .footer-copyright{text-align:center;color:var(--text-secondary);font-size:.875rem;font-weight:500}