/*!
Theme Name: webbistarter
Theme URI: http://underscores.me/
Author: Amar Deric
Author URI: http://underscores.me/
Description: A starter theme for Webbi WordPress projects.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: webbistarter
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

webbistarter is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  color: #4169e1;
}
a:visited {
  color: #800080;
}
a:hover, a:focus, a:active {
  color: #191970;
}
a:focus {
  outline: thin dotted;
}
a:hover, a:active {
  outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: #ccc #bbb #aaa;
}
button:active, button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.site-header {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0, 137, 233, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: all 0.3s ease;
}
.site-header.scrolled {
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 30px rgba(0, 137, 233, 0.1);
}
.site-header .header-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 80px;
}
@media (max-width: 768px) {
  .site-header .header-container {
    padding: 0 1.5rem;
    min-height: 70px;
  }
}
.site-header .site-branding .custom-logo-link {
  display: inline-block;
  line-height: 1;
}
.site-header .site-branding .custom-logo-link .custom-logo {
  height: auto;
  max-height: 50px;
  width: auto;
  max-width: 200px;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  .site-header .site-branding .custom-logo-link .custom-logo {
    max-height: 40px;
    max-width: 150px;
  }
}
.site-header .site-branding .site-title {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
}
.site-header .site-branding .site-title a {
  color: #333;
  text-decoration: none;
  background: linear-gradient(135deg, #0089E9 0%, #F24738 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: all 0.3s ease;
}
.site-header .site-branding .site-title a:hover {
  background: linear-gradient(135deg, #F24738 0%, #F89A21 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.site-header .site-branding .site-description {
  display: none;
}
@media (min-width: 1024px) {
  .site-header .site-branding .site-description {
    display: block;
    font-size: 0.85rem;
    color: #666;
    margin: 0;
    margin-top: -5px;
  }
}
.site-header .main-navigation {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 1024px) {
  .site-header .main-navigation {
    gap: 1rem;
  }
}
.site-header .main-navigation .menu-toggle-wrapper {
  display: none;
}
@media (max-width: 1024px) {
  .site-header .main-navigation .menu-toggle-wrapper {
    display: block;
  }
}
.site-header .main-navigation .menu-toggle {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.site-header .main-navigation .menu-toggle:hover {
  background: rgba(0, 137, 233, 0.1);
}
.site-header .main-navigation .menu-toggle .hamburger {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 24px;
  height: 18px;
}
.site-header .main-navigation .menu-toggle .hamburger .line {
  width: 100%;
  height: 2px;
  background: #333;
  border-radius: 2px;
  transition: all 0.3s ease;
}
.site-header .main-navigation .menu-toggle .menu-text {
  font-size: 0.9rem;
  font-weight: 500;
  color: #333;
}
@media (max-width: 768px) {
  .site-header .main-navigation .menu-toggle .menu-text {
    display: none;
  }
}
.site-header .main-navigation .menu-toggle[aria-expanded=true] .hamburger .line:first-child {
  transform: rotate(45deg) translate(6px, 6px);
}
.site-header .main-navigation .menu-toggle[aria-expanded=true] .hamburger .line:nth-child(2) {
  opacity: 0;
}
.site-header .main-navigation .menu-toggle[aria-expanded=true] .hamburger .line:last-child {
  transform: rotate(-45deg) translate(6px, -6px);
}
@media (max-width: 1024px) {
  .site-header .main-navigation .primary-menu-wrapper {
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    background: white;
    border-top: 1px solid rgba(0, 137, 233, 0.1);
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  }
  .site-header .main-navigation .primary-menu-wrapper.menu-open {
    max-height: calc(100vh - 70px);
    overflow-y: auto;
  }
}
.site-header .main-navigation .primary-menu {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) {
  .site-header .main-navigation .primary-menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 1rem 0;
  }
}
.site-header .main-navigation .primary-menu .menu-item {
  position: relative;
}
@media (max-width: 1024px) {
  .site-header .main-navigation .primary-menu .menu-item {
    border-bottom: 1px solid rgba(0, 137, 233, 0.1);
  }
  .site-header .main-navigation .primary-menu .menu-item:last-child {
    border-bottom: none;
  }
}
.site-header .main-navigation .primary-menu .menu-item > a {
  display: block;
  padding: 1rem 1.5rem;
  color: #333;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  border-radius: 8px;
}
@media (max-width: 1024px) {
  .site-header .main-navigation .primary-menu .menu-item > a {
    padding: 1rem 2rem;
    border-radius: 0;
  }
}
.site-header .main-navigation .primary-menu .menu-item > a:hover, .site-header .main-navigation .primary-menu .menu-item > a:focus {
  color: #0089E9;
  background: rgba(0, 137, 233, 0.1);
}
@media (max-width: 1024px) {
  .site-header .main-navigation .primary-menu .menu-item > a:hover, .site-header .main-navigation .primary-menu .menu-item > a:focus {
    background: rgba(0, 137, 233, 0.05);
  }
}
.site-header .main-navigation .primary-menu .menu-item.current-menu-item > a, .site-header .main-navigation .primary-menu .menu-item.current_page_item > a {
  color: #0089E9;
  font-weight: 600;
}
.site-header .main-navigation .primary-menu .menu-item.has-dropdown > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.site-header .main-navigation .primary-menu .menu-item.has-dropdown > a .dropdown-arrow {
  transition: transform 0.3s ease;
}
.site-header .main-navigation .primary-menu .menu-item.has-dropdown:hover > a .dropdown-arrow, .site-header .main-navigation .primary-menu .menu-item.has-dropdown.menu-open > a .dropdown-arrow {
  transform: rotate(180deg);
}
.site-header .main-navigation .primary-menu .menu-item.has-dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: white;
  border: 1px solid rgba(0, 137, 233, 0.1);
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1000;
  padding: 0.5rem 0;
}
@media (max-width: 1024px) {
  .site-header .main-navigation .primary-menu .menu-item.has-dropdown .dropdown-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: none;
    border-radius: 0;
    background: rgba(0, 137, 233, 0.05);
    margin-top: 0;
    max-height: 0;
    overflow: hidden;
    padding: 0;
  }
}
.site-header .main-navigation .primary-menu .menu-item.has-dropdown .dropdown-menu .menu-item {
  border-bottom: none;
}
.site-header .main-navigation .primary-menu .menu-item.has-dropdown .dropdown-menu .menu-item a {
  padding: 0.8rem 1.5rem;
  font-size: 0.9rem;
  color: #666;
  border-radius: 0;
}
.site-header .main-navigation .primary-menu .menu-item.has-dropdown .dropdown-menu .menu-item a:hover {
  color: #0089E9;
  background: rgba(0, 137, 233, 0.05);
}
.site-header .main-navigation .primary-menu .menu-item.has-dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (max-width: 1024px) {
  .site-header .main-navigation .primary-menu .menu-item.has-dropdown.menu-open .dropdown-menu {
    max-height: 300px;
    padding: 0.5rem 0;
  }
}
.site-header .main-navigation .header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 768px) {
  .site-header .main-navigation .header-actions {
    gap: 0.5rem;
  }
}
.site-header .main-navigation .header-actions .btn-header {
  padding: 0.7rem 1.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 50px;
  transition: all 0.3s ease;
}
.site-header .main-navigation .header-actions .btn-header.btn-primary {
  background: linear-gradient(135deg, #0089E9 0%, #005185 100%);
  color: white;
  border: none;
}
.site-header .main-navigation .header-actions .btn-header.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 137, 233, 0.3);
}
@media (max-width: 768px) {
  .site-header .main-navigation .header-actions .btn-header {
    padding: 0.6rem 1.2rem;
    font-size: 0.85rem;
  }
}
@media (max-width: 480px) {
  .site-header .main-navigation .header-actions .btn-header {
    display: none;
  }
}
.site-header .main-navigation .header-actions .search-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  border-radius: 8px;
  color: #333;
  transition: all 0.3s ease;
}
.site-header .main-navigation .header-actions .search-toggle:hover {
  background: rgba(0, 137, 233, 0.1);
  color: #0089E9;
}
.site-header .mobile-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 999;
}
.site-header .mobile-menu-overlay.overlay-open {
  opacity: 1;
  visibility: visible;
}

.search-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 2000;
}
.search-modal[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
}
.search-modal .search-modal-content {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  width: 100%;
  max-width: 500px;
  margin: 0 1rem;
  position: relative;
}
.search-modal .search-modal-content .search-modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
}
.search-modal .search-modal-content .search-modal-close:hover {
  color: #F24738;
}
.search-modal .search-modal-content .search-form input[type=search] {
  width: 100%;
  padding: 1rem 1.5rem;
  border: 2px solid #e9ecef;
  border-radius: 50px;
  font-size: 1.1rem;
  outline: none;
}
.search-modal .search-modal-content .search-form input[type=search]:focus {
  border-color: #0089E9;
}

body {
  padding-top: 0;
}
@media (max-width: 768px) {
  body {
    padding-top: 0;
  }
}
body.menu-open {
  overflow: hidden;
}
@media (max-width: 1024px) {
  body.menu-open .site-header .mobile-menu-overlay {
    opacity: 1;
    visibility: visible;
  }
  body.menu-open .site-header .primary-menu-wrapper {
    max-height: calc(100vh - 70px);
    overflow-y: auto;
  }
}

.site-footer {
  background: #1a1a1a;
  color: rgba(255, 255, 255, 0.8);
  margin-top: auto;
}
.site-footer .footer-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 768px) {
  .site-footer .footer-content {
    padding: 0 1.5rem;
  }
}
.site-footer .footer-widgets {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 3rem;
  padding: 4rem 0;
}
@media (max-width: 1024px) {
  .site-footer .footer-widgets {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .site-footer .footer-widgets {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 3rem 0;
  }
}
.site-footer .footer-column h3, .site-footer .footer-column h4 {
  color: white;
  margin-bottom: 1.5rem;
  font-size: 1.1rem;
  font-weight: 600;
}
.site-footer .footer-column p {
  line-height: 1.6;
  margin-bottom: 1rem;
  font-size: 0.95rem;
}
.site-footer .footer-column p:last-child {
  margin-bottom: 0;
}
.site-footer .footer-about .footer-logo {
  margin-bottom: 1.5rem;
}
.site-footer .footer-about .footer-logo .footer-logo-img {
  max-height: 60px;
  width: auto;
  margin-bottom: 1rem;
  filter: brightness(0) invert(1);
}
.site-footer .footer-about .footer-logo h3 {
  background: linear-gradient(135deg, #0089E9 0%, #F89A21 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}
.site-footer .footer-about .footer-logo .footer-tagline {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  font-style: italic;
}
.site-footer .footer-about .footer-social {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
}
.site-footer .footer-about .footer-social .social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: all 0.3s ease;
}
.site-footer .footer-about .footer-social .social-link:hover {
  background: #0089E9;
  color: white;
  transform: translateY(-2px);
}
.site-footer .footer-about .footer-social .social-link:nth-child(2):hover {
  background: #F24738;
}
.site-footer .footer-about .footer-social .social-link:nth-child(3):hover {
  background: #F89A21;
}
.site-footer .footer-title {
  position: relative;
  padding-bottom: 0.5rem;
}
.site-footer .footer-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: linear-gradient(135deg, #0089E9 0%, #F24738 100%);
}
.site-footer .footer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer .footer-menu li {
  margin-bottom: 0.8rem;
}
.site-footer .footer-menu li:last-child {
  margin-bottom: 0;
}
.site-footer .footer-menu li a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
}
.site-footer .footer-menu li a:hover {
  color: #0089E9;
  padding-left: 0.5rem;
}
.site-footer .footer-menu li a::before {
  content: "→";
  opacity: 0;
  margin-right: 0.5rem;
  transition: opacity 0.3s ease;
}
.site-footer .footer-menu li a:hover::before {
  opacity: 1;
}
.site-footer .footer-contact-info .contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}
.site-footer .footer-contact-info .contact-item:last-child {
  margin-bottom: 0;
}
.site-footer .footer-contact-info .contact-item svg {
  color: #0089E9;
  margin-top: 0.1rem;
  flex-shrink: 0;
}
.site-footer .footer-contact-info .contact-item a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}
.site-footer .footer-contact-info .contact-item a:hover {
  color: #0089E9;
}
.site-footer .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.5rem 0;
}
.site-footer .footer-bottom .footer-bottom-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .site-footer .footer-bottom .footer-bottom-content {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
}
.site-footer .footer-bottom .footer-copyright p {
  margin: 0;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}
.site-footer .footer-bottom .legal-menu {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 768px) {
  .site-footer .footer-bottom .legal-menu {
    gap: 1rem;
  }
}
.site-footer .footer-bottom .legal-menu li a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.3s ease;
}
.site-footer .footer-bottom .legal-menu li a:hover {
  color: #0089E9;
}
.site-footer .widget {
  margin-bottom: 1.5rem;
}
.site-footer .widget:last-child {
  margin-bottom: 0;
}
.site-footer .widget .widget-title {
  color: white;
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.site-footer .widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer .widget ul li {
  margin-bottom: 0.5rem;
}
.site-footer .widget ul li a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.3s ease;
}
.site-footer .widget ul li a:hover {
  color: #0089E9;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.posts-grid {
  padding: 3rem 3rem;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}
.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/* Blocks
--------------------------------------------- */
.hero-block {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, #0089E9 0%, #F24738 50%, #F89A21 100%);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.hero-block .hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.85) 0%, rgba(242, 71, 56, 0.85) 50%, rgba(248, 154, 33, 0.85) 100%);
  z-index: 1;
}
.hero-block .hero-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
}
@media (max-width: 768px) {
  .hero-block .hero-container {
    padding: 1.5rem;
  }
}
.hero-block .hero-content {
  max-width: 800px;
  color: white;
  animation: heroFadeInUp 1s ease-out;
}
.hero-block .hero-content--left {
  text-align: left;
  margin-right: auto;
}
.hero-block .hero-content--center {
  text-align: center;
  margin: 0 auto;
}
.hero-block .hero-content--right {
  text-align: right;
  margin-left: auto;
}
.hero-block .hero-subtitle {
  display: inline-block;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, 0.95);
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.2) 0%, rgba(242, 71, 56, 0.2) 100%);
  padding: 0.5rem 1.5rem;
  border-radius: 50px;
  margin-bottom: 2rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px rgba(0, 137, 233, 0.2);
  animation: heroSlideInLeft 1s ease-out 0.2s both;
}
@media (max-width: 768px) {
  .hero-block .hero-subtitle {
    font-size: 0.9rem;
    padding: 0.4rem 1.2rem;
    margin-bottom: 1.5rem;
  }
}
.hero-block .hero-title {
  font-size: clamp(2.5rem, 8vw, 4.5rem);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg, #004e99 0%, rgba(0, 47, 76, 0.9) 50%, #000000 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  animation: heroSlideInRight 1s ease-out 0.4s both;
}
@media (max-width: 768px) {
  .hero-block .hero-title {
    margin-bottom: 1.2rem;
  }
}
.hero-block .hero-description {
  font-size: 1.2rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 3rem;
  max-width: 600px;
  animation: heroFadeIn 1s ease-out 0.6s both;
}
@media (max-width: 768px) {
  .hero-block .hero-description {
    font-size: 1.1rem;
    margin-bottom: 2rem;
  }
}
.hero-block .hero-description p {
  margin-bottom: 1rem;
}
.hero-block .hero-description p:last-child {
  margin-bottom: 0;
}
.hero-block .hero-actions {
  animation: heroSlideInUp 1s ease-out 0.8s both;
}
.hero-block .hero-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2.5rem;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  color: #0089E9;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border: none;
  border-radius: 50px;
  box-shadow: 0 10px 30px rgba(0, 137, 233, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.2);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.hero-block .hero-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0, 137, 233, 0.3), transparent);
  transition: left 0.5s;
}
.hero-block .hero-button:hover {
  transform: translateY(-2px);
  color: #fff;
  box-shadow: 0 15px 40px rgba(56, 115, 242, 0.4), 0 0 0 1px rgba(33, 151, 248, 0.3);
  background: linear-gradient(135deg, #ffffff 0%, rgba(0, 137, 233, 0.1) 100%);
}
.hero-block .hero-button:hover::before {
  left: 100%;
}
.hero-block .hero-button:active {
  transform: translateY(0);
}
.hero-block .hero-button.btn-secondary {
  color: white;
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.2) 0%, rgba(242, 71, 56, 0.2) 100%);
  border: 2px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
}
.hero-block .hero-button.btn-secondary:hover {
  color: white;
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.4) 0%, rgba(242, 71, 56, 0.4) 100%);
  border-color: rgba(248, 154, 33, 0.6);
}
@media (max-width: 768px) {
  .hero-block .hero-button {
    padding: 0.9rem 2rem;
    font-size: 1rem;
  }
}
.hero-block::after {
  content: "";
  position: absolute;
  top: 20%;
  right: 10%;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(248, 154, 33, 0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: floatAccent 6s ease-in-out infinite;
  z-index: 0;
}
@media (max-width: 768px) {
  .hero-block::after {
    display: none;
  }
}
.hero-block::before {
  content: "";
  position: absolute;
  bottom: 15%;
  left: 5%;
  width: 80px;
  height: 80px;
  background: radial-gradient(circle, rgba(242, 71, 56, 0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: floatAccent 8s ease-in-out infinite reverse;
  z-index: 0;
}
@media (max-width: 768px) {
  .hero-block::before {
    display: none;
  }
}
.hero-block.alignfull .hero-container {
  max-width: none;
  padding-left: 4rem;
  padding-right: 4rem;
}
@media (max-width: 768px) {
  .hero-block.alignfull .hero-container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.hero-block.alignwide .hero-container {
  max-width: 1400px;
}
.hero-block.hero--primary {
  background: linear-gradient(135deg, #0089E9 0%, rgba(0, 137, 233, 0.8) 100%);
}
.hero-block.hero--secondary {
  background: linear-gradient(135deg, #F24738 0%, rgba(242, 71, 56, 0.8) 100%);
}
.hero-block.hero--accent {
  background: linear-gradient(135deg, #F89A21 0%, rgba(248, 154, 33, 0.8) 100%);
}

@keyframes heroFadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes heroSlideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes heroSlideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes heroFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes heroSlideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes floatAccent {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-20px) scale(1.1);
  }
}
@media (prefers-color-scheme: dark) {
  .hero-block .hero-overlay {
    background: linear-gradient(135deg, rgba(0, 137, 233, 0.9) 0%, rgba(242, 71, 56, 0.9) 50%, rgba(248, 154, 33, 0.9) 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-block {
    background-attachment: scroll;
  }
  .hero-block::before, .hero-block::after {
    animation: none;
  }
  .hero-block .hero-subtitle,
  .hero-block .hero-title,
  .hero-block .hero-description,
  .hero-block .hero-actions,
  .hero-block .hero-content {
    animation: none;
  }
}
@media print {
  .hero-block {
    min-height: auto;
    background: #f8f9fa !important;
    color: #333 !important;
  }
  .hero-block .hero-overlay {
    display: none;
  }
  .hero-block .hero-content {
    color: #333 !important;
  }
  .hero-block .hero-title {
    color: #0089E9 !important;
    -webkit-text-fill-color: #0089E9 !important;
  }
  .hero-block .hero-button {
    display: none;
  }
}
.contact-block {
  padding: 6rem 0;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  position: relative;
  overflow: hidden;
}
.contact-block::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 80% 20%, rgba(0, 137, 233, 0.05) 0%, transparent 50%), radial-gradient(circle at 20% 80%, rgba(248, 154, 33, 0.05) 0%, transparent 50%);
  z-index: 0;
}
.contact-block .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .contact-block .container {
    padding: 0 1.5rem;
  }
}
.contact-block .contact-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
@media (max-width: 768px) {
  .contact-block .contact-content {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.contact-block .contact-header {
  margin-bottom: 3rem;
  animation: fadeInUp 0.8s ease-out;
}
.contact-block .contact-subtitle {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #0089E9;
  background: rgba(0, 137, 233, 0.1);
  padding: 0.5rem 1.5rem;
  border-radius: 50px;
  margin-bottom: 1.5rem;
}
.contact-block .contact-title {
  font-size: clamp(2.5rem, 6vw, 3.5rem);
  font-weight: 700;
  line-height: 1.2;
  color: #333;
  margin-bottom: 1.5rem;
}
.contact-block .contact-description {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #666;
}
.contact-block .contact-description p {
  margin-bottom: 1rem;
}
.contact-block .contact-description p:last-child {
  margin-bottom: 0;
}
.contact-block .contact-details {
  animation: fadeInUp 0.8s ease-out 0.2s both;
}
.contact-block .contact-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}
.contact-block .contact-item:hover {
  transform: translateX(5px);
  box-shadow: 0 10px 30px rgba(0, 137, 233, 0.1);
}
.contact-block .contact-item:last-child {
  margin-bottom: 0;
}
.contact-block .contact-item .contact-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.1) 0%, rgba(248, 154, 33, 0.1) 100%);
  border-radius: 50%;
  flex-shrink: 0;
}
.contact-block .contact-item .contact-icon img {
  width: 24px;
  height: 24px;
}
.contact-block .contact-item .contact-text h4 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.5rem;
}
.contact-block .contact-item .contact-text p {
  color: #666;
  margin-bottom: 0;
  line-height: 1.4;
}
.contact-block .contact-form-column {
  animation: fadeInUp 0.8s ease-out 0.4s both;
}
.contact-block .contact-form {
  background: white;
  padding: 2.5rem;
  border-radius: 16px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  position: relative;
}
.contact-block .contact-form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(135deg, #0089E9 0%, #F24738 50%, #F89A21 100%);
  border-radius: 16px 16px 0 0;
}
.contact-block .contact-form .wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 1.5rem;
}
.contact-block .contact-form .wpcf7-form input[type=text],
.contact-block .contact-form .wpcf7-form input[type=email],
.contact-block .contact-form .wpcf7-form input[type=tel],
.contact-block .contact-form .wpcf7-form textarea {
  width: 100%;
  padding: 1rem 1.5rem;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  font-size: 1rem;
  transition: all 0.3s ease;
  background: #fafafa;
}
.contact-block .contact-form .wpcf7-form input[type=text]:focus,
.contact-block .contact-form .wpcf7-form input[type=email]:focus,
.contact-block .contact-form .wpcf7-form input[type=tel]:focus,
.contact-block .contact-form .wpcf7-form textarea:focus {
  outline: none;
  border-color: #0089E9;
  background: white;
  box-shadow: 0 0 0 3px rgba(0, 137, 233, 0.1);
}
.contact-block .contact-form .wpcf7-form textarea {
  min-height: 120px;
  resize: vertical;
}
.contact-block .contact-form .wpcf7-form input[type=submit] {
  background: linear-gradient(135deg, #0089E9 0%, #005185 100%);
  color: white;
  border: none;
  padding: 1rem 2.5rem;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
}
.contact-block .contact-form .wpcf7-form input[type=submit]:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 137, 233, 0.3);
}
.contact-block .contact-form .wpcf7-form input[type=submit]:active {
  transform: translateY(0);
}
.contact-block .contact-form .wpcf7-form .wpcf7-not-valid-tip {
  color: #F24738;
  font-size: 0.85rem;
  margin-top: 0.5rem;
}
.contact-block .contact-form .wpcf7-form .wpcf7-validation-errors {
  background: rgba(242, 71, 56, 0.1);
  border: 1px solid #F24738;
  color: #F24738;
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
}
.contact-block .contact-form .wpcf7-form .wpcf7-mail-sent-ok {
  background: rgba(40, 167, 69, 0.1);
  border: 1px solid #28a745;
  color: #28a745;
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
}

