.header .logo .sitename { font: 700 30px var(--heading-font); color: var(--heading-color); }
.mobile-nav-toggle { background: transparent; border: 0; padding: 0; }
.skip-link { position: fixed; top: 0; left: 0; z-index: 1100; padding: 1rem; background: white; }
.hero-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero::after { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / 40%); }
.hero .info h1 { margin-bottom: 30px; padding-bottom: 30px; font-size: 56px; font-weight: 700; position: relative; }
.hero .info h1::after { content: ""; position: absolute; display: block; width: 80px; height: 4px; background: var(--accent-color); left: 0; right: 0; bottom: 0; margin: auto; }
.about .experience-badge h3, .about .projects-badge h3 { font-size: 42px; margin-bottom: 5px; font-weight: 700; color: inherit; }
.services .service-card .content h3 { font-size: 22px; font-weight: 700; margin-bottom: 15px; }
.team .team-card .content h3 { font-size: 22px; font-weight: 700; margin-bottom: 8px; }
.contact .contact-card .contact-text h3 { font-size: 18px; margin-bottom: 5px; }
.footer .footer-links h2, .footer .footer-contact h2 { font-size: 18px; font-weight: 600; margin-bottom: 25px; }
.footer .logo img { max-height: 60px; max-width: 100%; }
.swiper-slide { height: auto; }
.services .service-card, .team .team-card { height: 100%; }
.swiper-button-lock { display: none !important; }
.clients img { max-height: 90px; object-fit: contain; }
.contact .map-wrapper iframe { border: 0; }
.contact .without-map .contact-content { width: 100%; }
.contact-form button { border: 0; border-radius: 50px; background: var(--accent-color); color: var(--contrast-color); padding: 12px 30px; cursor: pointer; }
.contact-form button:hover { filter: brightness(.95); }
.contact-form { min-width: 0; }
.contact-form label { display: block; margin-bottom: .4rem; }
.news-page .header { background: var(--background-color); }
.content-page .header { --background-color: inherit; --default-color: inherit; --heading-color: inherit; --nav-color: inherit; }
.content-page-container { padding-top: 140px; padding-bottom: 60px; min-height: 60vh; }
.rich-text-content { max-width: 900px; margin-inline: auto; overflow-wrap: anywhere; line-height: 1.75; }
.rich-text-content h1, .rich-text-content h2, .rich-text-content h3 { margin-bottom: 1rem; }
.rich-text-content h2, .rich-text-content h3 { margin-top: 2rem; }
.rich-text-content img { max-width: 100%; height: auto; }
.rich-text-content table { display: block; overflow-x: auto; max-width: 100%; }
.rich-text-content blockquote { margin-left: 0; margin-right: 0; padding-left: 1rem; border-left: 3px solid var(--accent-color); }
.news-detail-container { padding-top: 110px; }
.news-button { display: inline-flex; align-items: center; gap: .5rem; border-radius: 50px; padding: 12px 24px; background: var(--accent-color); color: #111; font-weight: 600; }
.news-button:hover { color: #111; filter: brightness(.95); }
.news-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; list-style: none; }
.news-breadcrumbs li + li::before { content: "/"; margin-right: .5rem; }
.recent-posts .featured-img img, .blog-posts .featured-img img { object-fit: cover; }
.recent-posts .recent-img, .blog-posts .recent-img { flex-shrink: 0; }
.recent-posts .recent-content, .blog-posts .recent-content { min-width: 0; }
.recent-posts .post-title, .blog-posts .post-title, .blog-details .title, .recent-title { overflow-wrap: anywhere; }
.blog-details .post-img img { width: 100%; max-height: 520px; object-fit: cover; }
.blog-details .content img { max-width: 100%; height: auto; }
.blog-details .content table { display: block; overflow-x: auto; max-width: 100%; }
.blog-details .content blockquote { margin-left: 0; margin-right: 0; }
.blog-details .meta-top ul { flex-wrap: wrap; row-gap: .5rem; }
.recent-posts-widget .post-item h3 { font-size: 15px; font-weight: bold; margin-bottom: 5px; }
.recent-posts-widget .post-item h3 a { color: var(--default-color); }
.recent-posts-widget .post-item h3 a:hover { color: var(--accent-color); }
.recent-posts-widget .post-item img { height: 64px; object-fit: cover; }
.blog-pagination ul { flex-wrap: wrap; }
.blog-pagination .pagination-gap { align-self: center; padding: .5rem; }
:focus-visible { outline: 3px solid var(--accent-color); outline-offset: 4px; }
@media (max-width: 768px) {
  .hero .info h1 { font-size: 36px; }
  .about .display-4 { font-size: 2rem; }
  .about .experience-badge h3, .about .projects-badge h3 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  [data-aos] { opacity: 1 !important; transform: none !important; }
}
