:root { --color-primary:        #0D84FC; --color-primary-light:  #E3F0FD; --color-primary-dark:   #0051A3; --color-text:           #071430; --color-text-muted:     #64769E; --color-card-bg:        #FFFFFF; --color-background:     #FFFFFF; --color-background-alt: #F7F8FA; --color-border:         #EEECF3;  --color-error:          #E11D48; --color-error-bg:       rgba(225, 29, 72, 0.12);  --font-heading: 'Satoshi', sans-serif;
--font-body: 'Satoshi', sans-serif; --fw-medium: 500;
--fw-bold:   700;
--fw-black:  900; --fs-h1: 48px; --lh-h1: 58px; --fs-h2: 38px; --lh-h2: 48px; --fs-h3: 26px; --lh-h3: 36px; --fs-h4: 24px; --lh-h4: 32px; --fs-h5: 22px; --lh-h5: 30px; --fs-h6: 20px; --lh-h6: 28px; --fs-body-lg: 18px; --lh-body-lg: 26px; --fs-body-md: 16px; --lh-body-md: 24px; --fs-body-sm: 14px; --lh-body-sm: 20px; --fs-tag:        12px; --lh-tag:        12px; --fs-button-lg:  18px; --lh-button-lg:  26px;  --spacing-xs: 8px;
--spacing-sm: 16px;
--spacing-md: 24px;
--spacing-lg: 32px;
--spacing-xl: 48px;
--spacing-2xl: 64px; --spacing-section-mobile: 64px;
--spacing-section-tablet: 80px;
--spacing-section-desktop: 104px;
--container-padding-mobile: 20px;
--container-padding-tablet: 40px;
--container-padding-desktop: 80px;
--container-max-width: 1200px; --radius-button: 8px; --radius-pill: 999px; --radius-panel-lg: 32px; --radius-panel: 24px; --radius-input: 16px; --radius-icon-bubble: 999px; --radius-small: 12px;  --shadow-glow: 0 4px 24px rgba(13, 132, 252, 0.18);
--shadow-card: 0 1px 2px rgba(7, 20, 48, 0.04), 0 2px 12px rgba(7, 20, 48, 0.04);
--shadow-card-hover: 0 4px 20px rgba(7, 20, 48, 0.08); --transition-base: 0.2s ease;
} @media (max-width: 599px) {
:root {
--fs-h1: 32px;
--lh-h1: 40px;
}
} *,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height, 64px) + var(--header-gap, 12px));
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
font-family: var(--font-body);
font-size: var(--fs-body-lg);
line-height: var(--lh-body-lg);
font-weight: var(--fw-medium);
color: var(--color-text);
background-color: var(--color-background);
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: inherit;
text-decoration: none;
} h1, h2, h3, h4, h5, h6,
.wp-block-heading {
font-family: var(--font-heading);
color: var(--color-text);
letter-spacing: -0.01em;
}
h1, .wp-block-heading:where([class*="h1"]) {
font-size: var(--fs-h1);
line-height: var(--lh-h1);
font-weight: var(--fw-black);
letter-spacing: -0.02em;
}
h2, .wp-block-heading:where([class*="h2"]) {
font-size: var(--fs-h2);
line-height: var(--lh-h2);
font-weight: var(--fw-black);
letter-spacing: -0.02em;
}
h3, .wp-block-heading:where([class*="h3"]) {
font-size: var(--fs-h3);
line-height: var(--lh-h3);
font-weight: var(--fw-bold);
}
h4, .wp-block-heading:where([class*="h4"]) {
font-size: var(--fs-h4);
line-height: var(--lh-h4);
font-weight: var(--fw-bold);
}
h5, .wp-block-heading:where([class*="h5"]) {
font-size: var(--fs-h5);
line-height: var(--lh-h5);
font-weight: var(--fw-bold);
}
h6, .wp-block-heading:where([class*="h6"]) {
font-size: var(--fs-h6);
line-height: var(--lh-h6);
font-weight: var(--fw-bold);
}
p {
color: var(--color-text-muted);
margin-bottom: var(--spacing-sm);
} .btn,
.site-main .wp-block-button__link.wp-element-button,
.site-main .wp-block-button__link {
padding: 14px 20px;
font-family: var(--font-body);
font-size: var(--fs-button-lg);
line-height: var(--lh-button-lg);
font-weight: var(--fw-bold);
border-radius: var(--radius-button);
transition: color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
text-align: center;
text-decoration: none;
border: 1px solid transparent;
position: relative;
overflow: hidden;
isolation: isolate; } .btn::before,
.site-main .wp-block-button__link::before {
content: '';
position: absolute;
left: 0;
bottom: 0; width: 250%;
aspect-ratio: 1 / 1;
border-radius: 50%;
background: #071430; transform: translate(-50%, 50%) scale(0);
transform-origin: 50% 50%;
transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none;
z-index: -1;
}
.btn:hover::before,
.site-main .wp-block-button__link:hover::before {
transform: translate(-50%, 50%) scale(1);
} .btn--sm {
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
} .btn--compact {
padding: 10px 18px;
font-size: 16px;
line-height: 1.25;
} .btn--primary,
.site-main .wp-block-button:not(.is-style-outline) .wp-block-button__link {
background-color: var(--color-primary);
color: #ffffff;
border-color: var(--color-primary);
}
.btn--primary:hover,
.site-main .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
color: #ffffff;
border-color: #071430;
} .btn--inverse {
background-color: var(--color-primary-dark);
color: #ffffff;
border-color: var(--color-primary-dark);
}
.btn--inverse:hover {
color: #ffffff;
border-color: #071430;
} .btn--soft,
.site-main .wp-block-button.is-style-outline .wp-block-button__link {
background-color: var(--color-primary-light);
color: var(--color-primary);
border-color: var(--color-primary-light);
}
.btn--soft:hover,
.site-main .wp-block-button.is-style-outline .wp-block-button__link:hover {
color: #ffffff;
border-color: #071430;
} .btn:focus-visible,
.site-main .wp-block-button__link:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 3px;
} .btn:active,
.site-main .wp-block-button__link:active {
transform: scale(0.98);
} .site-main {
min-height: 100vh;
}  .eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 6px 14px;
border-radius: var(--radius-pill);
background-color: var(--color-primary-light);
color: var(--color-primary);
font-size: var(--fs-tag);
line-height: var(--lh-tag);
font-weight: var(--fw-bold);
letter-spacing: 0.02em;
text-transform: uppercase;
}
.eyebrow i {
font-size: 0.9em;
} .icon-bubble {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: var(--radius-icon-bubble);
background-color: var(--color-primary-light);
color: var(--color-primary);
flex-shrink: 0;
}
.icon-bubble i {
font-size: 20px;
line-height: 1;
}
.icon-bubble--sm {
width: 40px;
height: 40px;
}
.icon-bubble--sm i {
font-size: 18px;
}
.icon-bubble--xs {
width: 32px;
height: 32px;
}
.icon-bubble--xs i {
font-size: 15px;
}
.icon-bubble--lg {
width: 64px;
height: 64px;
border-radius: 20px;
}
.icon-bubble--lg i {
font-size: 26px;
} .mini-ui-preview {
background-color: var(--color-primary-light);
border-radius: var(--radius-small);
padding: 16px;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 14px;
line-height: 22px;
color: var(--color-text);
display: flex;
flex-direction: column;
gap: 8px;
}
.mini-ui-preview__row {
display: flex;
align-items: baseline;
gap: 12px;
}
.mini-ui-preview__key {
color: var(--color-text-muted);
min-width: 7em;
flex-shrink: 0;
}
.mini-ui-preview__val {
color: var(--color-text);
font-weight: var(--fw-bold);
} .section-more-link {
display: flex;
justify-content: center;
margin-top: 32px;
}
.section-more-link a {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
font-weight: var(--fw-bold);
color: var(--color-primary);
text-decoration: none;
transition: color var(--transition-base), gap var(--transition-base);
}
.section-more-link a:hover,
.section-more-link a:focus-visible {
color: var(--color-primary-dark);
gap: 12px;
}
.section-more-link a i {
font-size: 14px;
color: inherit;
} .section--dark .section-more-link a {
color: #ffffff;
}
.section--dark .section-more-link a:hover,
.section--dark .section-more-link a:focus-visible {
color: var(--color-primary-light);
} .package-pill {
display: inline-flex;
align-items: center;
padding: 4px 10px;
border-radius: var(--radius-pill);
font-size: 12px;
line-height: 1;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.04em;
white-space: nowrap;
}
.package-pill--basic {
background-color: var(--color-background-alt);
color: var(--color-text);
}
.package-pill--standard {
background-color: var(--color-primary-light);
color: var(--color-primary);
}
.package-pill--premium {
background-color: var(--color-text);
color: #ffffff;
} .coming-soon-pill {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 4px 10px;
border-radius: var(--radius-pill);
background-color: rgba(15, 23, 42, 0.04);
border: 1px dashed var(--color-border);
color: var(--color-text-muted);
font-size: 12px;
line-height: 1;
font-weight: 600;
white-space: nowrap;
}
.coming-soon-pill i {
font-size: 11px;
color: inherit;
} .pill-chip {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 14px;
border-radius: var(--radius-pill);
background-color: var(--color-primary-light);
color: var(--color-text);
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-medium);
border: 1px solid transparent;
white-space: nowrap;
}
.pill-chip i {
font-size: 14px;
color: var(--color-primary);
flex-shrink: 0;
} .section--dark {
background-color: var(--color-text);
color: rgba(255, 255, 255, 0.85);
}
.section--dark h1,
.section--dark h2,
.section--dark h3,
.section--dark h4,
.section--dark h5,
.section--dark h6,
.section--dark .wp-block-heading {
color: #ffffff;
}
.section--dark p {
color: rgba(255, 255, 255, 0.85);
} .section--dark .eyebrow,
.section--dark .section-label {
background-color: rgba(255, 255, 255, 0.1);
color: rgba(255, 255, 255, 0.9);
} .section--dark .pill-chip {
background-color: rgba(255, 255, 255, 0.1);
border-color: rgba(255, 255, 255, 0.2);
color: #ffffff;
} .section--dark .icon-bubble {
background-color: rgba(255, 255, 255, 0.08);
color: #ffffff;
} .section--dark hr,
.section--dark .section-divider {
border-color: rgba(255, 255, 255, 0.12);
} .section--dark .btn::before {
background: #ffffff;
}
.section--dark .btn:hover {
color: #0D84FC;
border-color: #ffffff;
} .section--brand {
background-color: var(--color-primary);
color: rgba(255, 255, 255, 0.9);
}
.section--brand h1,
.section--brand h2,
.section--brand h3,
.section--brand h4,
.section--brand h5,
.section--brand h6,
.section--brand .wp-block-heading {
color: #ffffff;
}
.section--brand p {
color: rgba(255, 255, 255, 0.9);
}
.section--brand .eyebrow,
.section--brand .section-label {
background-color: rgba(255, 255, 255, 0.15);
color: rgba(255, 255, 255, 0.95);
} .ccm-banner,
.ccm-fab,
.ccm-modal,
.ccm-settings-link {
--ccm-color-bg:            var(--color-card-bg);
--ccm-color-text:          var(--color-text);
--ccm-color-text-muted:    var(--color-text-muted);
--ccm-color-primary:       var(--color-primary);
--ccm-color-primary-dark:  var(--color-primary-dark);
--ccm-color-primary-light: var(--color-primary-light);
--ccm-color-border:        var(--color-border);
--ccm-color-bg-alt:        var(--color-background-alt);
--ccm-radius-panel:  var(--radius-panel);
--ccm-radius-input:  var(--radius-input);
--ccm-radius-bubble: var(--radius-icon-bubble);
--ccm-transition: var(--transition-base);
--ccm-max-width:  var(--container-max-width);
} .ccm-banner .ccm-btn,
.ccm-modal .ccm-btn {
border-radius: var(--radius-button);
padding: 10px 18px;
font-size: 16px;
font-weight: var(--fw-bold);
}
.ccm-banner .ccm-btn--soft,
.ccm-modal .ccm-btn--soft {
background-color: var(--color-primary-light);
color: var(--color-primary);
border-color: var(--color-primary-light);
}
.ccm-banner .ccm-btn--soft:hover,
.ccm-modal .ccm-btn--soft:hover {
background-color: var(--color-primary);
color: #ffffff;
border-color: var(--color-primary);
}:root {
--header-height: 64px; --header-gap: 12px; --header-pill-pad: 16px;
}
@media (min-width: 768px) {
:root {
--header-height: 72px;
--header-pill-pad: 24px;
}
}
@media (min-width: 1200px) {
:root {
--header-height: 80px;
--header-gap: 16px;
--header-pill-pad: 32px;
}
} .site-header {
position: sticky;
top: 0;
z-index: 1001; padding: var(--header-gap) calc(var(--container-padding-mobile) - var(--header-pill-pad)) 0;
}
.site-header__container { max-width: calc(var(--container-max-width) + 2 * var(--header-pill-pad));
margin: 0 auto;
height: var(--header-height);
display: flex;
align-items: center;
gap: 16px; padding: 0 var(--header-pill-pad);
background-color: transparent;
border-radius: var(--radius-panel-lg);
transition: background-color var(--transition-base), box-shadow var(--transition-base);
} .site-header.is-scrolled .site-header__container {
background-color: var(--color-card-bg);
box-shadow: 0 6px 24px rgba(7, 20, 48, 0.10);
} .site-header__logo {
flex-shrink: 0;
line-height: 0;
}
.site-header__logo .custom-logo-link {
display: inline-flex;
align-items: center;
}
.site-header__logo img.custom-logo,
.site-header__logo .custom-logo-link img {
height: 40px;
width: auto;
max-height: 40px;
}
.site-header__site-name {
font-family: var(--font-heading);
font-size: var(--fs-h6);
line-height: 1;
font-weight: var(--fw-bold);
color: var(--color-text);
transition: color var(--transition-base);
}
.site-header__site-name:hover {
color: var(--color-primary);
}
.site-header__site-name:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 4px;
border-radius: 4px;
} .site-header__nav {
display: none;
flex: 1;
justify-content: center;
}
.site-header__menu {
list-style: none;
display: flex;
align-items: center;
gap: 32px;
margin: 0;
padding: 0;
}
.site-header__menu li a {
font-family: var(--font-body);
font-size: 15px;
line-height: 1.4;
font-weight: var(--fw-medium);
color: var(--color-text);
transition: color var(--transition-base);
padding: 8px 0;
white-space: nowrap;
}
.site-header__menu li a:hover {
color: var(--color-primary);
}
.site-header__menu li a:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 4px;
border-radius: 4px;
} .site-header__actions {
display: none;
align-items: center;
gap: 16px;
flex-shrink: 0;
}
.site-header__login {
font-family: var(--font-body);
font-size: 15px;
line-height: 1.4;
font-weight: var(--fw-medium);
color: var(--color-text);
padding: 8px 4px;
white-space: nowrap;
transition: color var(--transition-base);
}
.site-header__login:hover {
color: var(--color-primary);
}
.site-header__login:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 4px;
border-radius: 4px;
} .site-header__demo,
.site-header__cta {
white-space: nowrap;
padding: 8px 14px;
font-size: 14px;
line-height: 1.3;
} .site-header__mobile-toggle {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 5px;
min-width: 44px;
min-height: 44px;
background: none;
border: none;
cursor: pointer;
padding: 0;
margin-left: auto;
flex-shrink: 0;
}
.site-header__mobile-toggle span {
display: block;
width: 24px;
height: 2px;
background-color: var(--color-text);
border-radius: 2px;
transition: transform 0.25s ease, opacity 0.25s ease;
transform-origin: center;
}
.site-header__mobile-toggle[aria-expanded="true"] span:nth-child(1) {
transform: translateY(7px) rotate(45deg);
}
.site-header__mobile-toggle[aria-expanded="true"] span:nth-child(2) {
opacity: 0;
transform: scaleX(0);
}
.site-header__mobile-toggle[aria-expanded="true"] span:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);
}
.site-header__mobile-toggle:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 4px;
border-radius: 6px;
} .site-header__drawer {
display: none;
position: fixed; top: calc(var(--header-gap) + var(--header-height));
left: 0;
right: 0;
bottom: 0;
background-color: var(--color-card-bg);
z-index: 1000;
padding: 32px var(--container-padding-mobile);
overflow-y: auto;
overscroll-behavior: contain;
}
.site-header__drawer.is-open {
display: flex;
flex-direction: column;
gap: 32px;
animation: drawer-slide-in 0.22s ease;
}
@keyframes drawer-slide-in {
from { opacity: 0; transform: translateY(-6px); }
to   { opacity: 1; transform: translateY(0); }
}
.site-header__drawer-menu {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 4px;
}
.site-header__drawer-menu li a {
display: block;
padding: 14px 0;
font-family: var(--font-heading);
font-size: var(--fs-h6);
line-height: var(--lh-h6);
font-weight: var(--fw-bold);
color: var(--color-text);
transition: color var(--transition-base);
}
.site-header__drawer-menu li a:hover {
color: var(--color-primary);
}
.site-header__drawer-menu li a:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 4px;
border-radius: 4px;
}
.site-header__drawer-cta {
margin-top: auto;
padding-top: 16px;
display: flex;
flex-direction: column;
gap: 12px;
align-items: stretch;
}
.site-header__drawer-cta .btn {
width: 100%;
}
.site-header__drawer-login {
text-align: center;
font-family: var(--font-body);
font-size: var(--fs-body-md);
font-weight: var(--fw-medium);
color: var(--color-text);
padding: 10px 0;
transition: color var(--transition-base);
}
.site-header__drawer-login:hover {
color: var(--color-primary);
} @media (min-width: 768px) {
.site-header {
padding: var(--header-gap) calc(var(--container-padding-tablet) - var(--header-pill-pad)) 0;
}
.site-header__drawer {
padding: 32px var(--container-padding-tablet);
}
} @media (min-width: 1200px) {
.site-header {
padding: var(--header-gap) calc(var(--container-padding-desktop) - var(--header-pill-pad)) 0;
}
.site-header__container {
gap: 24px;
}
.site-header__nav {
display: flex;
}
.site-header__actions {
display: flex;
}
.site-header__mobile-toggle {
display: none;
}
.site-header__drawer,
.site-header__drawer.is-open {
display: none !important;
}
} @media (prefers-reduced-motion: reduce) {
.site-header__drawer.is-open {
animation: none;
}
.site-header__mobile-toggle span,
.site-header__menu li a,
.site-header__drawer-menu li a,
.site-header__site-name {
transition: none;
}
}.site-footer {
background-color: var(--color-text);
padding: 64px var(--container-padding-mobile) 32px;
color: #ffffff;
}
.site-footer__container {
max-width: var(--container-max-width);
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 48px;
} .site-footer__top {
display: grid;
grid-template-columns: 1fr;
gap: 32px;
} .site-footer__brand {
display: flex;
flex-direction: column;
gap: 16px;
}
.site-footer__logo {
display: inline-flex;
align-items: center;
line-height: 0;
}
.site-footer__logo img {
height: 28px;
width: auto;
max-height: 28px;
display: block;
}
.site-footer__logo:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 4px;
border-radius: 4px;
}
.site-footer__description {
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
font-weight: var(--fw-medium);
color: #ffffff;
max-width: 360px;
margin: 0;
} .site-footer__col {
display: flex;
flex-direction: column;
gap: 16px;
}
.site-footer__col-title {
font-family: var(--font-body);
font-size: var(--fs-tag);
line-height: var(--lh-tag);
font-weight: var(--fw-bold);
letter-spacing: 0.1em;
text-transform: uppercase;
color: #ffffff;
margin: 0;
} .site-footer__menu {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.site-footer__menu a {
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
font-weight: var(--fw-medium);
color: #ffffff;
transition: opacity var(--transition-base);
}
.site-footer__menu a:hover {
opacity: 0.75;
}
.site-footer__menu a:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 4px;
border-radius: 4px;
} .site-footer__contact-email {
display: inline-flex;
align-items: center;
gap: 10px;
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
font-weight: var(--fw-medium);
color: #ffffff;
transition: opacity var(--transition-base);
text-decoration: none;
}
.site-footer__contact-email i {
font-size: 14px;
color: #ffffff;
transition: color var(--transition-base);
}
.site-footer__contact-email:hover {
opacity: 0.85;
}
.site-footer__contact-email:hover i {
color: var(--color-primary);
}
.site-footer__contact-email:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 3px;
border-radius: 4px;
} .site-footer__social {
display: flex;
gap: 10px;
}
.site-footer__social-link {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
background-color: rgba(255, 255, 255, 0.08);
border-radius: 50%;
color: #ffffff;
font-size: 16px;
transition: background-color var(--transition-base);
}
.site-footer__social-link:hover {
background-color: rgba(255, 255, 255, 0.16);
}
.site-footer__social-link:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 3px;
} .site-footer__bottom {
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: 24px;
display: flex;
flex-direction: column;
gap: 16px;
align-items: flex-start;
}
.site-footer__copyright {
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-medium);
color: #ffffff;
margin: 0;
}
.site-footer__info-menu {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 8px 24px;
}
.site-footer__info-menu a {
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-medium);
color: #ffffff;
transition: opacity var(--transition-base);
}
.site-footer__info-menu a:hover {
opacity: 0.75;
}
.site-footer__info-menu a:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 3px;
border-radius: 4px;
} @media (min-width: 768px) {
.site-footer {
padding: 72px var(--container-padding-tablet) 36px;
}
.site-footer__top {
grid-template-columns: 2fr 1fr 1fr;
gap: 48px;
align-items: start;
}
.site-footer__bottom {
flex-direction: row;
justify-content: space-between;
align-items: center;
}
} @media (min-width: 1200px) {
.site-footer {
padding: 80px var(--container-padding-desktop) 40px;
}
.site-footer__top {
gap: 64px;
}
} @media (prefers-reduced-motion: reduce) {
.site-footer__menu a,
.site-footer__contact-email,
.site-footer__contact-email i,
.site-footer__social-link,
.site-footer__info-menu a {
transition: none;
}
}.funkciok-header {
padding: var(--spacing-section-mobile) var(--container-padding-mobile) 0;
background-color: var(--color-background);
}
@media (min-width: 768px) {
.funkciok-header {
padding: var(--spacing-section-tablet) var(--container-padding-tablet) 0;
}
}
@media (min-width: 1200px) {
.funkciok-header {
padding: var(--spacing-section-desktop) var(--container-padding-desktop) 0;
}
}
.funkciok-header__container {
max-width: var(--container-max-width);
margin: 0 auto;
display: flex;
flex-direction: column;
gap: var(--spacing-md);
align-items: flex-start;
}
.funkciok-header__title {
font-size: var(--fs-h1);
line-height: var(--lh-h1);
font-weight: var(--fw-black);
color: var(--color-text);
letter-spacing: -0.02em;
margin: 0;
}
.funkciok-header__subtitle {
font-size: var(--fs-body-lg);
line-height: var(--lh-body-lg);
font-weight: var(--fw-medium);
color: var(--color-text-muted);
margin: 0;
max-width: 60ch;
} .funkciok-toc {
margin-top: var(--spacing-sm);
width: 100%;
display: flex;
flex-wrap: wrap;
gap: 8px 16px;
padding: 16px;
border-top: 1px solid var(--color-border);
border-bottom: 1px solid var(--color-border);
}
@media (min-width: 768px) {
.funkciok-toc {
gap: 8px 24px;
padding: 18px 0;
}
}
.funkciok-toc__label {
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-bold);
color: var(--color-text-muted);
letter-spacing: 0.04em;
text-transform: uppercase;
margin-right: 8px;
align-self: center;
}
.funkciok-toc__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 4px 16px;
}
@media (min-width: 768px) {
.funkciok-toc__list {
gap: 4px 24px;
}
}
.funkciok-toc__item {
display: inline-flex;
align-items: center;
}
.funkciok-toc__item + .funkciok-toc__item::before {
content: "·";
color: var(--color-border);
margin-right: 16px;
font-weight: var(--fw-bold);
}
@media (min-width: 768px) {
.funkciok-toc__item + .funkciok-toc__item::before {
margin-right: 24px;
}
}
.funkciok-toc__link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
font-weight: var(--fw-bold);
color: var(--color-text);
text-decoration: none;
transition: color var(--transition-base);
}
.funkciok-toc__link:hover,
.funkciok-toc__link:focus-visible {
color: var(--color-primary);
}
.funkciok-toc__link:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 4px;
border-radius: 4px;
}.funkciok-value-block {
padding: var(--spacing-section-mobile) var(--container-padding-mobile);
background-color: var(--color-background);
}
@media (min-width: 768px) {
.funkciok-value-block {
padding: var(--spacing-section-tablet) var(--container-padding-tablet);
}
}
@media (min-width: 1200px) {
.funkciok-value-block {
padding: var(--spacing-section-desktop) var(--container-padding-desktop);
}
}
.funkciok-value-block--alt {
background-color: var(--color-background-alt);
}
.funkciok-value-block__container {
max-width: var(--container-max-width);
margin: 0 auto;
scroll-margin-top: 96px;
} .funkciok-value-block__header {
display: flex;
flex-direction: column;
gap: var(--spacing-sm);
margin: 0 0 var(--spacing-xl);
max-width: 720px;
}
@media (min-width: 1200px) {
.funkciok-value-block__header {
margin-bottom: var(--spacing-2xl);
}
}
.funkciok-value-block__title {
font-size: var(--fs-h2);
line-height: var(--lh-h2);
font-weight: var(--fw-black);
color: var(--color-text);
letter-spacing: -0.02em;
margin: 0;
}
.funkciok-value-block__lead {
font-size: var(--fs-body-lg);
line-height: var(--lh-body-lg);
font-weight: var(--fw-medium);
color: var(--color-text-muted);
margin: 0;
} .funkciok-feature-grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: 1fr;
gap: 16px;
}
@media (min-width: 768px) {
.funkciok-feature-grid {
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
}
@media (min-width: 1200px) {
.funkciok-feature-grid {
gap: 24px;
}
} .funkciok-feature-card {
background-color: var(--color-card-bg);
border: 1px solid var(--color-border);
border-radius: var(--radius-panel);
padding: 20px;
display: flex;
flex-direction: column;
gap: 10px;
transition: border-color var(--transition-base), box-shadow var(--transition-base);
}
@media (min-width: 1200px) {
.funkciok-feature-card {
padding: 24px;
}
}
.funkciok-feature-card:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-card-hover);
} .funkciok-value-block--alt .funkciok-feature-card {
border-color: var(--color-border);
}
.funkciok-feature-card__head {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px;
}
.funkciok-feature-card__title {
font-size: var(--fs-h6);
line-height: var(--lh-h6);
font-weight: var(--fw-bold);
color: var(--color-text);
margin: 0;
}
.funkciok-feature-card__desc {
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
font-weight: var(--fw-medium);
color: var(--color-text-muted);
margin: 0;
} .funkciok-value-block__subgroup {
scroll-margin-top: 96px;
}
.funkciok-value-block__subgroup + .funkciok-value-block__subgroup {
margin-top: var(--spacing-xl);
padding-top: var(--spacing-xl);
border-top: 1px solid var(--color-border);
}
@media (min-width: 1200px) {
.funkciok-value-block__subgroup + .funkciok-value-block__subgroup {
margin-top: var(--spacing-2xl);
padding-top: var(--spacing-2xl);
}
}
.funkciok-value-block__subtitle {
font-size: var(--fs-h4);
line-height: var(--lh-h4);
font-weight: var(--fw-bold);
color: var(--color-text);
margin: 0 0 var(--spacing-md);
letter-spacing: -0.01em;
} .funkciok-value-block__note {
margin: var(--spacing-xl) 0 0;
padding-top: var(--spacing-md);
border-top: 1px solid var(--color-border);
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-medium);
color: var(--color-text-muted);
text-align: center;
}
@media (min-width: 1200px) {
.funkciok-value-block__note {
margin-top: var(--spacing-2xl);
}
}.funkciok-package-table {
padding: var(--spacing-section-mobile) var(--container-padding-mobile);
background-color: var(--color-background);
}
@media (min-width: 768px) {
.funkciok-package-table {
padding: var(--spacing-section-tablet) var(--container-padding-tablet);
}
}
@media (min-width: 1200px) {
.funkciok-package-table {
padding: var(--spacing-section-desktop) var(--container-padding-desktop);
}
}
.funkciok-package-table__container {
max-width: var(--container-max-width);
margin: 0 auto;
scroll-margin-top: 96px;
} .funkciok-package-table__header {
display: flex;
flex-direction: column;
gap: var(--spacing-sm);
margin: 0 0 var(--spacing-xl);
max-width: 720px;
}
@media (min-width: 1200px) {
.funkciok-package-table__header {
margin-bottom: var(--spacing-2xl);
}
}
.funkciok-package-table__title {
font-size: var(--fs-h2);
line-height: var(--lh-h2);
font-weight: var(--fw-black);
color: var(--color-text);
letter-spacing: -0.02em;
margin: 0;
}
.funkciok-package-table__subtitle {
font-size: var(--fs-body-lg);
line-height: var(--lh-body-lg);
font-weight: var(--fw-medium);
color: var(--color-text-muted);
margin: 0;
}
.funkciok-package-table__subtitle a {
color: var(--color-primary);
text-decoration: none;
transition: color var(--transition-base);
}
.funkciok-package-table__subtitle a:hover {
color: var(--color-primary-dark);
text-decoration: underline;
} .funkciok-package-table__panel {
background-color: var(--color-card-bg);
border: 1px solid var(--color-border);
border-radius: var(--radius-panel);
overflow: hidden;
}
.funkciok-package-table__table {
width: 100%;
border-collapse: collapse;
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
} @media (min-width: 768px) {
.funkciok-package-table__row {
display: table-row;
}
.funkciok-package-table__th,
.funkciok-package-table__td {
padding: 16px 20px;
vertical-align: middle;
border-bottom: 1px solid var(--color-border);
text-align: left;
}
.funkciok-package-table__row:last-child .funkciok-package-table__td {
border-bottom: none;
}
.funkciok-package-table__head .funkciok-package-table__th {
background-color: var(--color-background-alt);
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-bold);
color: var(--color-text-muted);
text-transform: uppercase;
letter-spacing: 0.04em;
}
.funkciok-package-table__th--col,
.funkciok-package-table__td--col {
text-align: center;
width: 18%;
}
.funkciok-package-table__td--key {
font-weight: var(--fw-bold);
color: var(--color-text);
}
.funkciok-package-table__td--col {
color: var(--color-text);
}
.funkciok-package-table__row--featured .funkciok-package-table__td {
background-color: var(--color-primary-light);
}
.funkciok-package-table__td--empty {
color: var(--color-text-muted);
}
}
@media (min-width: 1200px) {
.funkciok-package-table__th,
.funkciok-package-table__td {
padding: 20px 24px;
}
} @media (max-width: 767px) {
.funkciok-package-table__table,
.funkciok-package-table__head,
.funkciok-package-table__body,
.funkciok-package-table__row,
.funkciok-package-table__th,
.funkciok-package-table__td {
display: block;
width: 100%;
}
.funkciok-package-table__head {
position: absolute;
left: -9999px;
top: -9999px;
}
.funkciok-package-table__row {
padding: 16px 20px;
border-bottom: 1px solid var(--color-border);
}
.funkciok-package-table__row:last-child {
border-bottom: none;
}
.funkciok-package-table__td {
padding: 4px 0;
border: none;
}
.funkciok-package-table__td--key {
font-size: var(--fs-h6);
line-height: var(--lh-h6);
font-weight: var(--fw-bold);
color: var(--color-text);
margin-bottom: 8px;
}
.funkciok-package-table__td--col {
display: flex;
align-items: baseline;
gap: 12px;
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
color: var(--color-text);
}
.funkciok-package-table__td--col::before {
content: attr(data-label);
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-bold);
color: var(--color-text-muted);
text-transform: uppercase;
letter-spacing: 0.04em;
min-width: 80px;
flex-shrink: 0;
}
.funkciok-package-table__row--featured {
background-color: var(--color-primary-light);
border-radius: var(--radius-small);
margin: 4px;
}
} .funkciok-package-table__footnote {
margin: var(--spacing-lg) auto 0;
max-width: 760px;
text-align: center;
font-size: var(--fs-body-sm);
line-height: var(--lh-body-md);
color: var(--color-text-muted);
} .funkciok-package-table__cta {
margin-top: var(--spacing-xl);
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: center;
}
@media (min-width: 1200px) {
.funkciok-package-table__cta {
margin-top: var(--spacing-2xl);
}
}.subpage-cta {
padding: 0 var(--container-padding-mobile) var(--spacing-section-mobile);
background-color: var(--color-background);
}
@media (min-width: 768px) {
.subpage-cta {
padding: 0 var(--container-padding-tablet) var(--spacing-section-tablet);
}
}
@media (min-width: 1200px) {
.subpage-cta {
padding: 0 var(--container-padding-desktop) var(--spacing-section-desktop);
}
}
.subpage-cta__container {
max-width: var(--container-max-width);
margin: 0 auto;
} .subpage-cta__banner {
position: relative;
border-radius: var(--radius-panel-lg);
overflow: hidden;
display: grid;
grid-template-columns: 1fr;
min-height: 320px;
}
@media (min-width: 992px) {
.subpage-cta__banner {
grid-template-columns: 1.15fr 1fr;
min-height: 380px;
}
} .subpage-cta__content {
padding: 40px 28px;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20px;
}
@media (min-width: 768px) {
.subpage-cta__content {
padding: 48px 40px;
}
}
@media (min-width: 1200px) {
.subpage-cta__content {
padding: 64px;
gap: 24px;
}
}
.subpage-cta__title {
font-size: var(--fs-h2);
line-height: var(--lh-h2);
font-weight: var(--fw-black);
letter-spacing: -0.02em;
margin: 0;
max-width: 16ch;
}
.subpage-cta__subtitle {
font-size: var(--fs-body-lg);
line-height: var(--lh-body-lg);
font-weight: var(--fw-medium);
margin: 0;
max-width: 44ch;
}
.subpage-cta__bullets {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px;
}
.subpage-cta__bullet {
display: flex;
align-items: center;
gap: 12px;
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
font-weight: var(--fw-medium);
color: rgba(255, 255, 255, 0.95);
}
.subpage-cta__check {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.18);
color: #ffffff;
font-size: 12px;
}
.subpage-cta__cta-row {
margin-top: 8px;
display: flex;
flex-wrap: wrap;
gap: 12px;
} .subpage-cta__cta {
background-color: var(--color-text);
color: #ffffff;
padding: 14px 24px;
border-radius: var(--radius-button);
font-size: var(--fs-body-md);
line-height: 1;
font-weight: var(--fw-bold);
display: inline-flex;
align-items: center;
gap: 10px;
text-decoration: none;
border: 1px solid var(--color-text);
transition: transform var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base);
} .subpage-cta__cta::before {
background: #ffffff;
}
.subpage-cta__cta:hover {
color: #0D84FC;
border-color: #ffffff;
transform: translateY(-1px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}
.subpage-cta__cta:focus-visible {
outline: 2px solid #ffffff;
outline-offset: 3px;
}
.subpage-cta__cta i {
font-size: 14px;
} .subpage-cta__cta--secondary {
background-color: transparent;
color: #ffffff;
border-color: rgba(255, 255, 255, 0.6);
}
.subpage-cta__cta--secondary:hover {
color: #0D84FC;
border-color: #071430;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
} .subpage-cta__visual {
position: relative;
display: flex;
align-items: stretch;
justify-content: center;
min-height: 240px;
overflow: hidden;
}
@media (min-width: 992px) {
.subpage-cta__visual {
min-height: auto;
}
}
.subpage-cta__visual-image {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}.contact {
background-color: var(--color-primary);
color: #ffffff;
padding: var(--spacing-section-mobile) var(--container-padding-mobile);
border-top-left-radius: var(--radius-panel-lg);
border-top-right-radius: var(--radius-panel-lg);
position: relative;
}
@media (min-width: 768px) {
.contact {
padding: var(--spacing-section-tablet) var(--container-padding-tablet);
}
}
@media (min-width: 1200px) {
.contact {
padding: var(--spacing-section-desktop) var(--container-padding-desktop);
}
}
.contact__container {
max-width: var(--container-max-width);
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 40px;
}
@media (min-width: 992px) {
.contact__container {
grid-template-columns: 0.85fr 1fr;
gap: 64px;
align-items: start;
}
}
@media (min-width: 1200px) {
.contact__container {
gap: 80px;
}
} .contact__left {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20px;
} .contact__eyebrow {
background-color: rgba(255, 255, 255, 0.15);
color: rgba(255, 255, 255, 0.95);
}
.contact__title {
font-size: var(--fs-h1);
line-height: var(--lh-h1);
font-weight: var(--fw-black);
color: #ffffff;
letter-spacing: -0.02em;
margin: 0;
}
@media (min-width: 1200px) {
.contact__title {
font-size: 56px;
line-height: 1.05;
}
}
.contact__subtitle {
font-size: var(--fs-body-lg);
line-height: var(--lh-body-lg);
font-weight: var(--fw-medium);
color: rgba(255, 255, 255, 0.88);
margin: 0;
max-width: 40ch;
} .contact__person {
display: flex;
align-items: center;
gap: 16px;
margin-top: 8px;
}
.contact__person-avatar {
display: inline-flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.18);
color: #ffffff;
font-size: 22px;
flex-shrink: 0;
border: 2px solid rgba(255, 255, 255, 0.25);
overflow: hidden; } .contact__person-avatar--photo {
background-color: transparent;
padding: 0;
}
.contact__person-avatar-image {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.contact__person-meta {
display: flex;
flex-direction: column;
gap: 2px;
}
.contact__person-name {
font-size: var(--fs-body-md);
line-height: 1.3;
font-weight: var(--fw-medium);
color: rgba(255, 255, 255, 0.9);
}
.contact__person-role {
font-size: var(--fs-body-md);
line-height: 1.3;
font-weight: var(--fw-bold);
color: #ffffff;
} .contact__email-box {
display: flex;
align-items: center;
gap: 16px;
padding: 20px 22px;
background-color: rgba(255, 255, 255, 0.12);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: var(--radius-panel);
text-decoration: none;
width: 100%;
max-width: 420px;
margin-top: 8px;
transition: background-color var(--transition-base), transform var(--transition-base);
}
.contact__email-box:hover {
background-color: rgba(255, 255, 255, 0.18);
transform: translateY(-1px);
}
.contact__email-box:focus-visible {
outline: 2px solid #ffffff;
outline-offset: 3px;
}
.contact__email-bubble {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
background-color: #ffffff;
color: var(--color-primary);
font-size: 20px;
flex-shrink: 0;
}
.contact__email-meta {
display: flex;
flex-direction: column;
gap: 2px;
}
.contact__email-label {
font-size: var(--fs-body-sm);
line-height: 1.3;
font-weight: var(--fw-medium);
color: rgba(255, 255, 255, 0.85);
}
.contact__email-address {
font-size: var(--fs-body-md);
line-height: 1.3;
font-weight: var(--fw-bold);
color: #ffffff;
} .contact__right {
display: flex;
flex-direction: column;
gap: 20px;
} .contact__demo {
background-color: #ffffff;
color: var(--color-text);
border-radius: var(--radius-panel);
padding: 28px;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
}
@media (min-width: 768px) {
.contact__demo {
padding: 32px;
}
}
.contact__demo-title {
font-size: var(--fs-h4);
line-height: var(--lh-h4);
font-weight: var(--fw-bold);
color: var(--color-text);
margin: 0;
}
.contact__demo-text {
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
font-weight: var(--fw-medium);
color: var(--color-text-muted);
margin: 0;
}
.contact__demo-cta {
margin-top: 4px;
} .contact__demo-cta-row {
margin-top: 4px;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.contact__demo-cta-row .contact__demo-cta {
margin-top: 0;
}  .contact__form-wrap,
.contact__form,
.wpcf7-form.contact__form {
background-color: var(--color-text);
color: #ffffff;
border-radius: var(--radius-panel);
padding: 28px;
display: flex;
flex-direction: column;
gap: 20px;
position: relative;
}
@media (min-width: 768px) {
.contact__form-wrap,
.contact__form,
.wpcf7-form.contact__form {
padding: 32px;
}
} .contact__form-wrap .wpcf7,
.contact__form-wrap .wpcf7-form,
.contact__form-wrap .wpcf7-form.contact__form {
background: transparent;
padding: 0;
border-radius: 0;
margin: 0;
}
.contact__form-wrap .wpcf7-form {
display: flex;
flex-direction: column;
gap: 20px;
}
.contact__form-fallback {
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
color: rgba(255, 255, 255, 0.75);
margin: 0;
padding: 16px;
background-color: rgba(255, 255, 255, 0.06);
border: 1px dashed rgba(255, 255, 255, 0.2);
border-radius: var(--radius-input);
}
.contact__form-fallback strong {
color: #ffffff;
font-weight: var(--fw-bold);
}
.contact__form-title {
font-size: var(--fs-h4);
line-height: var(--lh-h4);
font-weight: var(--fw-bold);
color: #ffffff;
margin: 0;
}
.contact__form-grid {
display: grid;
grid-template-columns: 1fr;
gap: 16px;
}
@media (min-width: 600px) {
.contact__form-grid {
grid-template-columns: 1fr 1fr;
}
.contact__field--full {
grid-column: 1 / -1;
}
}
.contact__field {
display: flex;
flex-direction: column;
gap: 6px;
}
.contact__label {
font-size: var(--fs-body-sm);
line-height: 1.3;
font-weight: var(--fw-medium);
color: rgba(255, 255, 255, 0.85);
} .contact__field .wpcf7-form-control-wrap {
display: block;
width: 100%;
}
.contact__input,
.contact__select,
.contact__textarea {
width: 100%;
padding: 12px 16px;
background-color: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: var(--radius-input);
color: #ffffff;
font-size: var(--fs-body-md);
line-height: var(--lh-body-md);
font-weight: var(--fw-medium);
font-family: inherit;
transition: border-color var(--transition-base), background-color var(--transition-base), box-shadow var(--transition-base);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.contact__textarea {
resize: vertical;
min-height: 120px;
} .contact__select {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/></svg>");
background-repeat: no-repeat;
background-position: right 16px center;
background-size: 12px 8px;
padding-right: 44px;
cursor: pointer;
}
.contact__select option {
background-color: var(--color-text);
color: #ffffff;
}
.contact__input::placeholder,
.contact__textarea::placeholder {
color: rgba(255, 255, 255, 0.45);
}
.contact__input:hover,
.contact__select:hover,
.contact__textarea:hover {
border-color: rgba(255, 255, 255, 0.28);
}
.contact__input:focus,
.contact__select:focus,
.contact__textarea:focus {
outline: none;
border-color: var(--color-primary);
background-color: rgba(255, 255, 255, 0.12);
box-shadow: 0 0 0 3px rgba(13, 132, 252, 0.25);
} .contact__field--gdpr {
flex-direction: column;
gap: 8px;
}
.contact__field--gdpr .wpcf7-form-control.wpcf7-acceptance,
.contact__field--gdpr .wpcf7-list-item {
margin: 0;
padding: 0;
display: block;
}
.contact__field--gdpr .wpcf7-list-item label {
display: flex;
align-items: flex-start;
gap: 12px;
cursor: pointer;
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
color: rgba(255, 255, 255, 0.85);
font-weight: var(--fw-medium);
}
.contact__field--gdpr input[type="checkbox"] {
flex-shrink: 0;
width: 20px;
height: 20px;
margin: 2px 0 0 0;
border: 1.5px solid rgba(255, 255, 255, 0.4);
border-radius: 4px;
background-color: rgba(255, 255, 255, 0.08);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
cursor: pointer;
transition: background-color var(--transition-base), border-color var(--transition-base);
position: relative;
}
.contact__field--gdpr input[type="checkbox"]:hover {
border-color: rgba(255, 255, 255, 0.6);
}
.contact__field--gdpr input[type="checkbox"]:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.contact__field--gdpr input[type="checkbox"]:checked {
background-color: var(--color-primary);
border-color: var(--color-primary);
}
.contact__field--gdpr input[type="checkbox"]:checked::after {
content: "";
position: absolute;
top: 2px;
left: 6px;
width: 5px;
height: 10px;
border: solid #ffffff;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.contact__field--gdpr a {
color: #ffffff;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
}
.contact__field--gdpr a:hover {
color: var(--color-primary);
} .contact__submit {
background-color: var(--color-primary);
color: #ffffff;
padding: 16px 24px;
border: none;
border-radius: var(--radius-button);
font-size: var(--fs-body-md);
line-height: 1;
font-weight: var(--fw-bold);
font-family: inherit;
cursor: pointer;
width: 100%;
position: relative;
overflow: hidden;
isolation: isolate;
transition: color var(--transition-base), transform var(--transition-base);
}
.contact__submit::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 250%;
aspect-ratio: 1 / 1;
border-radius: 50%;
background: #ffffff;
transform: translate(-50%, 50%) scale(0);
transform-origin: 50% 50%;
transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none;
z-index: -1;
}
.contact__submit:hover::before {
transform: translate(-50%, 50%) scale(1);
}
.contact__submit:hover {
color: #0D84FC;
transform: translateY(-1px);
}
.contact__submit:focus-visible {
outline: 2px solid #ffffff;
outline-offset: 3px;
} .contact.is-submitting .contact__submit {
opacity: 0.7;
cursor: progress;
transform: none;
}
.contact.is-submitting .contact__submit:hover {
transform: none;
}
.contact.is-submitting .contact__submit:hover::before {
transform: translate(-50%, 50%) scale(0);
}  .contact .wpcf7-spinner {
display: inline-block;
width: 20px;
height: 20px;
margin: 0 0 0 12px;
vertical-align: middle;
background: none;
border: 2px solid rgba(255, 255, 255, 0.35);
border-top-color: #ffffff;
border-radius: 50%;
opacity: 0;
visibility: hidden;
animation: contact-spin 0.7s linear infinite;
animation-play-state: paused;
}
.contact .wpcf7-form.submitting .wpcf7-spinner,
.contact.is-submitting .wpcf7-spinner {
opacity: 1;
visibility: visible;
animation-play-state: running;
}
@keyframes contact-spin {
to {
transform: rotate(360deg);
}
} .contact .wpcf7-form > p:has(.contact__submit) {
margin: 0;
display: flex;
align-items: center;
gap: 4px;
} .contact__form-wrap .wpcf7-not-valid {
border-color: var(--color-error) !important;
box-shadow: 0 0 0 2px rgba(225, 29, 72, 0.18);
}
.contact__form-wrap .wpcf7-not-valid:focus {
box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.3);
}
.contact__form-wrap .wpcf7-not-valid-tip {
display: block;
margin-top: 6px;
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-medium);
color: var(--color-error);
}
.contact__form-wrap .wpcf7-list-item.wpcf7-not-valid label {
color: var(--color-error);
}
.contact__form-wrap .wpcf7-list-item.wpcf7-not-valid input[type="checkbox"] {
border-color: var(--color-error);
box-shadow: 0 0 0 2px rgba(225, 29, 72, 0.18);
} .contact__form-wrap .wpcf7-response-output {
margin: 16px 0 0;
padding: 12px 16px;
border-radius: var(--radius-input);
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-medium);
border: 1px solid transparent;
}
.contact__form-wrap .wpcf7 form.invalid .wpcf7-response-output,
.contact__form-wrap .wpcf7 form.unaccepted .wpcf7-response-output,
.contact__form-wrap .wpcf7 form.failed .wpcf7-response-output,
.contact__form-wrap .wpcf7 form.aborted .wpcf7-response-output,
.contact__form-wrap .wpcf7 form.spam .wpcf7-response-output {
color: #ffffff;
background-color: var(--color-error-bg);
border-color: var(--color-error);
}
.contact__form-wrap .wpcf7 form.sent .wpcf7-response-output {
color: #ffffff;
background-color: rgba(13, 132, 252, 0.18);
border-color: var(--color-primary);
} .contact__toast {
position: absolute;
right: 16px;
bottom: 16px;
max-width: 360px;
padding: 14px 18px;
border-radius: var(--radius-input);
background-color: var(--color-error);
color: #ffffff;
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
font-weight: var(--fw-medium);
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
opacity: 0;
transform: translateY(8px);
pointer-events: none;
transition: opacity var(--transition-base), transform var(--transition-base);
z-index: 10;
}
.contact__toast.is-visible {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
@media (max-width: 599px) {
.contact__toast {
left: 16px;
right: 16px;
max-width: none;
}
} .contact__honeypot {
position: absolute;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
}html.anim-ready [data-reveal]:not([data-reveal="group"]) {
opacity: 0;
} html.anim-ready [data-reveal="group"] > * {
opacity: 0;
} html.anim-ready .hero__content > * {
opacity: 0;
animation: esti-rise 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
html.anim-ready .hero__content > *:nth-child(2) { animation-delay: 0.09s; }
html.anim-ready .hero__content > *:nth-child(3) { animation-delay: 0.18s; }
html.anim-ready .hero__content > *:nth-child(4) { animation-delay: 0.27s; } html.anim-ready .hero__visual {
opacity: 0;
animation: esti-fade 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) both;
animation-delay: 0.1s;
}
@keyframes esti-rise {
from { opacity: 0; transform: translateY(24px); }
to   { opacity: 1; transform: none; }
}
@keyframes esti-fade {
from { opacity: 0; }
to   { opacity: 1; }
} html.anim-ready [data-entrance]:not([data-entrance="group"]) {
opacity: 0;
animation: esti-rise 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
html.anim-ready [data-entrance="group"] > * {
opacity: 0;
animation: esti-rise 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
html.anim-ready [data-entrance="group"] > *:nth-child(2) { animation-delay: 0.08s; }
html.anim-ready [data-entrance="group"] > *:nth-child(3) { animation-delay: 0.16s; }
html.anim-ready [data-entrance="group"] > *:nth-child(4) { animation-delay: 0.24s; }
html.anim-ready [data-entrance="group"] > *:nth-child(5) { animation-delay: 0.32s; }
html.anim-ready [data-entrance="group"] > *:nth-child(6) { animation-delay: 0.40s; } @media (prefers-reduced-motion: reduce) {
[data-reveal]:not([data-reveal="group"]),
[data-reveal="group"] > *,
[data-entrance]:not([data-entrance="group"]),
[data-entrance="group"] > *,
.hero__content > *,
.hero__visual {
opacity: 1 !important;
transform: none !important;
animation: none !important;
}
}.cookie-consent {
position: fixed;
left: 16px;
right: 16px;
bottom: 16px;
z-index: 9998;
background-color: var(--color-card-bg);
color: var(--color-text);
border: 1px solid var(--color-border);
border-radius: var(--radius-panel);
box-shadow: 0 12px 40px rgba(7, 20, 48, 0.18);
padding: 20px;
transform: translateY(20px);
opacity: 0;
transition: opacity 0.25s ease, transform 0.25s ease;
}
.cookie-consent[hidden] {
display: none !important;
}
.cookie-consent.is-visible {
opacity: 1;
transform: translateY(0);
}
.cookie-consent__container {
display: flex;
flex-direction: column;
gap: 16px;
max-width: var(--container-max-width);
margin: 0 auto;
}
.cookie-consent__copy {
display: flex;
flex-direction: column;
gap: 6px;
}
.cookie-consent__title {
display: flex;
align-items: center;
gap: 10px;
font-family: var(--font-heading);
font-size: var(--fs-body-lg);
font-weight: var(--fw-bold);
color: var(--color-text);
margin: 0;
}
.cookie-consent__title i {
color: var(--color-primary);
font-size: 20px;
}
.cookie-consent__text {
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
color: var(--color-text-muted);
margin: 0;
}
.cookie-consent__policy-link {
color: var(--color-primary);
text-decoration: underline;
text-underline-offset: 2px;
font-weight: var(--fw-bold);
margin-left: 4px;
}
.cookie-consent__policy-link:hover {
color: var(--color-primary-dark);
}
.cookie-consent__actions {
display: flex;
flex-direction: column;
gap: 8px;
}
.cookie-consent__btn {
width: 100%;
justify-content: center;
} @media (min-width: 768px) {
.cookie-consent {
left: 24px;
right: 24px;
bottom: 24px;
padding: 24px 28px;
}
.cookie-consent__container {
flex-direction: row;
align-items: center;
gap: 32px;
}
.cookie-consent__copy {
flex: 1 1 auto;
}
.cookie-consent__actions {
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-end;
flex-shrink: 0;
}
.cookie-consent__btn {
width: auto;
}
}
@media (min-width: 1200px) {
.cookie-consent {
left: 40px;
right: 40px;
}
} .cookie-fab {
position: fixed;
left: 16px;
bottom: 16px;
z-index: 9997;
width: 48px;
height: 48px;
border-radius: var(--radius-icon-bubble);
background-color: var(--color-primary-light);
color: var(--color-primary);
border: 1px solid var(--color-primary-light);
box-shadow: 0 6px 20px rgba(13, 132, 252, 0.18);
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 20px;
transition:
transform var(--transition-base),
box-shadow var(--transition-base),
background-color var(--transition-base);
}
.cookie-fab[hidden] {
display: none !important;
}
.cookie-fab:hover {
transform: translateY(-2px);
background-color: #d4e7fb;
box-shadow: 0 10px 28px rgba(13, 132, 252, 0.28);
}
.cookie-fab:active {
transform: translateY(0);
}
.cookie-fab:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 3px;
}
@media (min-width: 768px) {
.cookie-fab {
left: 24px;
bottom: 24px;
width: 52px;
height: 52px;
font-size: 22px;
}
}
@media (min-width: 1200px) {
.cookie-fab {
left: 40px;
}
} .cookie-modal {
position: fixed;
inset: 0;
z-index: 9999;
display: flex;
align-items: flex-end;
justify-content: center;
padding: 0;
}
.cookie-modal[hidden] {
display: none !important;
}
.cookie-modal__backdrop {
position: absolute;
inset: 0;
background-color: rgba(7, 20, 48, 0.6);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
}
.cookie-modal__panel {
position: relative;
z-index: 1;
background-color: var(--color-card-bg);
border-radius: var(--radius-panel) var(--radius-panel) 0 0;
box-shadow: 0 -8px 32px rgba(7, 20, 48, 0.2);
width: 100%;
max-width: 640px;
max-height: 90vh;
display: flex;
flex-direction: column;
overflow: hidden;
}
.cookie-modal__header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 20px 24px;
border-bottom: 1px solid var(--color-border);
}
.cookie-modal__title {
font-family: var(--font-heading);
font-size: var(--fs-h5);
line-height: var(--lh-h5);
font-weight: var(--fw-black);
color: var(--color-text);
margin: 0;
}
.cookie-modal__close {
width: 36px;
height: 36px;
border-radius: var(--radius-icon-bubble);
background: transparent;
border: 1px solid var(--color-border);
color: var(--color-text);
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 16px;
transition: background-color var(--transition-base), border-color var(--transition-base);
}
.cookie-modal__close:hover {
background-color: var(--color-background-alt);
border-color: var(--color-text-muted);
}
.cookie-modal__close:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.cookie-modal__body {
padding: 20px 24px;
overflow-y: auto;
}
.cookie-modal__intro {
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
color: var(--color-text-muted);
margin: 0 0 16px;
}
.cookie-modal__categories {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 12px;
}
.cookie-modal__footer {
display: flex;
flex-direction: column;
gap: 8px;
padding: 16px 24px 20px;
border-top: 1px solid var(--color-border);
background-color: var(--color-background-alt);
}
.cookie-modal__footer .btn {
width: 100%;
justify-content: center;
} @media (min-width: 768px) {
.cookie-modal {
align-items: center;
padding: 24px;
}
.cookie-modal__panel {
border-radius: var(--radius-panel);
max-height: 80vh;
}
.cookie-modal__footer {
flex-direction: row;
justify-content: flex-end;
flex-wrap: wrap;
}
.cookie-modal__footer .btn {
width: auto;
}
} .cookie-category {
background-color: var(--color-background-alt);
border: 1px solid var(--color-border);
border-radius: var(--radius-input);
padding: 14px 16px;
}
.cookie-category__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 6px;
}
.cookie-category__title {
font-family: var(--font-heading);
font-size: var(--fs-body-md);
font-weight: var(--fw-bold);
color: var(--color-text);
}
.cookie-category__desc {
font-size: var(--fs-body-sm);
line-height: var(--lh-body-sm);
color: var(--color-text-muted);
margin: 0;
} .cookie-category__toggle {
display: inline-flex;
align-items: center;
gap: 8px;
cursor: pointer;
user-select: none;
}
.cookie-category__toggle-input {
position: absolute;
opacity: 0;
width: 1px;
height: 1px;
pointer-events: none;
}
.cookie-category__toggle-track {
position: relative;
display: inline-block;
width: 40px;
height: 22px;
border-radius: 999px;
background-color: var(--color-border);
transition: background-color var(--transition-base);
}
.cookie-category__toggle-thumb {
position: absolute;
top: 2px;
left: 2px;
width: 18px;
height: 18px;
border-radius: 50%;
background-color: #ffffff;
box-shadow: 0 1px 3px rgba(7, 20, 48, 0.2);
transition: transform var(--transition-base);
}
.cookie-category__toggle-input:checked + .cookie-category__toggle-track {
background-color: var(--color-primary);
}
.cookie-category__toggle-input:checked + .cookie-category__toggle-track .cookie-category__toggle-thumb {
transform: translateX(18px);
}
.cookie-category__toggle-input:focus-visible + .cookie-category__toggle-track {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
} .cookie-category__toggle--locked {
cursor: not-allowed;
opacity: 0.85;
}
.cookie-category__toggle--locked .cookie-category__toggle-track {
background-color: var(--color-primary);
}
.cookie-category__toggle--locked .cookie-category__toggle-thumb {
transform: translateX(18px);
}
.cookie-category__toggle-label {
font-size: var(--fs-body-sm);
color: var(--color-text-muted);
} .cookie-modal .screen-reader-text,
.cookie-consent .screen-reader-text {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}