.development-expertise-block {
  padding: 6rem 0;
  background: #1a1a1a;
  color: white;
  position: relative;
  overflow: hidden;
}
.development-expertise-block::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 30% 20%, rgba(0, 137, 233, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(242, 71, 56, 0.1) 0%, transparent 50%), radial-gradient(circle at 40% 90%, rgba(248, 154, 33, 0.1) 0%, transparent 50%);
  z-index: 0;
}
.development-expertise-block .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .development-expertise-block .container {
    padding: 0 1.5rem;
  }
}
.development-expertise-block .expertise-header {
  text-align: center;
  margin-bottom: 4rem;
  animation: fadeInUp 0.8s ease-out;
}
.development-expertise-block .expertise-subtitle {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #F89A21;
  background: rgba(248, 154, 33, 0.1);
  padding: 0.5rem 1.5rem;
  border-radius: 50px;
  margin-bottom: 1.5rem;
  border: 1px solid rgba(248, 154, 33, 0.2);
}
.development-expertise-block .expertise-title {
  font-size: clamp(2.5rem, 6vw, 3.5rem);
  font-weight: 700;
  line-height: 1.2;
  background: linear-gradient(135deg, #ffffff 0%, #F89A21 50%, #FFFFFF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0;
}
.development-expertise-block .expertise-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 2rem;
}
@media (max-width: 768px) {
  .development-expertise-block .expertise-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.development-expertise-block .expertise-item {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 2.5rem 2rem;
  border-radius: 20px;
  text-align: center;
  transition: all 0.4s ease;
  position: relative;
  animation: fadeInUp 0.8s ease-out;
}
.development-expertise-block .expertise-item:nth-child(1) {
  animation-delay: 0.1s;
}
.development-expertise-block .expertise-item:nth-child(2) {
  animation-delay: 0.3s;
}
.development-expertise-block .expertise-item:nth-child(3) {
  animation-delay: 0.5s;
}
.development-expertise-block .expertise-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
}
.development-expertise-block .expertise-item.expertise-wordpress::before {
  background: linear-gradient(135deg, #0089E9 0%, #21759b 100%);
}
.development-expertise-block .expertise-item.expertise-shopify::before {
  background: linear-gradient(135deg, #F24738 0%, #96bf48 100%);
}
.development-expertise-block .expertise-item.expertise-mobile::before {
  background: linear-gradient(135deg, #F89A21 0%, #0089E9 100%);
}
.development-expertise-block .expertise-item:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
}
.development-expertise-block .expertise-item:hover .expertise-icon {
  transform: scale(1.1);
}
.development-expertise-block .expertise-item:hover .expertise-icon svg {
  transform: rotate(5deg);
}
.development-expertise-block .expertise-item .expertise-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  transition: transform 0.3s ease;
}
.development-expertise-block .expertise-item .expertise-icon svg {
  transition: transform 0.3s ease;
}
.expertise-wordpress .development-expertise-block .expertise-item .expertise-icon {
  color: #0089E9;
}
.expertise-shopify .development-expertise-block .expertise-item .expertise-icon {
  color: #F24738;
}
.expertise-mobile .development-expertise-block .expertise-item .expertise-icon {
  color: #F89A21;
}
.development-expertise-block .expertise-item h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  color: white;
}
.development-expertise-block .expertise-item .expertise-content {
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
}
.development-expertise-block .expertise-item .expertise-content p {
  margin-bottom: 1rem;
}
.development-expertise-block .expertise-item .expertise-content p:last-child {
  margin-bottom: 0;
}
.development-expertise-block .expertise-item .expertise-content ul {
  text-align: left;
  padding-left: 1.5rem;
}
.development-expertise-block .expertise-item .expertise-content ul li {
  margin-bottom: 0.5rem;
  position: relative;
}
.development-expertise-block .expertise-item .expertise-content ul li::marker {
  color: #F89A21;
}
.development-expertise-block::after {
  content: "";
  position: absolute;
  top: 10%;
  right: 5%;
  width: 200px;
  height: 200px;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="%23F89A21" opacity="0.1"/><circle cx="20" cy="30" r="1" fill="%230089E9" opacity="0.1"/><circle cx="80" cy="70" r="1.5" fill="%23F24738" opacity="0.1"/></svg>');
  opacity: 0.3;
  animation: float 6s ease-in-out infinite;
  z-index: 0;
}
@media (max-width: 768px) {
  .development-expertise-block::after {
    display: none;
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(180deg);
  }
}
.news-block {
  padding: 6rem 0;
  background: #ffffff;
}
.news-block .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 768px) {
  .news-block .container {
    padding: 0 1.5rem;
  }
}
.news-block .news-header {
  text-align: center;
  margin-bottom: 4rem;
  animation: fadeInUp 0.8s ease-out;
}
.news-block .news-subtitle {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #F24738;
  background: rgba(242, 71, 56, 0.1);
  padding: 0.5rem 1.5rem;
  border-radius: 50px;
  margin-bottom: 1.5rem;
}
.news-block .news-title {
  font-size: clamp(2.5rem, 6vw, 3.5rem);
  font-weight: 700;
  line-height: 1.2;
  color: #333;
  margin-bottom: 0;
}
.news-block .news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .news-block .news-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.news-block .news-item {
  background: white;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  animation: fadeInUp 0.8s ease-out;
}
.news-block .news-item:nth-child(1) {
  animation-delay: 0.1s;
}
.news-block .news-item:nth-child(2) {
  animation-delay: 0.2s;
}
.news-block .news-item:nth-child(3) {
  animation-delay: 0.3s;
}
.news-block .news-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 137, 233, 0.15);
}
.news-block .news-item:hover .news-thumbnail {
  transform: scale(1.05);
}
.news-block .news-item:hover .news-item-title a {
  color: #0089E9;
}
.news-block .news-item .news-image {
  position: relative;
  overflow: hidden;
  height: 220px;
}
.news-block .news-item .news-image a {
  display: block;
  height: 100%;
}
.news-block .news-item .news-image .news-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.news-block .news-item .news-image::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.1));
}
.news-block .news-item .news-content {
  padding: 1.5rem;
}
.news-block .news-item .news-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  font-size: 0.85rem;
  color: #666;
}
.news-block .news-item .news-date {
  color: #0089E9;
  font-weight: 500;
}
.news-block .news-item .news-category {
  background: rgba(248, 154, 33, 0.1);
  color: #F89A21;
  padding: 0.2rem 0.8rem;
  border-radius: 20px;
  font-weight: 500;
}
.news-block .news-item .news-item-title {
  margin-bottom: 1rem;
}
.news-block .news-item .news-item-title a {
  color: #333;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.4;
  transition: color 0.3s ease;
}
.news-block .news-item .news-item-title a:hover {
  color: #0089E9;
}
.news-block .news-item .news-excerpt {
  color: #666;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
}
.news-block .news-item .news-read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #F24738;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9rem;
  transition: all 0.3s ease;
}
.news-block .news-item .news-read-more .arrow {
  transition: transform 0.3s ease;
}
.news-block .news-item .news-read-more:hover {
  color: #0089E9;
}
.news-block .news-item .news-read-more:hover .arrow {
  transform: translateX(5px);
}
.news-block .news-actions {
  text-align: center;
  animation: fadeInUp 0.8s ease-out 0.4s both;
}
.news-block .news-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 2.5rem;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 50px;
  transition: all 0.3s ease;
}
.news-block .news-actions .btn.btn-outline {
  background: transparent;
  color: #0089E9;
  border: 2px solid #0089E9;
}
.news-block .news-actions .btn.btn-outline:hover {
  background: #0089E9;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 137, 233, 0.3);
}

.services-block {
  padding: 6rem 0;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}
.services-block .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 768px) {
  .services-block .container {
    padding: 0 1.5rem;
  }
}
.services-block .services-header {
  text-align: center;
  margin-bottom: 4rem;
  animation: fadeInUp 0.8s ease-out;
}
.services-block .services-subtitle {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #0089E9;
  background: rgba(0, 137, 233, 0.1);
  padding: 0.5rem 1.5rem;
  border-radius: 50px;
  margin-bottom: 1.5rem;
}
.services-block .services-title {
  font-size: clamp(2.5rem, 6vw, 3.5rem);
  font-weight: 700;
  line-height: 1.2;
  color: #333;
  margin-bottom: 0;
}
.services-block .services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
}
@media (max-width: 768px) {
  .services-block .services-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.services-block .service-item {
  background: white;
  padding: 2.5rem 2rem;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  animation: fadeInUp 0.8s ease-out;
}
.services-block .service-item:nth-child(1) {
  animation-delay: 0.1s;
}
.services-block .service-item:nth-child(2) {
  animation-delay: 0.2s;
}
.services-block .service-item:nth-child(3) {
  animation-delay: 0.3s;
}
.services-block .service-item:nth-child(4) {
  animation-delay: 0.4s;
}
.services-block .service-item:nth-child(5) {
  animation-delay: 0.5s;
}
.services-block .service-item:nth-child(6) {
  animation-delay: 0.6s;
}
.services-block .service-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(135deg, #0089E9 0%, #F24738 50%, #F89A21 100%);
}
.services-block .service-item:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 50px rgba(0, 137, 233, 0.15);
}
.services-block .service-item:hover .service-icon img {
  transform: scale(1.1) rotate(5deg);
}
.services-block .service-item .service-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.1) 0%, rgba(248, 154, 33, 0.1) 100%);
  border-radius: 50%;
  padding: 1rem;
}
.services-block .service-item .service-icon img {
  max-width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}
.services-block .service-item .service-title {
  font-size: 1.4rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 1rem;
}
.services-block .service-item .service-description {
  font-size: 1rem;
  line-height: 1.6;
  color: #666;
  margin-bottom: 1.5rem;
}
.services-block .service-item .service-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: #0089E9;
  text-decoration: none;
  transition: all 0.3s ease;
}
.services-block .service-item .service-link .arrow {
  transition: transform 0.3s ease;
}
.services-block .service-item .service-link:hover {
  color: #F24738;
}
.services-block .service-item .service-link:hover .arrow {
  transform: translateX(5px);
}

.text-image-block {
  padding: 5rem 0;
  background: #ffffff;
}
.text-image-block .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 768px) {
  .text-image-block .container {
    padding: 0 1.5rem;
  }
}
.text-image-block .text-image-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
@media (max-width: 768px) {
  .text-image-block .text-image-content {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.text-image-block.image-left .text-image-content {
  grid-template-areas: "image text";
}
@media (max-width: 768px) {
  .text-image-block.image-left .text-image-content {
    grid-template-areas: "image" "text";
  }
}
.text-image-block.image-left .image-column {
  grid-area: image;
}
.text-image-block.image-left .text-column {
  grid-area: text;
}
.text-image-block.image-right .text-image-content {
  grid-template-areas: "text image";
}
@media (max-width: 768px) {
  .text-image-block.image-right .text-image-content {
    grid-template-areas: "image" "text";
  }
}
.text-image-block.image-right .text-column {
  grid-area: text;
}
.text-image-block.image-right .image-column {
  grid-area: image;
}
.text-image-block .text-column {
  animation: fadeInUp 0.8s ease-out;
}
.text-image-block .text-image-title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1.5rem;
  color: #333;
  background: linear-gradient(135deg, #0089E9 0%, #7bc3ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.text-image-block .text-image-text {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #666;
  margin-bottom: 2rem;
}
.text-image-block .text-image-text p {
  margin-bottom: 1rem;
}
.text-image-block .text-image-text p:last-child {
  margin-bottom: 0;
}
.text-image-block .text-image-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 50px;
  transition: all 0.3s ease;
}
.text-image-block .text-image-actions .btn.btn-primary {
  background: linear-gradient(135deg, #0089E9 0%, #005185 100%);
  color: white;
  border: none;
}
.text-image-block .text-image-actions .btn.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 137, 233, 0.3);
}
.text-image-block .image-column {
  animation: fadeInUp 0.8s ease-out 0.2s both;
}
.text-image-block .text-image-media {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}
.text-image-block .text-image-media img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}
.text-image-block .text-image-media img:hover {
  transform: scale(1.05);
}
.text-image-block .text-image-media::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100px;
  height: 100px;
  background: linear-gradient(135deg, rgba(248, 154, 33, 0.2) 0%, transparent 70%);
  border-radius: 50%;
  transform: translate(30px, -30px);
}
.text-image-block.bg-dark {
  background: #1a1a1a;
}
.text-image-block.bg-dark .text-image-title {
  color: white;
  background: linear-gradient(135deg, #0089E9 0%, #F89A21 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.text-image-block.bg-dark .text-image-text {
  color: rgba(255, 255, 255, 0.8);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.banner-block {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.banner-block.banner--small {
  min-height: 400px;
}
@media (max-width: 768px) {
  .banner-block.banner--small {
    min-height: 350px;
  }
}
.banner-block.banner--medium {
  min-height: 500px;
}
@media (max-width: 768px) {
  .banner-block.banner--medium {
    min-height: 450px;
  }
}
.banner-block.banner--large {
  min-height: 600px;
}
@media (max-width: 768px) {
  .banner-block.banner--large {
    min-height: 550px;
  }
}
.banner-block.banner--gradient {
  background: linear-gradient(135deg, #0089E9 0%, #F24738 50%, #F89A21 100%);
}
.banner-block.banner--solid {
  background: #0089E9;
}
.banner-block.banner--image .banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.8) 0%, rgba(242, 71, 56, 0.8) 100%);
}
.banner-block .banner-container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .banner-block .banner-container {
    padding: 0 1.5rem;
  }
}
.banner-block .banner-content--left {
  text-align: left;
}
.banner-block .banner-content--center {
  text-align: center;
}
.banner-block .banner-content--right {
  text-align: right;
}
.banner-block .banner-breadcrumbs {
  margin-bottom: 1rem;
}
.banner-block .banner-breadcrumbs ol {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .banner-block .banner-breadcrumbs ol {
    justify-content: center;
  }
}
.banner-block .banner-breadcrumbs ol li {
  display: flex;
  align-items: center;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
}
.banner-block .banner-breadcrumbs ol li:not(:last-child)::after {
  content: "→";
  margin-left: 0.5rem;
  color: rgba(255, 255, 255, 0.6);
}
.banner-block .banner-breadcrumbs ol li:last-child {
  color: white;
  font-weight: 500;
}
.banner-block .banner-breadcrumbs ol li a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  transition: color 0.3s ease;
}
.banner-block .banner-breadcrumbs ol li a:hover {
  color: white;
}
.banner-block .banner-subtitle {
  display: inline-block;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  color: white;
  font-size: 0.9rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 50px;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.banner-block .banner-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  color: white;
  margin: 0 0 1rem 0;
  line-height: 1.2;
}
.banner-block .banner-description {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.9);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}
.banner-block .banner-description p:last-child {
  margin-bottom: 0;
}

.portfolio-block {
  padding: 4rem 0;
}
@media (max-width: 768px) {
  .portfolio-block {
    padding: 3rem 0;
  }
}
.portfolio-block .portfolio-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 768px) {
  .portfolio-block .portfolio-container {
    padding: 0 1.5rem;
  }
}
.portfolio-block .portfolio-header {
  text-align: center;
  margin-bottom: 3rem;
}
.portfolio-block .portfolio-header .portfolio-title {
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 700;
  color: #333;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #0089E9 0%, #F24738 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.portfolio-block .portfolio-header .portfolio-description {
  font-size: 1.1rem;
  color: #666;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}
.portfolio-block .portfolio-header .portfolio-description p:last-child {
  margin-bottom: 0;
}
.portfolio-block .portfolio-filter {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .portfolio-block .portfolio-filter {
    gap: 0.5rem;
  }
}
.portfolio-block .portfolio-filter .filter-btn {
  background: white;
  border: 2px solid #e9ecef;
  color: #666;
  padding: 0.7rem 1.5rem;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  .portfolio-block .portfolio-filter .filter-btn {
    padding: 0.6rem 1.2rem;
    font-size: 0.85rem;
  }
}
.portfolio-block .portfolio-filter .filter-btn:hover, .portfolio-block .portfolio-filter .filter-btn.active {
  background: linear-gradient(135deg, #0089E9 0%, #F24738 100%);
  border-color: transparent;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 137, 233, 0.3);
}
.portfolio-block .portfolio-filter .filter-btn:focus {
  outline: 2px solid #0089E9;
  outline-offset: 2px;
}
.portfolio-block .portfolio-grid {
  display: grid;
  gap: 2rem;
}
@media (max-width: 768px) {
  .portfolio-block .portfolio-grid {
    gap: 1.5rem;
  }
}
.portfolio-block .portfolio-grid.portfolio-grid--grid.portfolio-grid--columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 768px) {
  .portfolio-block .portfolio-grid.portfolio-grid--grid.portfolio-grid--columns-2 {
    grid-template-columns: 1fr;
  }
}
.portfolio-block .portfolio-grid.portfolio-grid--grid.portfolio-grid--columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 992px) {
  .portfolio-block .portfolio-grid.portfolio-grid--grid.portfolio-grid--columns-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .portfolio-block .portfolio-grid.portfolio-grid--grid.portfolio-grid--columns-3 {
    grid-template-columns: 1fr;
  }
}
.portfolio-block .portfolio-grid.portfolio-grid--grid.portfolio-grid--columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1200px) {
  .portfolio-block .portfolio-grid.portfolio-grid--grid.portfolio-grid--columns-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 992px) {
  .portfolio-block .portfolio-grid.portfolio-grid--grid.portfolio-grid--columns-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .portfolio-block .portfolio-grid.portfolio-grid--grid.portfolio-grid--columns-4 {
    grid-template-columns: 1fr;
  }
}
.portfolio-block .portfolio-grid.portfolio-grid--masonry {
  columns: 3;
  column-gap: 2rem;
}
@media (max-width: 992px) {
  .portfolio-block .portfolio-grid.portfolio-grid--masonry {
    columns: 2;
  }
}
@media (max-width: 768px) {
  .portfolio-block .portfolio-grid.portfolio-grid--masonry {
    columns: 1;
  }
}
.portfolio-block .portfolio-grid.portfolio-grid--masonry .portfolio-item {
  break-inside: avoid;
  margin-bottom: 2rem;
}
.portfolio-block .portfolio-item {
  opacity: 1;
  transform: scale(1);
  transition: all 0.5s ease;
}
.portfolio-block .portfolio-item.filtered-out {
  opacity: 0;
  transform: scale(0.8);
  pointer-events: none;
}
.portfolio-block .portfolio-item .portfolio-item-inner {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.portfolio-block .portfolio-item .portfolio-item-inner:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}
.portfolio-block .portfolio-item .portfolio-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
}
.portfolio-block .portfolio-item .portfolio-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.portfolio-block .portfolio-item .portfolio-image .portfolio-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.9) 0%, rgba(242, 71, 56, 0.9) 100%);
  opacity: 0;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.portfolio-block .portfolio-item .portfolio-image .portfolio-overlay .portfolio-overlay-content {
  text-align: center;
  color: white;
  transform: translateY(20px);
  transition: transform 0.3s ease;
}
.portfolio-block .portfolio-item .portfolio-image .portfolio-overlay .portfolio-overlay-content .portfolio-item-title {
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.portfolio-block .portfolio-item .portfolio-image .portfolio-overlay .portfolio-overlay-content .portfolio-item-category {
  font-size: 0.9rem;
  opacity: 0.9;
  margin-bottom: 1rem;
  display: block;
}
.portfolio-block .portfolio-item .portfolio-image .portfolio-overlay .portfolio-overlay-content .portfolio-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
}
.portfolio-block .portfolio-item .portfolio-image .portfolio-overlay .portfolio-overlay-content .portfolio-actions .portfolio-lightbox-btn,
.portfolio-block .portfolio-item .portfolio-image .portfolio-overlay .portfolio-overlay-content .portfolio-actions .portfolio-link-btn {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  color: white;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}
.portfolio-block .portfolio-item .portfolio-image .portfolio-overlay .portfolio-overlay-content .portfolio-actions .portfolio-lightbox-btn:hover,
.portfolio-block .portfolio-item .portfolio-image .portfolio-overlay .portfolio-overlay-content .portfolio-actions .portfolio-link-btn:hover {
  background: white;
  color: #0089E9;
  transform: scale(1.1);
}
.portfolio-block .portfolio-item .portfolio-image:hover img {
  transform: scale(1.1);
}
.portfolio-block .portfolio-item .portfolio-image:hover .portfolio-overlay {
  opacity: 1;
}
.portfolio-block .portfolio-item .portfolio-image:hover .portfolio-overlay .portfolio-overlay-content {
  transform: translateY(0);
}
.portfolio-block .portfolio-item .portfolio-content {
  padding: 1.5rem;
}
.portfolio-block .portfolio-item .portfolio-content .portfolio-item-title {
  font-size: 1.2rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.5rem;
}
.portfolio-block .portfolio-item .portfolio-content .portfolio-item-category {
  font-size: 0.9rem;
  color: #0089E9;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.75rem;
  display: block;
}
.portfolio-block .portfolio-item .portfolio-content .portfolio-item-description {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.portfolio-block .portfolio-item .portfolio-content .portfolio-item-description p:last-child {
  margin-bottom: 0;
}
.portfolio-block .portfolio-item .portfolio-content .portfolio-technologies {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.portfolio-block .portfolio-item .portfolio-content .portfolio-technologies .tech-tag {
  background: rgba(0, 137, 233, 0.1);
  color: #0089E9;
  font-size: 0.8rem;
  font-weight: 500;
  padding: 0.3rem 0.8rem;
  border-radius: 20px;
  border: 1px solid rgba(0, 137, 233, 0.2);
}
.portfolio-block .portfolio-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.portfolio-block .portfolio-lightbox.lightbox-open {
  opacity: 1;
  visibility: visible;
}
.portfolio-block .portfolio-lightbox .lightbox-overlay {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
@media (max-width: 768px) {
  .portfolio-block .portfolio-lightbox .lightbox-overlay {
    padding: 1rem;
  }
}
.portfolio-block .portfolio-lightbox .lightbox-content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  background: white;
  border-radius: 12px;
  overflow: hidden;
}
.portfolio-block .portfolio-lightbox .lightbox-content img {
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
}
.portfolio-block .portfolio-lightbox .lightbox-content .lightbox-info {
  padding: 1.5rem;
}
.portfolio-block .portfolio-lightbox .lightbox-content .lightbox-info h3 {
  font-size: 1.3rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.5rem;
}
.portfolio-block .portfolio-lightbox .lightbox-content .lightbox-info p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}
.portfolio-block .portfolio-lightbox .lightbox-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 1.5rem;
  cursor: pointer;
  z-index: 10000;
  transition: all 0.3s ease;
}
.portfolio-block .portfolio-lightbox .lightbox-close:hover {
  background: rgba(242, 71, 56, 0.9);
}

.portfolio-item.portfolio-loading {
  opacity: 0.5;
  pointer-events: none;
}
.portfolio-item.portfolio-fadeIn {
  animation: portfolioFadeIn 0.6s ease forwards;
}
.portfolio-item.portfolio-fadeOut {
  animation: portfolioFadeOut 0.3s ease forwards;
}

@keyframes portfolioFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes portfolioFadeOut {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.8);
  }
}
.team-block {
  padding: 5rem 5rem;
}
.team-block.bg-light {
  background: #f8f9fa;
}
.team-block.bg-dark {
  background: #2c3e50;
  color: white;
}
.team-block.bg-dark .team-subtitle {
  color: rgba(255, 255, 255, 0.8);
}
.team-block .team-header {
  text-align: center;
  margin-bottom: 4rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.team-block .team-header .team-subtitle {
  display: block;
  color: #0089E9;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}
.team-block .team-header .team-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .team-block .team-header .team-title {
    font-size: 2rem;
  }
}
.team-block .team-header .team-description {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #666;
}
.bg-dark .team-block .team-header .team-description {
  color: rgba(255, 255, 255, 0.8);
}
.team-block .team-grid {
  display: grid;
  gap: 3rem;
}
.team-block .team-grid.layout-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
@media (max-width: 768px) {
  .team-block .team-grid.layout-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.team-block .team-grid.layout-list {
  grid-template-columns: 1fr;
  max-width: 800px;
  margin: 0 auto;
}
.team-block .team-grid.layout-list .team-member .member-card {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 2rem;
}
@media (max-width: 768px) {
  .team-block .team-grid.layout-list .team-member .member-card {
    flex-direction: column;
    text-align: center;
  }
}
.team-block .team-grid.layout-list .team-member .member-photo {
  width: 150px;
  height: 150px;
  flex-shrink: 0;
}
.team-block .team-member .member-card {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  height: 100%;
}
.team-block .team-member .member-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
.bg-dark .team-block .team-member .member-card {
  background: #34495e;
}
.team-block .team-member .member-photo {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
}
.team-block .team-member .member-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.team-block .team-member .member-photo:hover img {
  transform: scale(1.05);
}
.team-block .team-member .member-photo .member-social-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 137, 233, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.team-block .team-member .member-photo .member-social-overlay:hover {
  opacity: 1;
}
.team-block .team-member .member-photo .member-social-overlay .social-links {
  display: flex;
  gap: 1rem;
}
.team-block .team-member .member-photo .member-social-overlay .social-links .social-link {
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-decoration: none;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}
.team-block .team-member .member-photo .member-social-overlay .social-links .social-link svg {
  width: 20px;
  height: 20px;
}
.team-block .team-member .member-photo .member-social-overlay .social-links .social-link:hover {
  background: white;
  color: #0089E9;
  transform: scale(1.1);
}
.team-block .team-member .member-info {
  padding: 2rem;
  text-align: center;
}
.team-block .team-member .member-info .member-name {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #333;
}
.bg-dark .team-block .team-member .member-info .member-name {
  color: white;
}
.team-block .team-member .member-info .member-position {
  color: #0089E9;
  font-weight: 600;
  margin-bottom: 1rem;
  font-size: 1rem;
}
.team-block .team-member .member-info .member-bio {
  color: #666;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.bg-dark .team-block .team-member .member-info .member-bio {
  color: rgba(255, 255, 255, 0.8);
}
.team-block .team-member .member-info .member-skills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}
.team-block .team-member .member-info .member-skills .skill-tag {
  background: #f1f3f4;
  color: #333;
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 500;
}
.bg-dark .team-block .team-member .member-info .member-skills .skill-tag {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.team-block .team-member {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 0.6s ease forwards;
}
.team-block .team-member:nth-child(1) {
  animation-delay: 0s;
}
.team-block .team-member:nth-child(2) {
  animation-delay: 0.1s;
}
.team-block .team-member:nth-child(3) {
  animation-delay: 0.2s;
}
.team-block .team-member:nth-child(4) {
  animation-delay: 0.3s;
}
.team-block .team-member:nth-child(5) {
  animation-delay: 0.4s;
}
.team-block .team-member:nth-child(6) {
  animation-delay: 0.5s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.team-block.compact .team-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
}
.team-block.compact .member-photo {
  height: 200px !important;
}
.team-block.compact .member-info {
  padding: 1.5rem;
}

.icon-features-block {
  padding: 5rem 5rem;
}
.icon-features-block.bg-light {
  background: #f8f9fa;
}
.icon-features-block.bg-dark {
  background: #2c3e50;
  color: white;
}
.icon-features-block.bg-dark .features-subtitle {
  color: rgba(255, 255, 255, 0.8);
}
.icon-features-block.bg-dark .feature-item .feature-content {
  background: #34495e;
}
.icon-features-block .features-header {
  text-align: center;
  margin-bottom: 4rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.icon-features-block .features-header .features-subtitle {
  display: block;
  color: #F24738;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}
.icon-features-block .features-header .features-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .icon-features-block .features-header .features-title {
    font-size: 2rem;
  }
}
.icon-features-block .features-header .features-description {
  font-size: 1.1rem;
  line-height: 1.6;
}
.bg-dark .icon-features-block .features-header .features-description {
  color: rgba(255, 255, 255, 0.8);
}
.icon-features-block .features-grid {
  display: grid;
  gap: 2rem;
}
.icon-features-block .features-grid.columns-2 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
@media (min-width: 768px) {
  .icon-features-block .features-grid.columns-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.icon-features-block .features-grid.columns-3 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
@media (min-width: 992px) {
  .icon-features-block .features-grid.columns-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.icon-features-block .features-grid.columns-4 {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
@media (min-width: 1200px) {
  .icon-features-block .features-grid.columns-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.icon-features-block .features-grid.layout-list {
  grid-template-columns: 1fr;
  max-width: 800px;
  margin: 0 auto;
}
.icon-features-block .features-grid.layout-list .feature-item .feature-content {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 2rem;
  text-align: left;
}
@media (max-width: 768px) {
  .icon-features-block .features-grid.layout-list .feature-item .feature-content {
    flex-direction: column;
    text-align: center;
  }
}
.icon-features-block .features-grid.layout-list .feature-icon {
  flex-shrink: 0;
}
.icon-features-block .features-grid.layout-horizontal .feature-item .feature-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.icon-features-block .feature-item {
  position: relative;
}
.icon-features-block .feature-item .feature-content {
  background: white;
  border-radius: 16px;
  padding: 2.5rem 2rem;
  height: 100%;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.icon-features-block .feature-item .feature-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #0089E9, #F24738);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.icon-features-block .feature-item .feature-content:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}
.icon-features-block .feature-item .feature-content:hover::before {
  transform: scaleX(1);
}
.icon-features-block .feature-item .feature-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #c61506, #F24738);
  position: relative;
}
.icon-features-block .feature-item .feature-icon.icon-style-circle {
  border-radius: 50%;
}
.icon-features-block .feature-item .feature-icon.icon-style-square {
  border-radius: 12px;
}
.icon-features-block .feature-item .feature-icon.icon-style-hexagon {
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.icon-features-block .feature-item .feature-icon.icon-image img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.icon-features-block .feature-item .feature-icon.icon-svg svg {
  width: 40px;
  height: 40px;
  fill: white;
}
.icon-features-block .feature-item .feature-icon.icon-emoji .emoji {
  font-size: 2.5rem;
  line-height: 1;
}
.icon-features-block .feature-item .feature-icon.icon-fontawesome i {
  font-size: 2rem;
  color: white;
}
.icon-features-block .feature-item .feature-text .feature-title {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.3;
}
.bg-dark .icon-features-block .feature-item .feature-text .feature-title {
  color: white;
}
.icon-features-block .feature-item .feature-text .feature-description {
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.bg-dark .icon-features-block .feature-item .feature-text .feature-description {
  color: rgba(255, 255, 255, 0.8);
}
.icon-features-block .feature-item .feature-text .feature-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #0089E9;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.3s ease;
}
.icon-features-block .feature-item .feature-text .feature-link .arrow {
  transition: transform 0.3s ease;
}
.icon-features-block .feature-item .feature-text .feature-link:hover {
  color: #F24738;
}
.icon-features-block .feature-item .feature-text .feature-link:hover .arrow {
  transform: translateX(5px);
}
.icon-features-block .feature-item .feature-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
}
.icon-features-block .feature-item .feature-badge span {
  background: linear-gradient(135deg, #F24738, #FF6B5A);
  color: white;
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 15px rgba(242, 71, 56, 0.3);
}
.icon-features-block.compact {
  padding: 3rem 0;
}
.icon-features-block.compact .feature-item .feature-content {
  padding: 2rem 1.5rem;
}
.icon-features-block.compact .feature-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 1.5rem;
}
.icon-features-block.compact .feature-icon.icon-svg svg, .icon-features-block.compact .feature-icon.icon-image img {
  width: 30px;
  height: 30px;
}
.icon-features-block.compact .feature-icon.icon-emoji .emoji {
  font-size: 2rem;
}
.icon-features-block.compact .feature-icon.icon-fontawesome i {
  font-size: 1.5rem;
}
.icon-features-block.minimal .feature-item .feature-content {
  background: transparent;
  box-shadow: none;
  border: 2px solid #e9ecef;
}
.icon-features-block.minimal .feature-item .feature-content:hover {
  border-color: #0089E9;
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 137, 233, 0.1);
}
.bg-dark .icon-features-block.minimal .feature-item .feature-content {
  border-color: #404040;
}
.bg-dark .icon-features-block.minimal .feature-item .feature-content:hover {
  border-color: #0089E9;
}
.icon-features-block.minimal .feature-icon {
  background: transparent;
  border: 2px solid #0089E9;
}
.icon-features-block.minimal .feature-icon.icon-svg svg {
  fill: #0089E9;
}
.icon-features-block.minimal .feature-icon.icon-fontawesome i {
  color: #0089E9;
}
.icon-features-block.minimal .feature-icon.icon-image img {
  filter: none;
}

.features-grid .feature-item {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 0.6s ease forwards;
}
.features-grid .feature-item:nth-child(1) {
  animation-delay: 0s;
}
.features-grid .feature-item:nth-child(2) {
  animation-delay: 0.1s;
}
.features-grid .feature-item:nth-child(3) {
  animation-delay: 0.2s;
}
.features-grid .feature-item:nth-child(4) {
  animation-delay: 0.3s;
}
.features-grid .feature-item:nth-child(5) {
  animation-delay: 0.4s;
}
.features-grid .feature-item:nth-child(6) {
  animation-delay: 0.5s;
}
.features-grid .feature-item:nth-child(7) {
  animation-delay: 0.6s;
}
.features-grid .feature-item:nth-child(8) {
  animation-delay: 0.7s;
}
.features-grid .feature-item:nth-child(9) {
  animation-delay: 0.8s;
}
.features-grid .feature-item:nth-child(10) {
  animation-delay: 0.9s;
}
.features-grid .feature-item:nth-child(11) {
  animation-delay: 1s;
}
.features-grid .feature-item:nth-child(12) {
  animation-delay: 1.1s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 768px) {
  .icon-features-block .features-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .icon-features-block .features-grid.layout-list .feature-item .feature-content {
    flex-direction: column;
    text-align: center;
  }
  .icon-features-block .feature-item .feature-content {
    padding: 2rem 1.5rem;
  }
}
.pricing-plans-block {
  padding: 5rem 5rem;
}
.pricing-plans-block.bg-light {
  background: #f8f9fa;
}
.pricing-plans-block.bg-dark {
  background: #2c3e50;
  color: white;
}
.pricing-plans-block.bg-dark .pricing-subtitle {
  color: rgba(255, 255, 255, 0.8);
}
.pricing-plans-block .pricing-header {
  text-align: center;
  margin-bottom: 4rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.pricing-plans-block .pricing-header .pricing-subtitle {
  display: block;
  color: #0089E9;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}
.pricing-plans-block .pricing-header .pricing-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .pricing-plans-block .pricing-header .pricing-title {
    font-size: 2rem;
  }
}
.pricing-plans-block .pricing-header .pricing-description {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #666;
}
.bg-dark .pricing-plans-block .pricing-header .pricing-description {
  color: rgba(255, 255, 255, 0.8);
}
.pricing-plans-block .pricing-grid {
  display: grid;
  gap: 2rem;
  align-items: stretch;
}
.pricing-plans-block .pricing-grid.columns-1 {
  grid-template-columns: 1fr;
  max-width: 400px;
  margin: 0 auto;
}
.pricing-plans-block .pricing-grid.columns-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
@media (min-width: 768px) {
  .pricing-plans-block .pricing-grid.columns-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.pricing-plans-block .pricing-grid.columns-3 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
@media (min-width: 992px) {
  .pricing-plans-block .pricing-grid.columns-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.pricing-plans-block .pricing-grid.columns-4 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
@media (min-width: 1200px) {
  .pricing-plans-block .pricing-grid.columns-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.pricing-plans-block .pricing-plan {
  background: white;
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.bg-dark .pricing-plans-block .pricing-plan {
  background: #34495e;
}
.pricing-plans-block .pricing-plan:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}
.pricing-plans-block .pricing-plan.featured {
  border: 3px solid #F24738;
  transform: scale(1.05);
}
.pricing-plans-block .pricing-plan.featured:hover {
  transform: scale(1.05) translateY(-8px);
}
.pricing-plans-block .pricing-plan.featured .plan-header {
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.1), rgba(242, 71, 56, 0.1));
}
.pricing-plans-block .pricing-plan .plan-badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.pricing-plans-block .pricing-plan .plan-badge span {
  background: linear-gradient(135deg, #F24738, #FF6B5A);
  color: white;
  padding: 0.5rem 2rem;
  border-radius: 0 0 20px 20px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 0 4px 15px rgba(242, 71, 56, 0.3);
}
.pricing-plans-block .pricing-plan .plan-header {
  padding: 3rem 2rem 2rem;
  text-align: center;
  border-bottom: 1px solid #e9ecef;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-header {
  border-bottom-color: #4a5f7a;
}
.pricing-plans-block .pricing-plan .plan-header .plan-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0089E9, #F24738);
  border-radius: 50%;
}
.pricing-plans-block .pricing-plan .plan-header .plan-icon img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.pricing-plans-block .pricing-plan .plan-header .plan-name {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  color: #333;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-header .plan-name {
  color: white;
}
.pricing-plans-block .pricing-plan .plan-header .plan-description {
  color: #666;
  margin-bottom: 2rem;
  line-height: 1.5;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-header .plan-description {
  color: rgba(255, 255, 255, 0.8);
}
.pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-original {
  color: #999;
  text-decoration: line-through;
  font-size: 1rem;
  display: block;
  margin-bottom: 0.5rem;
}
.pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-current {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
}
.pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-current .price-amount {
  font-size: 3rem;
  font-weight: 800;
  color: #0089E9;
  line-height: 1;
}
.pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-current .price-currency {
  font-size: 1.2rem;
  font-weight: 600;
  color: #0089E9;
}
.pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-current .price-period {
  font-size: 1rem;
  color: #666;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-current .price-period {
  color: rgba(255, 255, 255, 0.8);
}
.pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-custom {
  font-size: 1.5rem;
  font-weight: 600;
  color: #0089E9;
  margin-bottom: 1rem;
}
.pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-note {
  font-size: 0.9rem;
  color: #666;
  margin: 0;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-note {
  color: rgba(255, 255, 255, 0.7);
}
.pricing-plans-block .pricing-plan .plan-features {
  padding: 2rem;
  flex-grow: 1;
}
.pricing-plans-block .pricing-plan .plan-features .features-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pricing-plans-block .pricing-plan .plan-features .features-list .feature-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #f1f3f4;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-features .features-list .feature-item {
  border-bottom-color: #4a5f7a;
}
.pricing-plans-block .pricing-plan .plan-features .features-list .feature-item:last-child {
  border-bottom: none;
}
.pricing-plans-block .pricing-plan .plan-features .features-list .feature-item .feature-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
}
.pricing-plans-block .pricing-plan .plan-features .features-list .feature-item .feature-icon svg {
  width: 100%;
  height: 100%;
}
.pricing-plans-block .pricing-plan .plan-features .features-list .feature-item.included .feature-icon {
  color: #28a745;
}
.pricing-plans-block .pricing-plan .plan-features .features-list .feature-item.included .feature-text {
  color: #333;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-features .features-list .feature-item.included .feature-text {
  color: white;
}
.pricing-plans-block .pricing-plan .plan-features .features-list .feature-item.not-included .feature-icon {
  color: #dc3545;
}
.pricing-plans-block .pricing-plan .plan-features .features-list .feature-item.not-included .feature-text {
  color: #999;
  text-decoration: line-through;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-features .features-list .feature-item.not-included .feature-text {
  color: rgba(255, 255, 255, 0.5);
}
.pricing-plans-block .pricing-plan .plan-features .features-list .feature-item .feature-text {
  font-size: 0.95rem;
  line-height: 1.4;
}
.pricing-plans-block .pricing-plan .plan-footer {
  padding: 2rem;
  margin-top: auto;
}
.pricing-plans-block .pricing-plan .plan-footer .plan-button {
  display: block;
  width: 100%;
  padding: 1rem 2rem;
  background: #0089E9;
  color: white;
  text-decoration: none;
  border-radius: 12px;
  font-weight: 600;
  text-align: center;
  transition: all 0.3s ease;
  margin-bottom: 1rem;
}
.pricing-plans-block .pricing-plan .plan-footer .plan-button:hover {
  background: #0077CC;
  transform: translateY(-2px);
}
.pricing-plans-block .pricing-plan .plan-footer .plan-button.featured {
  background: linear-gradient(135deg, #F24738, #FF6B5A);
}
.pricing-plans-block .pricing-plan .plan-footer .plan-button.featured:hover {
  background: linear-gradient(135deg, #E63E2E, #F24738);
}
.pricing-plans-block .pricing-plan .plan-footer .plan-button.secondary {
  background: transparent;
  border: 2px solid #e9ecef;
  color: #333;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-footer .plan-button.secondary {
  border-color: #4a5f7a;
  color: white;
}
.pricing-plans-block .pricing-plan .plan-footer .plan-button.secondary:hover {
  border-color: #0089E9;
  color: #0089E9;
  background: rgba(0, 137, 233, 0.1);
}
.pricing-plans-block .pricing-plan .plan-footer .plan-footer-note {
  font-size: 0.85rem;
  color: #666;
  text-align: center;
  margin: 0;
  line-height: 1.4;
}
.bg-dark .pricing-plans-block .pricing-plan .plan-footer .plan-footer-note {
  color: rgba(255, 255, 255, 0.7);
}
.pricing-plans-block .pricing-disclaimer {
  text-align: center;
  margin-top: 3rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.pricing-plans-block .pricing-disclaimer p {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.5;
  margin: 0;
}
.bg-dark .pricing-plans-block .pricing-disclaimer p {
  color: rgba(255, 255, 255, 0.7);
}

.pricing-plans-block.compact .pricing-plan .plan-header {
  padding: 2rem 1.5rem 1.5rem;
}
.pricing-plans-block.compact .pricing-plan .plan-header .plan-icon {
  width: 60px;
  height: 60px;
}
.pricing-plans-block.compact .pricing-plan .plan-header .plan-icon img {
  width: 30px;
  height: 30px;
}
.pricing-plans-block.compact .pricing-plan .plan-header .plan-pricing .price-current .price-amount {
  font-size: 2.5rem;
}
.pricing-plans-block.compact .pricing-plan .plan-features,
.pricing-plans-block.compact .pricing-plan .plan-footer {
  padding: 1.5rem;
}

.pricing-grid .pricing-plan {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 0.6s ease forwards;
}
.pricing-grid .pricing-plan:nth-child(1) {
  animation-delay: 0s;
}
.pricing-grid .pricing-plan:nth-child(2) {
  animation-delay: 0.15s;
}
.pricing-grid .pricing-plan:nth-child(3) {
  animation-delay: 0.3s;
}
.pricing-grid .pricing-plan:nth-child(4) {
  animation-delay: 0.45s;
}
.pricing-grid .pricing-plan:nth-child(5) {
  animation-delay: 0.6s;
}
.pricing-grid .pricing-plan:nth-child(6) {
  animation-delay: 0.75s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 768px) {
  .pricing-plans-block .pricing-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .pricing-plans-block .pricing-plan.featured {
    transform: none;
  }
  .pricing-plans-block .pricing-plan.featured:hover {
    transform: translateY(-4px);
  }
  .pricing-plans-block .pricing-plan .plan-header {
    padding: 2rem 1.5rem 1.5rem;
  }
  .pricing-plans-block .pricing-plan .plan-header .plan-pricing .price-current .price-amount {
    font-size: 2.5rem;
  }
}
.partners-logos-block {
  padding: 4rem 0;
  overflow: hidden;
}
.partners-logos-block.bg-light {
  background: #f8f9fa;
}
.partners-logos-block.bg-dark {
  background: #2c3e50;
  color: white;
}
.partners-logos-block.bg-dark .partners-subtitle {
  color: rgba(255, 255, 255, 0.8);
}
.partners-logos-block .partners-header {
  text-align: center;
  margin-bottom: 3rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.partners-logos-block .partners-header .partners-subtitle {
  display: block;
  color: #666;
  font-size: 0.9rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}
.bg-dark .partners-logos-block .partners-header .partners-subtitle {
  color: rgba(255, 255, 255, 0.7);
}
.partners-logos-block .partners-header .partners-title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.2;
  color: #333;
}
.bg-dark .partners-logos-block .partners-header .partners-title {
  color: white;
}
@media (max-width: 768px) {
  .partners-logos-block .partners-header .partners-title {
    font-size: 1.5rem;
  }
}
.partners-logos-block .partners-container {
  position: relative;
  width: 100%;
}
.partners-logos-block .partners-scroll-wrapper {
  width: 100%;
  overflow: hidden;
  mask: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
  -webkit-mask: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
}
.partners-logos-block .partners-scroll-wrapper .partners-scroll-track {
  display: flex;
  width: fit-content;
  gap: 3rem;
  align-items: center;
}
.partners-logos-block .partners-scroll-wrapper .partners-scroll-track[data-speed=slow] {
  animation: scroll-logos 120s linear infinite;
}
.partners-logos-block .partners-scroll-wrapper .partners-scroll-track[data-speed=normal] {
  animation: scroll-logos 80s linear infinite;
}
.partners-logos-block .partners-scroll-wrapper .partners-scroll-track[data-speed=fast] {
  animation: scroll-logos 40s linear infinite;
}
.partners-logos-block .partners-scroll-wrapper .partners-scroll-track:hover {
  animation-play-state: paused;
}
.partners-logos-block .partners-grid {
  display: grid;
  gap: 2rem;
  align-items: center;
  justify-items: center;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}
@media (min-width: 992px) {
  .partners-logos-block .partners-grid[data-desktop="3"] {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .partners-logos-block .partners-grid[data-desktop="4"] {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 992px) {
  .partners-logos-block .partners-grid[data-desktop="5"] {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media (min-width: 992px) {
  .partners-logos-block .partners-grid[data-desktop="6"] {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .partners-logos-block .partners-grid[data-tablet="2"] {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .partners-logos-block .partners-grid[data-tablet="3"] {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .partners-logos-block .partners-grid[data-tablet="4"] {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 767px) {
  .partners-logos-block .partners-grid[data-mobile="1"] {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .partners-logos-block .partners-grid[data-mobile="2"] {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .partners-logos-block .partners-grid[data-mobile="3"] {
    grid-template-columns: repeat(3, 1fr);
  }
}
.partners-logos-block .partner-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  height: 100px;
  min-width: 150px;
}
.bg-dark .partners-logos-block .partner-item {
  background: rgba(255, 255, 255, 0.95);
}
.partners-scroll-track .partners-logos-block .partner-item {
  flex-shrink: 0;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.04);
}
.partners-scroll-track .partners-logos-block .partner-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}
.partners-grid .partners-logos-block .partner-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}
.partners-logos-block .partner-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.partners-logos-block .partner-item img {
  max-width: 100%;
  max-height: 60px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: all 0.3s ease;
}
.partners-logos-block .partner-item.grayscale img {
  filter: grayscale(100%) opacity(0.7);
}
.partners-logos-block .partner-item.grayscale img:hover {
  filter: grayscale(0%) opacity(1);
}
.partners-logos-block .partner-item.colored img {
  filter: opacity(0.8);
}
.partners-logos-block .partner-item.colored img:hover {
  filter: opacity(1);
}
.partners-logos-block .partner-item.black-white img {
  filter: grayscale(100%) contrast(1000%) brightness(0);
  opacity: 0.6;
}
.partners-logos-block .partner-item.black-white img:hover {
  opacity: 0.8;
}
.partners-logos-block .partner-item .partner-name {
  font-size: 0.85rem;
  font-weight: 500;
  color: #666;
  text-align: center;
  margin-top: 0.5rem;
}
.bg-dark .partners-logos-block .partner-item .partner-name {
  color: #333;
}
.partners-logos-block.compact {
  padding: 2rem 0;
}
.partners-logos-block.compact .partners-header {
  margin-bottom: 2rem;
}
.partners-logos-block.compact .partner-item {
  padding: 1rem;
  height: 80px;
  min-width: 120px;
}
.partners-logos-block.compact .partner-item img {
  max-height: 40px;
}
.partners-logos-block.minimal .partner-item {
  background: transparent;
  box-shadow: none;
  border: 1px solid #e9ecef;
}
.bg-dark .partners-logos-block.minimal .partner-item {
  border-color: rgba(255, 255, 255, 0.2);
  background: transparent;
}
.partners-logos-block.minimal .partner-item:hover {
  border-color: #0089E9;
  background: rgba(0, 137, 233, 0.05);
}

@keyframes scroll-logos {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.partners-grid .partner-item {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.6s ease forwards;
}
.partners-grid .partner-item:nth-child(1) {
  animation-delay: 0s;
}
.partners-grid .partner-item:nth-child(2) {
  animation-delay: 0.1s;
}
.partners-grid .partner-item:nth-child(3) {
  animation-delay: 0.2s;
}
.partners-grid .partner-item:nth-child(4) {
  animation-delay: 0.3s;
}
.partners-grid .partner-item:nth-child(5) {
  animation-delay: 0.4s;
}
.partners-grid .partner-item:nth-child(6) {
  animation-delay: 0.5s;
}
.partners-grid .partner-item:nth-child(7) {
  animation-delay: 0.6s;
}
.partners-grid .partner-item:nth-child(8) {
  animation-delay: 0.7s;
}
.partners-grid .partner-item:nth-child(9) {
  animation-delay: 0.8s;
}
.partners-grid .partner-item:nth-child(10) {
  animation-delay: 0.9s;
}
.partners-grid .partner-item:nth-child(11) {
  animation-delay: 1s;
}
.partners-grid .partner-item:nth-child(12) {
  animation-delay: 1.1s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 768px) {
  .partners-logos-block .partners-scroll-wrapper .partners-scroll-track {
    gap: 2rem;
  }
  .partners-logos-block .partner-item {
    min-width: 100px;
    padding: 1rem;
    height: 70px;
  }
  .partners-logos-block .partner-item img {
    max-height: 35px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .partners-scroll-track {
    animation-play-state: paused !important;
  }
}
@media (prefers-contrast: high) {
  .partner-item.grayscale img, .partner-item.black-white img {
    filter: contrast(1) !important;
  }
}
.blog-header, .archive-header {
  background: linear-gradient(135deg, #0089E9 0%, #F24738 100%);
  color: white;
  padding: 4rem 0 3rem;
  text-align: center;
}
.blog-header .page-title, .archive-header .page-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  margin: 0 0 1rem 0;
}
.blog-header .page-description, .blog-header .archive-description, .archive-header .page-description, .archive-header .archive-description {
  font-size: 1.1rem;
  opacity: 0.9;
  margin: 0;
}

.blog-content {
  padding: 4rem 0;
}

.posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .posts-grid {
    grid-template-columns: 1fr;
  }
}

.blog-post-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.blog-post-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
.blog-post-card .post-thumbnail {
  overflow: hidden;
  height: 200px;
}
.blog-post-card .post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.blog-post-card .post-thumbnail:hover img {
  transform: scale(1.05);
}
.blog-post-card .post-content {
  padding: 1.5rem;
}
.blog-post-card .post-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}
.blog-post-card .post-meta .post-date {
  color: #666;
}
.blog-post-card .post-meta .post-category {
  background: #0089E9;
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 500;
}
.blog-post-card .post-meta .post-category:hover {
  background: #0077CC;
}
.blog-post-card .post-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 1rem 0;
  line-height: 1.3;
}
.blog-post-card .post-title a {
  color: #333;
  text-decoration: none;
}
.blog-post-card .post-title a:hover {
  color: #0089E9;
}
.blog-post-card .post-excerpt {
  color: #666;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.blog-post-card .post-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.blog-post-card .post-footer .post-author {
  color: #888;
  font-size: 0.9rem;
}
.blog-post-card .post-footer .read-more-btn {
  color: #0089E9;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9rem;
}
.blog-post-card .post-footer .read-more-btn:hover {
  color: #0077CC;
}

.single-post .post-hero {
  position: relative;
  height: 60vh;
  min-height: 400px;
  overflow: hidden;
}
.single-post .post-hero .post-hero-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.single-post .post-hero .post-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.single-post .post-hero .post-hero-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  padding: 4rem 3rem 2rem;
  color: white;
}
.single-post .post-hero .post-hero-content .post-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.single-post .post-hero .post-hero-content .post-meta .post-categories {
  display: flex;
  gap: 0.5rem;
}
.single-post .post-hero .post-hero-content .post-meta .post-categories .category-link {
  background: rgba(255, 255, 255, 0.2);
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  text-decoration: none;
  font-size: 0.8rem;
}
.single-post .post-hero .post-hero-content .post-meta .post-categories .category-link:hover {
  background: rgba(255, 255, 255, 0.3);
}
.single-post .post-hero .post-hero-content .post-title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  margin: 0 0 1rem 0;
  line-height: 1.2;
}
.single-post .post-hero .post-hero-content .post-excerpt {
  font-size: 1.1rem;
  opacity: 0.9;
  max-width: 600px;
}
.single-post .post-header {
  background: #f8f9fa;
  padding: 3rem 0;
}
.single-post .post-header .post-meta {
  margin-bottom: 1rem;
}
.single-post .post-header .post-meta .post-categories {
  margin-top: 0.5rem;
}
.single-post .post-header .post-meta .post-categories .category-link {
  background: #0089E9;
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  text-decoration: none;
  font-size: 0.8rem;
  margin-right: 0.5rem;
}
.single-post .post-header .post-meta .post-categories .category-link:hover {
  background: #0077CC;
}
.single-post .post-header .post-title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  margin: 0 0 1rem 0;
}
.single-post .post-header .post-excerpt {
  font-size: 1.1rem;
  color: #666;
}
.single-post .post-content-wrap {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  padding: 3rem 3rem;
}
@media (max-width: 968px) {
  .single-post .post-content-wrap {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.single-post .post-content {
  font-size: 1.1rem;
  line-height: 1.7;
}
.single-post .post-content h2, .single-post .post-content h3, .single-post .post-content h4, .single-post .post-content h5, .single-post .post-content h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.single-post .post-content p {
  margin-bottom: 1.5rem;
}
.single-post .post-sidebar .post-author, .single-post .post-sidebar .post-tags, .single-post .post-sidebar .post-share {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 8px;
  margin-bottom: 2rem;
}
.single-post .post-sidebar .post-author h4, .single-post .post-sidebar .post-tags h4, .single-post .post-sidebar .post-share h4 {
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
}
.single-post .post-sidebar .author-info {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.single-post .post-sidebar .author-info img {
  border-radius: 50%;
}
.single-post .post-sidebar .author-info h5 {
  margin: 0 0 0.5rem 0;
}
.single-post .post-sidebar .author-info p {
  margin: 0;
  color: #666;
  font-size: 0.9rem;
}
.single-post .post-sidebar .tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.single-post .post-sidebar .tag-list .tag-link {
  background: #e9ecef;
  color: #666;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.8rem;
}
.single-post .post-sidebar .tag-list .tag-link:hover {
  background: #0089E9;
  color: white;
}
.single-post .post-sidebar .share-buttons {
  display: flex;
  gap: 0.5rem;
}
.single-post .post-sidebar .share-buttons .share-btn {
  padding: 0.5rem 1rem;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 500;
}
.single-post .post-sidebar .share-buttons .share-btn.facebook {
  background: #1877F2;
  color: white;
}
.single-post .post-sidebar .share-buttons .share-btn.twitter {
  background: #1DA1F2;
  color: white;
}
.single-post .post-sidebar .share-buttons .share-btn.linkedin {
  background: #0A66C2;
  color: white;
}

.post-navigation {
  background: #f8f9fa;
  padding: 3rem 0;
  margin-top: 3rem;
  border-top: 1px solid #e9ecef;
}
.post-navigation .nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 768px) {
  .post-navigation .nav-links {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 0 1.5rem;
  }
}
.post-navigation .nav-previous,
.post-navigation .nav-next {
  display: block;
}
.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  display: block;
  padding: 2rem;
  background: white;
  border-radius: 12px;
  text-decoration: none;
  color: #333;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  min-height: 120px;
}
.post-navigation .nav-previous a:hover,
.post-navigation .nav-next a:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}
.post-navigation .nav-previous a::before,
.post-navigation .nav-next a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #0089E9, #F24738);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.post-navigation .nav-previous a:hover::before,
.post-navigation .nav-next a:hover::before {
  transform: scaleX(1);
}
.post-navigation .nav-previous .nav-subtitle,
.post-navigation .nav-next .nav-subtitle {
  display: block;
  font-size: 0.9rem;
  color: #0089E9;
  margin-bottom: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.post-navigation .nav-previous .nav-title,
.post-navigation .nav-next .nav-title {
  display: block;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.4;
  color: #333;
  transition: color 0.3s ease;
}
.post-navigation .nav-previous .nav-subtitle::before {
  content: "← ";
  margin-right: 0.5rem;
}
.post-navigation .nav-next {
  text-align: right;
}
.post-navigation .nav-next .nav-subtitle::after {
  content: " →";
  margin-left: 0.5rem;
}
@media (max-width: 768px) {
  .post-navigation .nav-previous,
  .post-navigation .nav-next {
    text-align: left;
  }
  .post-navigation .nav-previous a,
  .post-navigation .nav-next a {
    padding: 1.5rem;
    min-height: auto;
  }
  .post-navigation .nav-next .nav-subtitle::after {
    display: none;
  }
  .post-navigation .nav-next .nav-subtitle::before {
    content: "→ ";
    margin-right: 0.5rem;
  }
}

.post-navigation.compact {
  padding: 2rem 0;
  background: transparent;
  border-top: 2px solid #e9ecef;
}
.post-navigation.compact .nav-links {
  gap: 1rem;
}
.post-navigation.compact .nav-previous a,
.post-navigation.compact .nav-next a {
  padding: 1.5rem;
  min-height: auto;
  background: transparent;
  border: 2px solid #e9ecef;
  box-shadow: none;
}
.post-navigation.compact .nav-previous a:hover,
.post-navigation.compact .nav-next a:hover {
  border-color: #0089E9;
  background: #f8f9fa;
  transform: none;
  box-shadow: none;
}

.comments-area {
  margin-top: 3rem;
  padding: 3rem 0;
  border-top: 1px solid #e9ecef;
}
.comments-area .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 768px) {
  .comments-area .container {
    padding: 0 1.5rem;
  }
}
.comments-area .comments-title {
  font-size: 1.75rem;
  font-weight: 600;
  margin-bottom: 2rem;
  color: #333;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.comments-area .comments-title::before {
  content: "💬";
  font-size: 1.5rem;
}
.comments-area .comment-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.comments-area .comment-list .comment {
  margin-bottom: 2rem;
  padding: 2rem;
  background: #f8f9fa;
  border-radius: 12px;
  border-left: 4px solid #0089E9;
}
.comments-area .comment-list .comment.bypostauthor {
  background: linear-gradient(135deg, rgba(0, 137, 233, 0.1), rgba(242, 71, 56, 0.05));
  border-left-color: #F24738;
}
.comments-area .comment-list .comment.bypostauthor .comment-author::after {
  content: "✓ Författare";
  background: #F24738;
  color: white;
  font-size: 0.7rem;
  padding: 0.25rem 0.5rem;
  border-radius: 10px;
  margin-left: 0.5rem;
  font-weight: 500;
}
.comments-area .comment-list .comment .children {
  margin-top: 2rem;
  margin-left: 2rem;
  padding-left: 2rem;
  border-left: 2px solid #e9ecef;
}
@media (max-width: 768px) {
  .comments-area .comment-list .comment .children {
    margin-left: 1rem;
    padding-left: 1rem;
  }
}
.comments-area .comment-list .comment .children .comment {
  background: white;
  border-left-color: #28a745;
}
.comments-area .comment-list .comment-body .comment-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.comments-area .comment-list .comment-body .comment-meta .comment-author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.comments-area .comment-list .comment-body .comment-meta .comment-author .avatar {
  border-radius: 50%;
  border: 2px solid white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.comments-area .comment-list .comment-body .comment-meta .comment-author .fn {
  font-weight: 600;
  color: #333;
  font-size: 1rem;
}
.comments-area .comment-list .comment-body .comment-meta .comment-author .says {
  display: none;
}
.comments-area .comment-list .comment-body .comment-meta .comment-metadata {
  color: #666;
  font-size: 0.9rem;
}
.comments-area .comment-list .comment-body .comment-meta .comment-metadata a {
  color: #666;
  text-decoration: none;
}
.comments-area .comment-list .comment-body .comment-meta .comment-metadata a:hover {
  color: #0089E9;
}
.comments-area .comment-list .comment-body .comment-meta .comment-metadata .edit-link {
  margin-left: 1rem;
}
.comments-area .comment-list .comment-body .comment-meta .comment-metadata .edit-link::before {
  content: "•";
  margin-right: 0.5rem;
}
.comments-area .comment-list .comment-body .comment-content {
  margin-bottom: 1rem;
  line-height: 1.6;
  color: #444;
}
.comments-area .comment-list .comment-body .comment-content p:last-child {
  margin-bottom: 0;
}
.comments-area .comment-list .comment-body .comment-content blockquote {
  border-left: 3px solid #0089E9;
  padding-left: 1rem;
  margin: 1rem 0;
  font-style: italic;
  color: #666;
}
.comments-area .comment-list .comment-body .comment-content code {
  background: #f1f3f4;
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  font-family: "Monaco", "Consolas", monospace;
  font-size: 0.9em;
}
.comments-area .comment-list .comment-body .comment-content pre {
  background: #f1f3f4;
  padding: 1rem;
  border-radius: 6px;
  overflow-x: auto;
  margin: 1rem 0;
}
.comments-area .comment-list .comment-body .reply .comment-reply-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: #0089E9;
  color: white;
  text-decoration: none;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  transition: background 0.3s ease;
}
.comments-area .comment-list .comment-body .reply .comment-reply-link:hover {
  background: #0077CC;
}
.comments-area .comment-list .comment-body .reply .comment-reply-link::before {
  content: "↩";
}
.comments-area .comment-navigation {
  margin: 2rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.comments-area .comment-navigation .nav-previous a,
.comments-area .comment-navigation .nav-next a {
  padding: 0.75rem 1.5rem;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  text-decoration: none;
  color: #333;
  transition: all 0.3s ease;
}
.comments-area .comment-navigation .nav-previous a:hover,
.comments-area .comment-navigation .nav-next a:hover {
  background: #0089E9;
  color: white;
  border-color: #0089E9;
}
.comments-area .no-comments {
  text-align: center;
  padding: 3rem;
  background: #f8f9fa;
  border-radius: 12px;
  color: #666;
}
.comments-area .no-comments .no-comments-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}
.comments-area .no-comments h3 {
  margin-bottom: 0.5rem;
  color: #333;
}

.comment-respond {
  margin-top: 3rem;
  padding: 2rem;
  background: white;
  border-radius: 12px;
  border: 1px solid #e9ecef;
}
.comment-respond .comment-reply-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  color: #333;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.comment-respond .comment-reply-title::before {
  content: "✏️";
}
.comment-respond .comment-reply-title #cancel-comment-reply-link {
  font-size: 0.9rem;
  color: #dc3545;
  text-decoration: none;
  margin-left: auto;
}
.comment-respond .comment-reply-title #cancel-comment-reply-link:hover {
  text-decoration: underline;
}
.comment-respond .comment-form .comment-form-comment {
  margin-bottom: 1.5rem;
}
.comment-respond .comment-form .comment-form-comment label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #333;
}
.comment-respond .comment-form .comment-form-comment textarea {
  width: 100%;
  min-height: 120px;
  padding: 1rem;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.3s ease;
  resize: vertical;
}
.comment-respond .comment-form .comment-form-comment textarea:focus {
  outline: none;
  border-color: #0089E9;
  box-shadow: 0 0 0 3px rgba(0, 137, 233, 0.1);
}
.comment-respond .comment-form .comment-form-author,
.comment-respond .comment-form .comment-form-email,
.comment-respond .comment-form .comment-form-url {
  margin-bottom: 1rem;
}
.comment-respond .comment-form .comment-form-author label,
.comment-respond .comment-form .comment-form-email label,
.comment-respond .comment-form .comment-form-url label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #333;
}
.comment-respond .comment-form .comment-form-author input[type=text],
.comment-respond .comment-form .comment-form-author input[type=email],
.comment-respond .comment-form .comment-form-author input[type=url],
.comment-respond .comment-form .comment-form-email input[type=text],
.comment-respond .comment-form .comment-form-email input[type=email],
.comment-respond .comment-form .comment-form-email input[type=url],
.comment-respond .comment-form .comment-form-url input[type=text],
.comment-respond .comment-form .comment-form-url input[type=email],
.comment-respond .comment-form .comment-form-url input[type=url] {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #e9ecef;
  border-radius: 6px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
}
.comment-respond .comment-form .comment-form-author input[type=text]:focus,
.comment-respond .comment-form .comment-form-author input[type=email]:focus,
.comment-respond .comment-form .comment-form-author input[type=url]:focus,
.comment-respond .comment-form .comment-form-email input[type=text]:focus,
.comment-respond .comment-form .comment-form-email input[type=email]:focus,
.comment-respond .comment-form .comment-form-email input[type=url]:focus,
.comment-respond .comment-form .comment-form-url input[type=text]:focus,
.comment-respond .comment-form .comment-form-url input[type=email]:focus,
.comment-respond .comment-form .comment-form-url input[type=url]:focus {
  outline: none;
  border-color: #0089E9;
  box-shadow: 0 0 0 3px rgba(0, 137, 233, 0.1);
}
.comment-respond .comment-form .comment-form-cookies-consent {
  margin: 1rem 0;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.comment-respond .comment-form .comment-form-cookies-consent input[type=checkbox] {
  margin-top: 0.25rem;
  transform: scale(1.2);
  accent-color: #0089E9;
}
.comment-respond .comment-form .comment-form-cookies-consent label {
  font-size: 0.9rem;
  line-height: 1.4;
  color: #666;
}
.comment-respond .comment-form .form-submit {
  margin-top: 1.5rem;
}
.comment-respond .comment-form .form-submit #submit {
  background: linear-gradient(135deg, #0089E9, #F24738);
  color: white;
  border: none;
  padding: 0.75rem 2rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.comment-respond .comment-form .form-submit #submit:hover {
  transform: translateY(-2px);
}
.comment-respond .comment-form .form-submit #submit:active {
  transform: translateY(0);
}

@media (max-width: 768px) {
  .comments-area .comment-list .comment {
    padding: 1.5rem;
  }
  .comments-area .comment-list .comment .children {
    margin-left: 0;
    padding-left: 1rem;
  }
  .comment-respond {
    padding: 1.5rem;
  }
}
@media (prefers-color-scheme: dark) {
  .comments-area .comment-list .comment {
    background: #2a2a2a;
    color: #e0e0e0;
    border-left-color: #0099ff;
  }
  .comments-area .comments-title {
    color: #e0e0e0;
  }
  .comment-respond {
    background: #2a2a2a;
    border-color: #404040;
  }
  .comment-respond .comment-reply-title {
    color: #e0e0e0;
  }
  .comment-respond .comment-form label {
    color: #e0e0e0;
  }
  .comment-respond .comment-form textarea,
  .comment-respond .comment-form input[type=text],
  .comment-respond .comment-form input[type=email],
  .comment-respond .comment-form input[type=url] {
    background: #333;
    border-color: #404040;
    color: #e0e0e0;
  }
  .comment-respond .comment-form textarea:focus,
  .comment-respond .comment-form input[type=text]:focus,
  .comment-respond .comment-form input[type=email]:focus,
  .comment-respond .comment-form input[type=url]:focus {
    border-color: #0099ff;
  }
}
.project-single .project-hero {
  position: relative;
  height: 70vh;
  min-height: 500px;
  overflow: hidden;
}
.project-single .project-hero .project-hero-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.project-single .project-hero .project-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-single .project-hero .project-hero-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  padding: 4rem 3rem 2rem;
  color: white;
}
.project-single .project-hero .project-hero-overlay .project-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  margin: 0 0 1rem 0;
}
.project-single .project-hero .project-hero-overlay .project-client {
  font-size: 1.1rem;
  margin: 0 0 1.5rem 0;
  opacity: 0.9;
}
.project-single .project-hero .project-hero-overlay .project-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: white;
  color: #333;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 500;
}
.project-single .project-hero .project-hero-overlay .project-link:hover {
  background: #f8f9fa;
}
.project-single .project-content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  padding: 3rem 3rem;
}
@media (max-width: 968px) {
  .project-single .project-content {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.project-single .project-main .project-excerpt {
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 8px;
}
.project-single .project-main .project-description {
  font-size: 1.1rem;
  line-height: 1.7;
  margin-bottom: 3rem;
}
.project-single .project-main .project-gallery h3 {
  margin-bottom: 1.5rem;
}
.project-single .project-main .project-gallery .gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.project-single .project-main .project-gallery .gallery-grid .gallery-item {
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
}
.project-single .project-main .project-gallery .gallery-grid .gallery-item img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.project-single .project-main .project-gallery .gallery-grid .gallery-item:hover img {
  transform: scale(1.05);
}
.project-single .project-sidebar .project-details, .project-single .project-sidebar .project-cta {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 8px;
  margin-bottom: 2rem;
}
.project-single .project-sidebar .project-details h3, .project-single .project-sidebar .project-cta h3 {
  margin: 0 0 1.5rem 0;
  font-size: 1.2rem;
}
.project-single .project-sidebar .project-detail {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e9ecef;
}
.project-single .project-sidebar .project-detail:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
.project-single .project-sidebar .project-detail strong {
  display: block;
  margin-bottom: 0.25rem;
  color: #333;
}
.project-single .project-sidebar .project-detail span {
  color: #666;
}
.project-single .project-sidebar .project-categories, .project-single .project-sidebar .project-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.project-single .project-sidebar .project-categories .category-tag, .project-single .project-sidebar .project-tags .category-tag {
  background: #0089E9;
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  text-decoration: none;
  font-size: 0.8rem;
}
.project-single .project-sidebar .project-categories .category-tag:hover, .project-single .project-sidebar .project-tags .category-tag:hover {
  background: #0077CC;
}
.project-single .project-sidebar .project-categories .tag-link, .project-single .project-sidebar .project-tags .tag-link {
  background: #e9ecef;
  color: #666;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.8rem;
}
.project-single .project-sidebar .project-categories .tag-link:hover, .project-single .project-sidebar .project-tags .tag-link:hover {
  background: #0089E9;
  color: white;
}
.project-single .project-sidebar .project-cta {
  text-align: center;
}
.project-single .project-sidebar .project-cta .btn {
  width: 100%;
  padding: 0.75rem;
}
.project-single .project-navigation {
  background: #f8f9fa;
  padding: 2rem 0;
}
.project-single .project-navigation .nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media (max-width: 768px) {
  .project-single .project-navigation .nav-links {
    grid-template-columns: 1fr;
  }
}
.project-single .project-navigation .nav-previous a, .project-single .project-navigation .nav-next a {
  display: block;
  padding: 1.5rem;
  background: white;
  border-radius: 8px;
  text-decoration: none;
  color: #333;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease;
}
.project-single .project-navigation .nav-previous a:hover, .project-single .project-navigation .nav-next a:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.project-single .project-navigation .nav-previous .nav-subtitle, .project-single .project-navigation .nav-next .nav-subtitle {
  display: block;
  font-size: 0.9rem;
  color: #0089E9;
  margin-bottom: 0.5rem;
}
.project-single .project-navigation .nav-previous .nav-title, .project-single .project-navigation .nav-next .nav-title {
  display: block;
  font-weight: 600;
}
.project-single .project-navigation .nav-next {
  text-align: right;
}

.portfolio-archive {
  padding: 3rem 5rem;
}
.portfolio-archive .portfolio-filters {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}
.portfolio-archive .portfolio-filters .filter-btn {
  padding: 0.5rem 1rem;
  border: 2px solid #0089E9;
  background: white;
  color: #0089E9;
  border-radius: 25px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.3s ease;
}
.portfolio-archive .portfolio-filters .filter-btn:hover, .portfolio-archive .portfolio-filters .filter-btn.active {
  background: #0089E9;
  color: white;
}
.portfolio-archive .portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .portfolio-archive .portfolio-grid {
    grid-template-columns: 1fr;
  }
}
.portfolio-archive .portfolio-item {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.portfolio-archive .portfolio-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
.portfolio-archive .portfolio-item .portfolio-image {
  position: relative;
  height: 250px;
  overflow: hidden;
}
.portfolio-archive .portfolio-item .portfolio-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.portfolio-archive .portfolio-item .portfolio-image .portfolio-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 137, 233, 0.9);
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.portfolio-archive .portfolio-item .portfolio-image .portfolio-overlay .portfolio-overlay-content {
  display: flex;
  gap: 1rem;
}
.portfolio-archive .portfolio-item .portfolio-image:hover img {
  transform: scale(1.05);
}
.portfolio-archive .portfolio-item .portfolio-image:hover .portfolio-overlay {
  opacity: 1;
}
.portfolio-archive .portfolio-item .portfolio-content {
  padding: 1.5rem;
}
.portfolio-archive .portfolio-item .portfolio-content .portfolio-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 0.5rem 0;
}
.portfolio-archive .portfolio-item .portfolio-content .portfolio-title a {
  color: #333;
  text-decoration: none;
}
.portfolio-archive .portfolio-item .portfolio-content .portfolio-title a:hover {
  color: #0089E9;
}
.portfolio-archive .portfolio-item .portfolio-content .portfolio-client {
  color: #666;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
}
.portfolio-archive .portfolio-item .portfolio-content .portfolio-excerpt {
  color: #666;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.portfolio-archive .portfolio-item .portfolio-content .portfolio-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.portfolio-archive .portfolio-item .portfolio-content .portfolio-categories .category-tag {
  background: #e9ecef;
  color: #666;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.8rem;
}

.portfolio-item {
  transition: all 0.3s ease;
}
.portfolio-item.filtered-out {
  opacity: 0;
  transform: scale(0.8);
  pointer-events: none;
}

.portfolio-filters {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}
.portfolio-filters .filter-btn {
  padding: 0.75rem 1.5rem;
  border: 2px solid #0089E9;
  background: white;
  color: #0089E9;
  border-radius: 25px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.3s ease;
  font-size: 0.9rem;
}
.portfolio-filters .filter-btn:hover {
  background: #0089E9;
  color: white;
  transform: translateY(-2px);
}
.portfolio-filters .filter-btn.active {
  background: #0089E9;
  color: white;
  box-shadow: 0 4px 15px rgba(0, 137, 233, 0.3);
}

.portfolio-item {
  border: 1px solid transparent;
}
.portfolio-item.webb {
  border-color: blue;
}
.portfolio-item.app {
  border-color: red;
}

/*# sourceMappingURL=style.css.map */
