/* ==========================================================================
   SGEN IT – theme styles
   Brand: Digital Blue #3F62AE · Signal Orange #F57F20 · Deep Tech Navy #06162B · Cloud White #E9ECF0 · Onest
   ========================================================================== */

:root {
	--sg-orange: #F57F20;
	--sg-orange-dark: #E06A10;
	--sg-blue: #3F62AE;
	--sg-sky: #0A84F3;
	--sg-navy: #06162B;
	--sg-ink: #0B1A3D;
	--sg-text: #40506F;
	--sg-muted: #5E6D8C;
	--sg-cloud: #E9ECF0;
	--sg-ice: #EEF3FB;
	--sg-footer: #08142C;
	--sg-radius: 12px;
	--sg-radius-lg: 22px;
	--sg-shadow: 0 10px 30px rgba(20, 40, 90, 0.08);
	--sg-shadow-hover: 0 18px 44px rgba(20, 40, 90, 0.16);
	--sg-container: 1280px;
	/* max page width = native width of the section backgrounds (most WebPs are 1716–1717 px wide, from the 1717 px design
	   exports), so they are never upscaled/blurred on large monitors; wider screens get a neutral frame */
	--sg-site-max: 1720px;
	--sg-page-w: min(100vw, var(--sg-site-max));
	--sg-header-h: 145px;
	--sg-ease: cubic-bezier(.2, .7, .2, 1);
	/* Type scale – one size per role on every page (values live in theme.json presets) */
	--sg-fs-h1: var(--wp--preset--font-size--huge);        /* 54 – HP hero + every page title */
	--sg-fs-h2: var(--wp--preset--font-size--xx-large);    /* 46 – every section heading */
	--sg-fs-h3: var(--wp--preset--font-size--x-large);     /* 28 – block headings (Napište nám, firma, podsekce) */
	--sg-fs-h4: var(--wp--preset--font-size--large);       /* 22 – card titles (produkty, osoby, sloupce) */
	--sg-fs-h5: 18px;                                       /* small card titles (dlaždice, články) */
	--sg-fs-lead-lg: clamp(19px, 1.55vw, 22px);             /* hero perex, podtitul statistik, perex kontaktu */
	--sg-fs-lead: var(--wp--preset--font-size--medium);    /* 20 – perex pod nadpisem sekce */
	--sg-fs-body: 17px;
	--sg-fs-small: 15px;
	--sg-fs-xs: 13px;
	--sg-fw-heading: 600;
	--sg-fw-light: 300;
	--sg-lh-body: 1.65;
	--sg-ico-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 5.5l6.5 6.5-6.5 6.5'/%3E%3C/svg%3E");
	--sg-ico-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8.5l7 7 7-7'/%3E%3C/svg%3E");
	--sg-ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E");
	--sg-ico-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3Cpath d='M15 2a7 7 0 0 1 7 7M15 6a3 3 0 0 1 3 3'/%3E%3C/svg%3E");
	--sg-ico-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M2 6.5A2.5 2.5 0 0 1 4.5 4h15A2.5 2.5 0 0 1 22 6.5v11a2.5 2.5 0 0 1-2.5 2.5h-15A2.5 2.5 0 0 1 2 17.5v-11zm2.2-.3 7.8 6.1 7.8-6.1H4.2z'/%3E%3C/svg%3E");
	--sg-ico-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath fill-rule='evenodd' d='M12 1.8a8 8 0 0 0-8 8c0 5.6 6.8 11.7 7.1 12a1.3 1.3 0 0 0 1.8 0c.3-.3 7.1-6.4 7.1-12a8 8 0 0 0-8-8zm0 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6z'/%3E%3C/svg%3E");
	--sg-ico-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5 4.5 5.5v6c0 4.8 3.2 8.6 7.5 10 4.3-1.4 7.5-5.2 7.5-10v-6L12 2.5z'/%3E%3Cpath d='M8.8 12l2.3 2.3 4.3-4.6'/%3E%3C/svg%3E");
	--sg-ico-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");
	--sg-ico-phone-solid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1l-2.2 2.2z'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: hidden; }
@media (min-width: 1721px) {
	body { background-color: var(--sg-cloud) !important; }
	.wp-site-blocks { max-width: var(--sg-site-max); margin-inline: auto; background: #fff; box-shadow: 0 0 60px rgba(6, 22, 43, .10); overflow-x: clip; }
}
::selection { background: rgba(245, 127, 32, .22); }
a { text-underline-offset: .18em; transition: color .2s var(--sg-ease); }
img { height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
:where(.sg-main) > * { margin-block-start: 0; }
.sg-main { position: relative; }
.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; }
strong, b { font-weight: 700; }
:is(h1, h2, h3, h4, h5, h6) strong, :is(h1, h2, h3, h4, h5, h6) b { font-weight: var(--sg-fw-heading); }
:focus-visible { outline: 2px solid var(--sg-orange); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { margin-top: 0; text-wrap: balance; }
p, li { text-wrap: pretty; }
p { margin: 0; }

/* Sections */
.sg-section { position: relative; padding-top: clamp(56px, 6.5vw, 96px); padding-bottom: clamp(56px, 6.5vw, 96px); background-repeat: no-repeat; background-size: cover; background-position: center; }
.sg-section > * { position: relative; z-index: 1; }
.wp-block-group.sg-section { margin-top: 0; margin-bottom: 0; }
.sg-content > .sg-section + .sg-section,
.sg-main > .sg-section + .sg-section { margin-block-start: 0; }
.sg-content > * + * { margin-block-start: 0; }
.sg-content > :not(.alignfull) { margin-block-start: 1.2em; }
.sg-content > :not(.alignfull):first-child { margin-block-start: clamp(40px, 5vw, 72px); }
.sg-content > :not(.alignfull):last-child { margin-block-end: clamp(40px, 5vw, 72px); }

/* Section backgrounds (block styles) */
.is-style-sg-bg-light { background-color: #E6ECF6; background-image: url(../img/bg/light-waves.webp); }
.is-style-sg-bg-light-about { background-color: #EEF2F9; background-image: url(../img/bg/light-about.webp); background-position: center bottom; }
.is-style-sg-bg-hero { background-color: #EDF2FA; background-image: url(../img/bg/hero-light.webp); background-position: center; }
.is-style-sg-bg-contact { background-color: #EEF3FA; background-image: url(../img/bg/contact-light.webp); }
.is-style-sg-bg-stats { background-color: #ECF2FA; background-image: url(../img/bg/stats-light.webp); }
.is-style-sg-bg-blog { background-color: #EEF3FA; background-image: linear-gradient(180deg, rgba(238, 243, 250, 0) calc(var(--sg-page-w) * 1.302 - 320px), #EEF3FA calc(var(--sg-page-w) * 1.302 - 4px)), url(../img/bg/blog.webp); background-size: 100% 100%, 100% auto; background-position: center top; }
.is-style-sg-bg-jobs { background-color: #EEF3FB; background-image: url(../img/bg/jobs.webp); background-position: center top; }
/* team hero: photo at page width (as in the PDF), fading into the section colour, so it stays behind the H1 area only */
.is-style-sg-bg-team-hero { background-color: #F3F6FB; background-image: linear-gradient(180deg, rgba(243, 246, 251, 0) 72%, #F3F6FB 100%), url(../img/bg/team-hero.webp); background-size: 100% calc(var(--sg-page-w) * .5207), 100% auto; background-position: center top, center top; }
.is-style-sg-bg-charity { background-color: #F3F6FB; background-image: url(../img/bg/charity.webp); background-position: right center; }
.is-style-sg-bg-vydejna-hero { background-color: #EEF3FA; background-image: url(../img/bg/vydejna-hero.webp); background-position: left center; }
.is-style-sg-bg-dark,
.is-style-sg-bg-dark-refs,
.is-style-sg-bg-dark-form,
.is-style-sg-bg-dark-contact,
.is-style-sg-bg-dark-trails,
.is-style-sg-bg-dark-alt,
.is-style-sg-bg-blue { color: rgba(255, 255, 255, .88); }
/* HP products: the design uses the lighter royal-blue waves (SGENIT WEB/HP/Produkty/waves-lighter.png), not Waves-Dark-produkty */
.is-style-sg-bg-dark { background-color: #012E70; background-image: url(../img/bg/products-light.webp); background-position: center top; }
.is-style-sg-bg-dark-refs { background-color: #0F2254; background-image: url(../img/bg/dark-references.webp); }
.is-style-sg-bg-dark-form { background-color: #0B1F42; background-image: url(../img/bg/dark-form.webp); }
/* /kontakt/: the design PDF shows the same form section as HP (Waves-Dark-formular); kontakt-formular.png's squares hit the text */
.is-style-sg-bg-dark-contact { background-color: #0B1F42; background-image: url(../img/bg/dark-form.webp); }
.is-style-sg-bg-dark-trails { background-color: #0A1D45; background-image: url(../img/bg/dark-trails.webp); }
.is-style-sg-bg-dark-alt { background-color: #0A1B42; background-image: url(../img/bg/dark-vydejna.webp); }
.is-style-sg-bg-blue { background-color: #1F5FC4; background-image: url(../img/bg/blue-arcs.webp); }
:is(.is-style-sg-bg-dark, .is-style-sg-bg-dark-refs, .is-style-sg-bg-dark-form, .is-style-sg-bg-dark-contact, .is-style-sg-bg-dark-trails, .is-style-sg-bg-dark-alt, .is-style-sg-bg-blue) :is(h1, h2, h3, h4, h5, h6) { color: #fff; }
:is(.is-style-sg-bg-dark, .is-style-sg-bg-dark-refs, .is-style-sg-bg-dark-form, .is-style-sg-bg-dark-contact, .is-style-sg-bg-dark-trails, .is-style-sg-bg-dark-alt, .is-style-sg-bg-blue) a:not(.wp-element-button) { color: #fff; }

/* Cards */
.is-style-sg-card { background: #fff; border-radius: var(--sg-radius); box-shadow: var(--sg-shadow); }
.is-style-sg-card-dark { background: linear-gradient(180deg, rgba(20, 45, 105, .35), rgba(10, 28, 72, .35)); border: 1px solid rgba(96, 146, 235, .42); border-radius: var(--sg-radius); }

/* ---------- Typography helpers ---------- */
/* Kicker = small orange caps above a section heading; eyebrow = blue tracked caps with an orange dash above a page title.
   Each has exactly one look on every page (no per-page overrides). */
.is-style-sg-kicker { color: var(--sg-orange); font-size: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3; margin: 0 0 14px; }
.is-style-sg-eyebrow { display: flex; align-items: center; gap: 18px; color: var(--sg-blue); font-size: var(--sg-fs-small); font-weight: 500; letter-spacing: .3em; text-transform: uppercase; line-height: 1.3; margin: 0 0 18px; }
.is-style-sg-eyebrow::before { content: ""; width: 34px; height: 3px; border-radius: 2px; background: var(--sg-orange); flex: none; }
.is-style-sg-eyebrow a { color: inherit; text-decoration: none; }
.has-text-align-center.is-style-sg-eyebrow { justify-content: center; }
.is-style-sg-lead { color: var(--sg-text); font-size: var(--sg-fs-lead-lg); font-weight: 500; line-height: 1.45; margin: 0 0 22px; }
.sg-section-lead { color: var(--sg-text); font-size: var(--sg-fs-lead); line-height: 1.55; max-width: 760px; margin: 24px auto 0 !important; }
:is(.is-style-sg-bg-dark, .is-style-sg-bg-dark-refs, .is-style-sg-bg-dark-form, .is-style-sg-bg-dark-contact, .is-style-sg-bg-dark-trails, .is-style-sg-bg-dark-alt, .is-style-sg-bg-blue) .sg-section-lead { color: #fff; }
:is(.is-style-sg-bg-dark, .is-style-sg-bg-dark-refs, .is-style-sg-bg-dark-form, .is-style-sg-bg-dark-contact, .is-style-sg-bg-dark-trails, .is-style-sg-bg-dark-alt, .is-style-sg-bg-blue) :is(.is-style-sg-eyebrow, .is-style-sg-lead) { color: rgba(255, 255, 255, .88); }
.is-style-sg-bar::after { content: ""; display: block; width: 46px; height: 3px; border-radius: 2px; background: var(--sg-orange); margin-top: .5em; }
.is-style-sg-bar.has-text-align-center::after { margin-left: auto; margin-right: auto; }
.sg-bar-top.is-style-sg-bar::after { display: none; }
.sg-bar-top.is-style-sg-bar::before { content: ""; display: block; width: 66px; height: 3px; border-radius: 2px; background: var(--sg-orange); margin: 0 auto .75em; }
.sg-head { margin-bottom: clamp(32px, 3.4vw, 48px); }
.sg-head.is-layout-flow > * { margin-block-start: 0; }
.sg-head--center { text-align: center; }
.sg-head h2 { font-size: var(--sg-fs-h2); margin: 0; }
.sg-head h1 { font-size: var(--sg-fs-h1); margin: 0; }
.sg-accent, .sg-sge { color: var(--sg-orange); }
.sg-page-title .sg-sge, .sg-hero-sge { color: var(--sg-blue); }
.sg-arrow-link a, a.sg-arrow-link { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; text-decoration: none; }
.sg-arrow-link a::after, a.sg-arrow-link::after { content: ""; width: 22px; height: 22px; flex: none; background: var(--sg-orange); -webkit-mask: var(--sg-ico-arrow) center / contain no-repeat; mask: var(--sg-ico-arrow) center / contain no-repeat; transition: transform .25s var(--sg-ease); }
.sg-arrow-link a:hover::after, a.sg-arrow-link:hover::after { transform: translateX(4px); }

/* Lists */
.is-style-sg-checks { list-style: none; padding-left: 0 !important; margin: 0; }
.is-style-sg-checks li { position: relative; padding-left: 32px; margin: 0 0 8px; }
.is-style-sg-checks li::before { content: ""; position: absolute; left: 0; top: .28em; width: 18px; height: 18px; background: var(--sg-orange); -webkit-mask: var(--sg-ico-check) center / contain no-repeat; mask: var(--sg-ico-check) center / contain no-repeat; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .2s var(--sg-ease), color .2s var(--sg-ease), box-shadow .2s var(--sg-ease), transform .2s var(--sg-ease); box-shadow: 0 8px 20px rgba(245, 127, 32, .22); }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(245, 127, 32, .3); }
.is-style-sg-arrow .wp-block-button__link,
.is-style-sg-caps .wp-block-button__link,
.is-style-sg-outline .wp-block-button__link { display: inline-flex; align-items: center; gap: 14px; }
.is-style-sg-arrow .wp-block-button__link::after,
.is-style-sg-caps .wp-block-button__link::after,
.is-style-sg-outline .wp-block-button__link::after { content: ""; width: 22px; height: 22px; flex: none; background: currentColor; -webkit-mask: var(--sg-ico-arrow) center / contain no-repeat; mask: var(--sg-ico-arrow) center / contain no-repeat; transition: transform .25s var(--sg-ease); }
.is-style-sg-arrow .wp-block-button__link:hover::after,
.is-style-sg-caps .wp-block-button__link:hover::after,
.is-style-sg-outline .wp-block-button__link:hover::after { transform: translateX(4px); }
/* Buttons: one size (theme.json 17px/600); the caps variant (HP hero, inquiry submit) is 18px/700 uppercase */
.is-style-sg-caps .wp-block-button__link { font-size: 18px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; padding: 21px 38px; gap: 22px; }
.is-style-sg-caps .wp-block-button__link::after { width: 28px; height: 28px; }
.is-style-sg-outline .wp-block-button__link { background: rgba(255, 255, 255, .6); color: var(--sg-orange); border: 1.5px solid var(--sg-orange); box-shadow: none; padding: 12px 26px; }
.is-style-sg-outline .wp-block-button__link:hover { background: var(--sg-orange); color: #fff; }
.wp-block-buttons { margin-top: 32px; }

/* ---------- Header ---------- */
.sg-header-part { position: sticky; top: 0; z-index: 100; }
.admin-bar .sg-header-part { top: 32px; }
.sg-header { background: #fff; box-shadow: 0 1px 0 rgba(10, 30, 70, .06); transition: box-shadow .25s var(--sg-ease); }
.sg-header.is-scrolled, .is-scrolled .sg-header { box-shadow: 0 8px 30px rgba(10, 30, 70, .10); }
.sg-header__bar { min-height: var(--sg-header-h); gap: 32px; transition: min-height .25s var(--sg-ease); }
.sg-header.is-layout-constrained > .sg-header__bar { max-width: 1306px; }
.is-scrolled .sg-header__bar { min-height: 92px; }
.sg-header__logo { margin: 0 0 0 -3px; flex: none; width: 282px; }
.sg-header__logo img { width: 100%; display: block; transition: width .25s var(--sg-ease); }
.sg-header__logo { transition: width .25s var(--sg-ease); }
.is-scrolled .sg-header__logo { width: 232px; }
.sg-header__nav { gap: 40px; }
.sg-nav { font-size: clamp(19px, 1.53vw, 22px); font-weight: 500; letter-spacing: .075em; text-transform: uppercase; color: var(--sg-footer); }
.sg-nav .wp-block-navigation__container { gap: 34px; }
.sg-nav .wp-block-navigation-item__content { color: var(--sg-footer); text-decoration: none; padding: 8px 0; }
.sg-nav .wp-block-navigation-item__content:hover,
.sg-nav .current-menu-item > .wp-block-navigation-item__content,
.sg-nav .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--sg-orange); }
.sg-nav .wp-block-navigation__submenu-icon { width: 15px; height: 15px; margin-left: 4px; color: var(--sg-orange); }
.sg-nav .wp-block-navigation__submenu-icon svg { width: 15px; height: 15px; stroke-width: 1.8; }
.sg-nav .has-child .wp-block-navigation__submenu-container { min-width: 280px; padding: 12px; border: 0 !important; border-radius: 14px; background: #fff; box-shadow: 0 20px 50px rgba(10, 30, 70, .16); text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 500; top: calc(100% + 6px); left: -18px; }
.sg-nav .has-child .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.sg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 14px; border-radius: 8px; color: var(--sg-ink); }
.sg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--sg-ice); color: var(--sg-orange); }
.sg-nav .sg-nav-contact { display: none; }
.sg-btn-header .wp-block-button__link { font-size: clamp(19px, 1.53vw, 22px); font-weight: 500; letter-spacing: .075em; text-transform: uppercase; padding: 8px 35px 8px 33px; box-shadow: none; }
.sg-header__cta { margin: 0; }
/* constant in-flow footprint: only the inner bar shrinks (145/112/78 → 92/92/70), the wrapper keeps --sg-header-h, so toggling
   .is-scrolled never moves the page (a shrinking wrapper let scroll anchoring push scrollY back across the threshold → endless
   toggle = "vibrating" header); the empty band under the compact bar is click-through. Front end only (no .is-scrolled in the editor).
   NOTE: --sg-header-h must stay ≥ the unscrolled header content (logo/nav), otherwise the header overlaps the page top. */
body:not(.editor-styles-wrapper) .sg-header-part { height: var(--sg-header-h); pointer-events: none; overflow-anchor: none; }
body:not(.editor-styles-wrapper) .sg-header-part > * { pointer-events: auto; }
/* ≤1280 only the <img> is resized – let the <figure> follow it (it kept 282/232px: bar overflowed on phones, hamburger jumped on toggle) */
@media (max-width: 1280px) {
	.sg-header__logo, .is-scrolled .sg-header__logo { width: auto; }
}

/* Mobile overlay menu */
.sg-nav .wp-block-navigation__responsive-container-open { color: var(--sg-ink); width: 44px; height: 44px; align-items: center; justify-content: center; }
.sg-nav .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
.sg-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--sg-navy) !important; color: #fff !important; padding: 28px 24px; }
.sg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #fff; font-size: 20px; }
.sg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent; box-shadow: none; padding: 6px 0 6px 16px; }
.sg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 16px; text-transform: none; letter-spacing: 0; color: rgba(255, 255, 255, .82); padding: 6px 0; }
.sg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 18px; }
.sg-nav .wp-block-navigation__responsive-container-close { color: #fff; }
.sg-nav .wp-block-navigation__responsive-container.is-menu-open .sg-nav-contact { display: block; }
.sg-nav .wp-block-navigation__responsive-container.is-menu-open .sg-nav-contact .wp-block-navigation-item__content { display: inline-block; margin-top: 10px; padding: 10px 28px; border-radius: 999px; background: var(--sg-orange); }

/* ---------- HP hero ---------- */
.sg-hero-home { min-height: 735px; padding-top: 78px; padding-bottom: 110px; overflow: hidden; background: #0B2350; color: #fff; display: flex; flex-direction: column; justify-content: flex-start; }
.sg-hero-home > .sg-hero-home__bg { position: absolute; inset: 0; margin: 0 !important; z-index: 0; max-width: none !important; width: 100%; height: 100%; }
.sg-hero-home > .sg-hero-home__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 100% center; }
.sg-hero-home::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(6, 22, 60, .55) 0%, rgba(6, 22, 60, .18) 45%, rgba(6, 22, 60, 0) 70%); pointer-events: none; }
.sg-hero-home__content { width: 100%; }
/* Mixed-weight headings (HP hero, Náš tým, certifikáty, charita): light part 300, bold part = heading weight 600 */
.sg-hero-home__title { color: #fff; font-size: var(--sg-fs-h1); line-height: 1.14; font-weight: var(--sg-fw-light); letter-spacing: -.01em; margin: 0 0 26px; }
.sg-hero-home__title strong { font-weight: var(--sg-fw-heading); }
.sg-hero-home__title .sg-accent { color: var(--sg-orange); font-weight: var(--sg-fw-heading); }
.sg-hero-home__claim { color: #fff; font-size: clamp(21px, 2.25vw, 32px); font-weight: var(--sg-fw-light); line-height: 1.2; margin: 0; }
.sg-hero-home__cta { margin-top: 58px; }

/* ---------- HP services tiles ---------- */
.sg-section--services { padding-top: 68px; padding-bottom: 96px; }
.sg-service-hero ~ .sg-section--services { background-image: linear-gradient(180deg, rgba(238, 243, 250, 0) 72%, #EEF3FA 100%), url(../img/bg/light-waves.webp); background-size: 100% 100%, cover; }
.sg-tiles { max-width: 1024px; margin: 0 auto; gap: 13px !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sg-tile { position: relative; background: rgba(255, 255, 255, .92); border-radius: 10px; box-shadow: 0 6px 22px rgba(30, 50, 100, .06); min-height: 113px; padding: 18px 26px 18px 34px; gap: 30px !important; align-items: center; transition: box-shadow .25s var(--sg-ease), transform .25s var(--sg-ease), background .25s; }
.sg-tile:hover { box-shadow: var(--sg-shadow-hover); background: #fff; transform: translateY(-2px); }
.sg-tile__icon { margin: 0; flex: none; width: 48px; }
.sg-tile__icon img { width: 48px; height: 48px; object-fit: contain; display: block; }
.sg-tile__title { margin: 0; font-size: var(--sg-fs-h5); font-weight: 600; line-height: 1.45; letter-spacing: -.01em; color: var(--sg-ink); }
.sg-tile__title a { color: inherit; text-decoration: none; }
.sg-tile__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.sg-tile:hover .sg-tile__title a { color: var(--sg-orange); }
.sg-tile__title .sg-tile__first { display: block; }

/* ---------- Product cards ---------- */
.sg-section--products { padding-top: 100px; padding-bottom: 70px; }
.sg-section--products .sg-head { margin-bottom: 42px; }
.sg-pcards { max-width: 1190px; margin: 0 auto; gap: 18px !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sg-pcard { padding: 38px 34px 34px 40px; display: flex; flex-direction: column; transition: border-color .25s, transform .25s var(--sg-ease), box-shadow .25s; }
.sg-pcard:hover { border-color: rgba(120, 170, 255, .75); transform: translateY(-3px); box-shadow: 0 24px 60px rgba(0, 10, 40, .35); }
.sg-pcard__head { gap: 22px !important; align-items: center; margin-bottom: 8px; }
.sg-pcard__icon { margin: 0; width: 56px; flex: none; }
.sg-pcard__icon img { width: 56px; height: 56px; object-fit: contain; display: block; }
.sg-pcard__name { color: #fff; font-size: var(--sg-fs-h4) !important; margin: 0; }
.sg-pcard__tagline { color: #fff; font-size: var(--sg-fs-lead); line-height: 1.45; margin: 6px 0 0; }
.sg-pcard__tagline::after { content: ""; display: block; width: 30px; height: 2px; background: var(--sg-orange); margin: 22px 0 22px; }
.sg-pcard .is-style-sg-checks { color: #fff; font-size: var(--sg-fs-body); }
.sg-pcard .is-style-sg-checks li { margin-bottom: 8px; }
.sg-pcard__more { margin-top: auto !important; padding-top: 22px; }
.sg-pcard__more a { color: #fff !important; font-size: var(--sg-fs-body); font-weight: 600; width: 100%; justify-content: space-between; }
.sg-pcard__more a::after { width: 28px; height: 28px; }
.sg-pcard__more a::before { content: ""; position: absolute; inset: 0; }
.sg-pcard { position: relative; }

/* ---------- Split (text + image) ---------- */
.sg-split { gap: clamp(32px, 5vw, 80px) !important; }
.sg-split__img, .sg-split__img img { margin: 0; }
.is-style-sg-rounded img { border-radius: 14px; }
.sg-section--about { padding-top: 90px; padding-bottom: 110px; }
.sg-section--about .is-style-sg-bar::after { width: 66px; margin-top: 28px; margin-bottom: 36px; }
.sg-section--about .sg-split__text p:not([class]) { color: var(--sg-text); font-size: var(--sg-fs-body); line-height: var(--sg-lh-body); margin-bottom: 12px; }
.sg-section--about .wp-block-buttons { margin-top: 44px; }
.sg-section--about .wp-block-button__link { padding: 12px 28px; }
/* design: wider text column (the H2 fits on 2 lines) and the image bleeds to the right viewport edge, flat, square right corners */
@media (min-width: 782px) {
	.sg-section--about .sg-split { gap: 48px !important; }
	.sg-section--about .sg-split__text { flex-basis: 58% !important; }
	.sg-section--about { --sg-bleed: max(24px, (var(--sg-page-w) - var(--sg-container)) / 2); overflow: hidden; }
	.sg-section--about .sg-split__media { flex-basis: calc(42% + var(--sg-bleed)) !important; margin-right: calc(-1 * var(--sg-bleed)) !important; }
	.sg-section--about .sg-about-img img { border-radius: 16px 0 0 16px; }
	.sg-section--about .sg-split__text p:not([class]) { max-width: 600px; }
}
.sg-about-img img { border-radius: 14px; width: 100%; aspect-ratio: 605 / 530; object-fit: cover; }

/* ---------- Logos rail (HP references) ---------- */
.sg-section--refs { padding-top: 88px; padding-bottom: 104px; }
.sg-section--refs .sg-head h2 { color: #fff; }
.sg-logos { position: relative; display: flex !important; align-items: center; gap: 22px; }
.sg-logos__track { flex: 1; gap: 12px !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.sg-logos__track::-webkit-scrollbar { display: none; }
.sg-logo-tile { flex: 0 0 calc((100% - 5 * 12px) / 6); min-width: 150px; height: 155px; scroll-snap-align: start; border: 1px solid rgba(96, 146, 235, .38); border-radius: 8px; background: rgba(12, 32, 80, .35); align-items: center; padding: 18px 22px; transition: border-color .25s, background .25s; }
.sg-logo-tile:hover { border-color: rgba(140, 180, 255, .7); background: rgba(22, 50, 110, .45); }
.sg-logo { margin: 0; width: 100%; }
.sg-logo img { display: block; width: 100%; max-height: 64px; object-fit: contain; filter: brightness(0) invert(1); opacity: .95; }
.sg-logos__nav { margin: 0; flex: none; }
.sg-logos__next .wp-block-button__link { width: 54px; height: 72px; padding: 0; border-radius: 8px; background: rgba(12, 32, 80, .55); border: 1px solid rgba(96, 146, 235, .38); box-shadow: none; display: flex; align-items: center; justify-content: center; }
.sg-logos__next .wp-block-button__link::after { content: ""; width: 30px; height: 30px; background: var(--sg-orange); -webkit-mask: var(--sg-ico-arrow) center / contain no-repeat; mask: var(--sg-ico-arrow) center / contain no-repeat; }
.sg-logos__next .wp-block-button__link:hover { background: rgba(245, 127, 32, .15); transform: none; }

/* ---------- Blog cards ---------- */
.sg-section--blog { padding-top: 58px; padding-bottom: 60px; }
.sg-posts__grid { gap: 15px !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.sg-post { height: 100%; background: #fff; border-radius: 12px; box-shadow: var(--sg-shadow); padding: 6px; display: flex; flex-direction: column; transition: box-shadow .25s var(--sg-ease), transform .25s var(--sg-ease); }
.sg-post:hover { box-shadow: var(--sg-shadow-hover); transform: translateY(-3px); }
.sg-post__img { margin: 0 !important; }
.sg-post__img img, .sg-post__img a { display: block; width: 100%; aspect-ratio: 305 / 190; object-fit: cover; border-radius: 8px 8px 4px 4px; }
.sg-post__body { padding: 22px 18px 20px; display: flex; flex-direction: column; flex: 1; }
.sg-post__date { display: flex; align-items: center; gap: 9px; color: var(--sg-blue); font-size: var(--sg-fs-small); margin: 0 0 12px; }
.sg-post__date::before { content: ""; width: 18px; height: 18px; flex: none; background: var(--sg-blue); -webkit-mask: var(--sg-ico-calendar) center / contain no-repeat; mask: var(--sg-ico-calendar) center / contain no-repeat; }
.sg-post__title { font-size: var(--sg-fs-h5) !important; line-height: 1.3; margin: 0 0 14px; }
.sg-post__title a { color: var(--sg-ink); text-decoration: none; }
.sg-post__title a:hover { color: var(--sg-orange); }
.sg-post__excerpt { color: var(--sg-text); font-size: var(--sg-fs-small); line-height: 1.6; margin: 0 0 18px; }
.sg-post__excerpt p { margin: 0; }
.sg-post__excerpt .wp-block-post-excerpt__more-text { display: none; }
.sg-post__more { margin-top: auto !important; color: var(--sg-orange) !important; font-size: var(--sg-fs-body); font-weight: 600; display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.sg-post__more::after { content: ""; width: 18px; height: 18px; background: var(--sg-orange); -webkit-mask: var(--sg-ico-arrow) center / contain no-repeat; mask: var(--sg-ico-arrow) center / contain no-repeat; transition: transform .25s var(--sg-ease); }
.sg-post:hover .sg-post__more::after { transform: translateX(4px); }
.sg-posts__all { margin-top: 42px; }
.sg-pagination { margin-top: 48px; gap: 10px; font-weight: 600; }
.sg-pagination a, .sg-pagination .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 999px; padding: 0 16px; text-decoration: none; color: var(--sg-ink); background: #fff; box-shadow: var(--sg-shadow); }
.sg-pagination .page-numbers.current { background: var(--sg-orange); color: #fff; }

/* ---------- Contact (dark) ---------- */
.sg-section--contact { padding-top: 100px; padding-bottom: 84px; }
.sg-contact { gap: clamp(32px, 6vw, 86px) !important; }
/* HP / blog: the title is an H2 (section size); on /kontakt/ it is the page H1 (page-title size) */
.sg-contact__title { font-size: var(--sg-fs-h2) !important; line-height: 1.12; color: #fff; margin: 0; }
h1.sg-contact__title { font-size: var(--sg-fs-h1) !important; }
@media (min-width: 782px) { .sg-contact__info > .sg-contact__title:first-child { margin-top: 56px !important; } }
.sg-contact__title.is-style-sg-bar::after { width: 52px; margin-top: 28px; }
.sg-contact__lead { color: #fff; font-size: var(--sg-fs-lead-lg); font-weight: 500; line-height: 1.45; margin: 24px 0 0 !important; }
.sg-contact__company { color: #fff; font-size: var(--sg-fs-h3) !important; margin: 64px 0 18px !important; }
.sg-crows { display: flex; flex-direction: column; gap: 12px; }
.sg-crows > * { margin-block-start: 0 !important; }
.sg-crow { display: flex !important; align-items: center; gap: 22px; }
.sg-crow::before { content: ""; width: 48px; height: 48px; flex: none; border-radius: 8px; background-color: rgba(255, 255, 255, .06); background-image: linear-gradient(var(--sg-orange), var(--sg-orange)); -webkit-mask: none; }
.sg-crow { position: relative; }
.sg-crow::after { content: ""; position: absolute; left: 12px; top: 50%; width: 24px; height: 24px; transform: translateY(-50%); background: var(--sg-orange); -webkit-mask: var(--sg-ico-pin) center / contain no-repeat; mask: var(--sg-ico-pin) center / contain no-repeat; }
.sg-crow::before { background: rgba(255, 255, 255, .06); }
.sg-crow--phone::after { -webkit-mask-image: var(--sg-ico-phone); mask-image: var(--sg-ico-phone); }
.sg-crow--mail::after { -webkit-mask-image: var(--sg-ico-mail); mask-image: var(--sg-ico-mail); }
.sg-crow p { margin: 0; color: #fff; font-size: var(--sg-fs-body); line-height: 1.4; }
.sg-crow p strong { font-weight: 600; }
.sg-crow a { color: #fff !important; text-decoration: none; font-size: var(--sg-fs-lead); }
.sg-crow a:hover { color: var(--sg-orange) !important; }
.sg-contact__sep { border: 0 !important; height: 1px !important; background: rgba(255, 255, 255, .3) !important; margin: 28px 0 22px !important; width: 100% !important; max-width: 420px; }
.sg-contact__reg { color: rgba(255, 255, 255, .88); font-size: var(--sg-fs-body); line-height: 1.6; max-width: 420px; }
.sg-formcard { border: 1px solid rgba(96, 146, 235, .55); border-radius: 16px; background: rgba(8, 24, 60, .32); padding: 44px 46px 38px; backdrop-filter: blur(2px); }
.sg-formcard__title { color: #fff !important; font-size: 20px !important; font-weight: 600; text-transform: uppercase; letter-spacing: .01em; margin: 0 0 30px; }
.sg-formcard__title.is-style-sg-bar::after { width: 52px; margin-top: 14px; }

/* ---------- WPForms (modern markup, styled through its CSS variables) ---------- */
.sg-wpf {
	--wpforms-field-size-input-height: 50px !important;
	--wpforms-field-size-input-spacing: 0px !important;
	--wpforms-field-size-font-size: 15px !important;
	--wpforms-field-size-line-height: 1.4 !important;
	--wpforms-field-size-padding-h: 18px !important;
	--wpforms-field-size-checkbox-size: 22px !important;
	--wpforms-field-size-sublabel-spacing: 6px !important;
	--wpforms-field-border-radius: 8px !important;
	--wpforms-field-border-size: 1px !important;
	--wpforms-field-border-style: solid !important;
	--wpforms-label-size-font-size: 15px !important;
	--wpforms-label-size-line-height: 1.3 !important;
	--wpforms-button-size-height: 56px !important;
	--wpforms-button-size-padding-h: 32px !important;
	--wpforms-button-size-font-size: 18px !important;
	--wpforms-button-size-margin-top: 0px !important;
	--wpforms-button-border-radius: 999px !important;
	--wpforms-button-border-size: 0px !important;
	--wpforms-button-border-style: none !important;
	--wpforms-button-background-color: #F57F20 !important;
	--wpforms-button-border-color: #F57F20 !important;
	--wpforms-button-text-color: #ffffff !important;
	--wpforms-label-error-color: #FF8C7A !important;
	margin: 0 !important;
}
.sg-wpf--dark {
	--wpforms-field-background-color: rgba(6, 20, 52, 0.35) !important;
	--wpforms-field-border-color: rgba(255, 255, 255, 0.38) !important;
	--wpforms-field-text-color: #ffffff !important;
	--wpforms-field-menu-color: #0B1F42 !important;
	--wpforms-label-color: #ffffff !important;
	--wpforms-label-sublabel-color: rgba(255, 255, 255, 0.72) !important;
	--wpforms-page-break-color: #F57F20 !important;
}
.sg-wpf--light {
	--wpforms-field-size-input-height: 52px !important;
	--wpforms-field-size-font-size: 15px !important;
	--wpforms-field-border-radius: 10px !important;
	--wpforms-field-border-size: 1.5px !important;
	--wpforms-field-background-color: rgba(255, 255, 255, 0.55) !important;
	--wpforms-field-border-color: #8FB0E4 !important;
	--wpforms-field-text-color: #0B1A3D !important;
	--wpforms-field-menu-color: #ffffff !important;
	--wpforms-label-color: #40506F !important;
	--wpforms-label-sublabel-color: #5E6D8C !important;
	--wpforms-label-error-color: #D63637 !important;
	--wpforms-button-size-height: 50px !important;
	--wpforms-button-size-font-size: 17px !important;
	--wpforms-button-size-padding-h: 34px !important;
}
.sg-wpf .wpforms-form { position: relative; }
.sg-wpf .wpforms-field-container { display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; row-gap: 22px; }
.sg-wpf--light .wpforms-field-container { column-gap: 16px; row-gap: 16px; }
.sg-wpf .wpforms-field { padding: 0 !important; margin: 0 !important; width: auto !important; float: none !important; clear: none !important; max-width: none !important; }
.sg-wpf .wpforms-field.wpforms-one-half { grid-column: span 1; }
.sg-wpf .wpforms-field:not(.wpforms-one-half) { grid-column: 1 / -1; }
.sg-wpf .wpforms-field-label { font-weight: 500 !important; margin: 0 0 10px !important; }
.sg-wpf .wpforms-field input:not([type=checkbox]):not([type=radio]), .sg-wpf .wpforms-field select, .sg-wpf .wpforms-field textarea { width: 100% !important; max-width: none !important; font-family: inherit !important; }
.sg-wpf .wpforms-field textarea { height: 112px !important; min-height: 0 !important; resize: vertical; }
.sg-wpf--light .wpforms-field textarea { height: 104px !important; }
.sg-wpf--dark ::placeholder { color: rgba(255, 255, 255, 0.72) !important; opacity: 1 !important; }
.sg-wpf--light ::placeholder { color: #4D5B78 !important; opacity: 1 !important; }
.sg-wpf--dark .wpforms-field select { color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8.5l7 7 7-7'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 20px center !important; background-size: 18px 18px !important; padding-left: 18px !important; padding-right: 50px !important; }
.sg-wpf--dark .wpforms-field select:has(option.placeholder:checked) { color: rgba(255, 255, 255, .72); }
.sg-wpf--dark .wpforms-field select option { color: var(--sg-ink); background: #fff; }
.sg-wpf .wpforms-field input:focus, .sg-wpf .wpforms-field select:focus, .sg-wpf .wpforms-field textarea:focus { border-color: var(--sg-orange) !important; box-shadow: 0 0 0 1px var(--sg-orange) !important; }
.sg-wpf--light .wpforms-field input:focus, .sg-wpf--light .wpforms-field textarea:focus { border-color: var(--sg-blue) !important; box-shadow: 0 0 0 1px var(--sg-blue) !important; }
.sg-wpf .wpforms-field-checkbox ul { margin: 0 !important; padding: 0 !important; }
.sg-wpf .wpforms-field-checkbox li { display: flex !important; align-items: center; gap: 12px; margin: 0 !important; padding: 0 !important; }
.sg-wpf .wpforms-field-checkbox li label { padding-left: 0 !important; }
.sg-wpf .wpforms-field-checkbox li input { margin: 0 !important; flex: none; }
.sg-wpf .wpforms-field-checkbox li label { margin: 0 !important; font-size: 14px !important; cursor: pointer; }
.sg-wpf--dark .wpforms-field-checkbox label a { color: var(--sg-orange) !important; text-decoration: underline; }
.sg-wpf--light .wpforms-field-checkbox label a { color: var(--sg-blue) !important; text-decoration: underline; }
.sg-wpf--dark .wpforms-field-checkbox input[type=checkbox]:checked:before { background-color: var(--sg-orange) !important; border-color: var(--sg-orange) !important; }
.sg-wpf--light .wpforms-field-checkbox input[type=checkbox]:checked:before { background-color: var(--sg-blue) !important; border-color: var(--sg-blue) !important; }
.sg-wpf .wpforms-submit-container { display: flex !important; align-items: center; flex-wrap: wrap; gap: 20px 40px; padding: 0 !important; margin-top: 30px !important; }
.sg-wpf button.wpforms-submit { display: inline-flex !important; align-items: center; justify-content: center; gap: 18px; flex: none; white-space: nowrap; line-height: 1.2 !important; box-shadow: 0 8px 20px rgba(245, 127, 32, 0.25) !important; transition: transform .2s var(--sg-ease), box-shadow .2s var(--sg-ease), background-color .2s; }
.sg-wpf button.wpforms-submit::before { content: ""; order: 2; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--sg-ico-arrow) center / contain no-repeat; mask: var(--sg-ico-arrow) center / contain no-repeat; transition: transform .25s var(--sg-ease); }
.sg-wpf button.wpforms-submit:hover { transform: translateY(-1px); }
.sg-wpf button.wpforms-submit:hover::before { transform: translateX(4px); }
.sg-wpf--dark button.wpforms-submit { text-transform: uppercase; font-weight: 700 !important; letter-spacing: 0.02em; }
.sg-wpf--light button.wpforms-submit { font-weight: 600 !important; }
.sg-wpf .wpforms-submit-spinner { margin: 0 !important; }
/* design: the note sits on the same row as the submit button (WPForms' "* { font-size:100% }" needs the extra class to lose) */
@media (min-width: 782px) { .sg-wpf--dark .wpforms-submit-container { flex-wrap: nowrap; gap: 32px; } }
.sg-wpf .sg-wpf__safe { display: flex; align-items: center; gap: 12px; margin: 0; font-size: var(--sg-fs-small); line-height: 1.4; color: rgba(255, 255, 255, .9); }
.sg-wpf__safe::before { content: ""; width: 24px; height: 24px; flex: none; background: currentColor; -webkit-mask: var(--sg-ico-shield) center / contain no-repeat; mask: var(--sg-ico-shield) center / contain no-repeat; }
.sg-wpf .wpforms-field-checkbox { align-self: center; }
.sg-wpf--light .wpforms-field-checkbox { grid-column: 1 / -1 !important; padding-right: 200px !important; }
.sg-wpf--light .wpforms-field-checkbox li label { white-space: nowrap; }
.sg-wpf--light .wpforms-submit-container { justify-content: flex-end; margin-top: -50px !important; pointer-events: none; }
.sg-wpf--light .wpforms-submit-container > * { pointer-events: auto; }
/* the consent row is as tall as the button pulled up next to it (-50px), so the button no longer overlaps the textarea */
@media (min-width: 901px) {
	.sg-wpf--light .wpforms-field-checkbox { min-height: 50px; display: flex !important; align-items: center; position: relative; }
	.sg-wpf--light .wpforms-field-checkbox > .wpforms-error { position: absolute; left: 36px; top: calc(100% - 2px); margin: 0 !important; white-space: nowrap; }
}
/* narrow tablets: the button no longer fits next to the consent text */
@media (max-width: 900px) {
	.sg-wpf--light .wpforms-field-checkbox { padding-right: 0 !important; }
	.sg-wpf--light .wpforms-field-checkbox li label { white-space: normal; }
	.sg-wpf--light .wpforms-submit-container { margin-top: 20px !important; justify-content: flex-start; }
}
.sg-wpf .wpforms-confirmation-container-full { border-radius: 12px; background: rgba(38, 170, 90, 0.12) !important; border: 1px solid rgba(38, 170, 90, 0.5) !important; color: inherit !important; padding: 20px 24px !important; margin: 0 !important; }
.sg-wpf--dark .wpforms-confirmation-container-full, .sg-wpf--dark .wpforms-confirmation-container-full p { color: #fff !important; }

/* ---------- Contact person + light form ---------- */
.sg-writeus { max-width: 900px; margin: 0 auto !important; gap: clamp(32px, 7vw, 100px) !important; align-items: flex-start !important; }
.sg-person { background: rgba(255, 255, 255, .8); border-radius: 12px; box-shadow: var(--sg-shadow); overflow: hidden; max-width: 272px; }
.sg-person__photo { margin: 0; }
.sg-person__photo img { display: block; width: 100%; aspect-ratio: 272 / 187; object-fit: cover; object-position: center 20%; }
.sg-person__body { padding: 18px 20px 26px; }
.sg-person__name { font-size: var(--sg-fs-h4) !important; margin: 0 0 6px; }
.sg-person__role { font-size: var(--sg-fs-xs); letter-spacing: .2em; text-transform: uppercase; color: var(--sg-muted); margin: 0 !important; }
.sg-person__role::after { content: ""; display: block; width: 32px; height: 2px; background: var(--sg-orange); margin: 12px 0 18px; }
.sg-person__phone, .sg-person__mail { display: flex; align-items: center; gap: 14px; font-size: var(--sg-fs-small); margin: 0 0 8px !important; }
.sg-person__phone::before, .sg-person__mail::before, .sg-member__phone::before, .sg-member__mail::before { content: ""; width: 24px; height: 24px; flex: none; border-radius: 50%; background: var(--sg-blue) var(--sg-ico-phone-solid) center / 13px no-repeat; -webkit-mask: none; }
.sg-person__phone::before, .sg-member__phone::before { background: var(--sg-blue); -webkit-mask: none; box-shadow: inset 0 0 0 12px var(--sg-blue); }
.sg-person__phone, .sg-person__mail, .sg-member__phone, .sg-member__mail { position: relative; }
.sg-person__phone::after, .sg-person__mail::after, .sg-member__phone::after, .sg-member__mail::after { content: ""; position: absolute; left: 6px; top: 50%; width: 12px; height: 12px; transform: translateY(-50%); background: #fff; -webkit-mask: var(--sg-ico-phone-solid) center / contain no-repeat; mask: var(--sg-ico-phone-solid) center / contain no-repeat; }
.sg-person__mail::after, .sg-member__mail::after { -webkit-mask-image: var(--sg-ico-mail); mask-image: var(--sg-ico-mail); }
.sg-person a, .sg-member a { color: var(--sg-ink); text-decoration: none; }
.sg-person a:hover, .sg-member a:hover { color: var(--sg-orange); }
.sg-writeus__title { font-size: var(--sg-fs-h3) !important; margin: 0 0 26px; }
.sg-writeus__title.is-style-sg-bar::after { display: none; }
.sg-writeus__title.is-style-sg-bar::before { content: ""; display: block; width: 34px; height: 3px; border-radius: 2px; background: var(--sg-orange); margin-bottom: 18px; }
.sg-writeus__form { padding-top: 6px; }

/* ---------- Sub-page hero ---------- */
.sg-page-hero { padding-top: clamp(48px, 5vw, 72px); padding-bottom: clamp(56px, 6vw, 88px); }
.sg-page-hero__cols { gap: clamp(32px, 5vw, 64px) !important; }
.sg-page-title { font-size: var(--sg-fs-h1) !important; line-height: 1.1; margin: 0 0 22px; color: var(--sg-ink); }
.sg-page-hero__text > p:not([class]), .sg-page-hero__text--solo > p:not([class]) { color: var(--sg-text); font-size: var(--sg-fs-body); line-height: var(--sg-lh-body); margin-bottom: 14px; }
.sg-page-hero__text strong { color: var(--sg-ink); }
.sg-page-hero__text .wp-block-list { color: var(--sg-text); }
.sg-page-hero__text .wp-block-buttons { margin-top: 28px; }
.sg-page-hero__text h2, .sg-page-hero__text h3 { font-size: var(--sg-fs-h3); margin: 26px 0 12px; }
.is-style-sg-frame { position: relative; margin: 0; }
.is-style-sg-frame img { position: relative; z-index: 1; display: block; width: 100%; border-radius: 22px; box-shadow: 0 30px 70px rgba(20, 50, 110, .18); }
.sg-hero-photo img { display: block; width: 100%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 100%); mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 100%); }
.sg-hero-photo { margin: 0; }

/* read more */
body:not(.editor-styles-wrapper) .sg-more:not(.is-open) { display: none; }
.sg-more { margin-top: 18px; }
.sg-more.is-open { animation: sgFade .35s var(--sg-ease); }
@keyframes sgFade { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.sg-more-toggle .wp-block-button__link { padding: 13px 34px; }
.sg-more-toggle .wp-block-button__link[aria-expanded="true"]::after { transform: rotate(-90deg); }
.sg-more-toggle .wp-block-button__link[aria-expanded="true"]:hover::after { transform: rotate(-90deg) translateX(3px); }
.sg-page-hero__text .sg-more :is(p, li) { line-height: var(--sg-lh-body); color: var(--sg-text); }
/* expanded "Číst více": keep the photo at the top instead of re-centring it in the tall column */
@media (min-width: 782px) {
	.sg-page-hero__cols:has(.sg-more.is-open) > .sg-page-hero__media { align-self: flex-start !important; position: sticky; top: calc(var(--sg-header-h) + 32px); }
	.sg-page-hero:has(.sg-more.is-open) { background-size: 100% auto; background-position: center top; }
}

/* ---------- Dark text section ---------- */
.sg-section--dark-text { padding-top: 58px; padding-bottom: 64px; text-align: center; }
.sg-dark-text { max-width: 830px; margin: 0 auto; }
.sg-dark-text h2 { margin-bottom: 26px; }
.sg-dark-text p { color: rgba(255, 255, 255, .9); font-size: var(--sg-fs-body); line-height: var(--sg-lh-body); margin-bottom: 12px; }
.sg-dark-text .wp-block-list { text-align: left; display: inline-block; }

/* ---------- Stats ---------- */
.sg-stats { gap: 0 !important; max-width: 1180px; margin: 0 auto; grid-template-columns: repeat(var(--sg-cols, 4), minmax(0, 1fr)); }
.sg-stats--3 { --sg-cols: 3; max-width: 980px; }
.sg-stats--4 { --sg-cols: 4; }
.sg-stat { position: relative; text-align: center; padding: 0 24px; }
.sg-stat + .sg-stat::before { content: ""; position: absolute; left: 0; top: 40px; bottom: 30px; width: 1px; background: linear-gradient(180deg, rgba(63, 98, 174, 0), rgba(63, 98, 174, .25), rgba(63, 98, 174, 0)); }
.sg-stat__icon { margin: 0 auto 6px !important; width: 90px; }
.sg-stat__icon img { width: 90px; height: 90px; object-fit: contain; display: block; margin: 0 auto; }
/* one stat style on every product page: brand blue, 64px/600 */
.sg-stat__num { color: var(--sg-blue); font-size: clamp(46px, 4.45vw, 64px); font-weight: 600; line-height: 1.05; letter-spacing: -.02em; margin: 0; }
.sg-stat__suffix { font-size: .6em; margin-left: 2px; letter-spacing: 0; }
.sg-stat__label, .sg-stat__label strong { color: var(--sg-ink); font-size: var(--sg-fs-h4); font-weight: var(--sg-fw-heading); line-height: 1.2; margin: 8px 0 0; }
.sg-stat__label strong { margin: 0; }
.sg-stat__label::after { content: ""; display: block; width: 44px; height: 2px; background: rgba(63, 98, 174, .25); margin: 14px auto 16px; }
.sg-stat__desc { color: var(--sg-text); font-size: var(--sg-fs-small); line-height: 1.5; max-width: 240px; margin: 0 auto; }
.sg-collage { margin: 40px auto 0 !important; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
.sg-collage img { width: 100%; display: block; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 8%, #000 88%, transparent); mask-image: linear-gradient(180deg, transparent 0, #000 8%, #000 88%, transparent); }

/* ---------- Features (icon + text) ---------- */
.sg-features { gap: 26px 38px !important; grid-template-columns: repeat(var(--sg-cols, 2), minmax(0, 1fr)); }
.sg-features.sg-cols-1 { --sg-cols: 1; }
.sg-features.sg-cols-2 { --sg-cols: 2; }
.sg-features.sg-cols-3 { --sg-cols: 3; }
.sg-feature { gap: 26px !important; align-items: center; }
.sg-feature__icon { margin: 0; width: 80px; flex: none; }
.sg-feature__icon img { width: 80px; height: 80px; object-fit: contain; display: block; }
.sg-feature__title, .sg-feature__title strong { color: var(--sg-ink); font-size: var(--sg-fs-body); font-weight: 600; line-height: 1.35; margin: 0 0 4px; }
.sg-feature__title strong { margin: 0; }
.sg-feature__desc { color: var(--sg-text); font-size: var(--sg-fs-small); line-height: 1.45; margin: 0; }
.sg-features--dark .sg-feature__title, .sg-features--dark .sg-feature__title strong { color: #fff; }
.sg-features--dark .sg-feature__desc { color: rgba(255, 255, 255, .88); }
.sg-features--dark .sg-feature__icon, .sg-features--dark .sg-feature__icon img { width: 76px; height: 76px; }

/* ---------- Steps ---------- */
.sg-steps { gap: 18px !important; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.sg-step { position: relative; text-align: center; }
.sg-step + .sg-step::before { content: ""; position: absolute; left: -14px; top: 26px; width: 14px; height: 18px; background: #3F7BE0; -webkit-mask: var(--sg-ico-chevron) center / contain no-repeat; mask: var(--sg-ico-chevron) center / contain no-repeat; transform: rotate(-90deg); }
.sg-step__icon { margin: 0 auto 12px !important; width: 70px; }
.sg-step__icon img { width: 70px; height: 70px; object-fit: contain; display: block; margin: 0 auto; }
.sg-step__title, .sg-step__title strong { color: var(--sg-ink); font-size: var(--sg-fs-small); font-weight: 600; margin: 0 0 6px; }
.sg-step__title strong { margin: 0; }
.sg-step__desc { color: var(--sg-text); font-size: var(--sg-fs-xs); line-height: 1.45; margin: 0; }

/* ---------- Accordion ---------- */
.sg-accordion { display: flex; flex-direction: column; gap: 0; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(20, 40, 90, .06); background: rgba(255, 255, 255, .85); }
.is-style-sg-accordion { border-bottom: 1px solid rgba(63, 98, 174, .12); margin: 0 !important; background: transparent; transition: background .2s; }
.is-style-sg-accordion:last-child { border-bottom: 0; }
.is-style-sg-accordion summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 30px; color: var(--sg-ink); font-size: var(--sg-fs-body); font-weight: 600; }
.is-style-sg-accordion summary::-webkit-details-marker { display: none; }
.is-style-sg-accordion summary::after { content: ""; width: 18px; height: 18px; flex: none; background: var(--sg-blue); -webkit-mask: var(--sg-ico-chevron) center / contain no-repeat; mask: var(--sg-ico-chevron) center / contain no-repeat; transition: transform .25s var(--sg-ease); }
.is-style-sg-accordion[open] { background: #E4EEFD; }
.is-style-sg-accordion[open] summary::after { transform: rotate(180deg); }
.is-style-sg-accordion > :not(summary) { padding: 0 30px; color: var(--sg-text); font-size: var(--sg-fs-small); line-height: 1.6; }
.is-style-sg-accordion > :not(summary):last-child { padding-bottom: 18px; }

/* ---------- Competences ---------- */
.sg-competences { gap: 0 !important; }
.sg-competences .sg-feature { padding: 4px 0; gap: 22px !important; }
.sg-competences .sg-feature + .sg-feature { border-top: 1px solid rgba(63, 98, 174, .15); }
.sg-competences .sg-feature__icon, .sg-competences .sg-feature__icon img { width: 60px; height: 60px; }
.sg-competences .sg-feature__title, .sg-competences .sg-feature__title strong { font-weight: 400; color: var(--sg-text); }
.sg-quote { position: relative; padding-left: 28px; font-size: var(--sg-fs-lead-lg); line-height: 1.35; color: var(--sg-ink); margin-top: 44px !important; }
.sg-quote::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; border-radius: 2px; background: var(--sg-orange); }
.sg-quote strong { font-weight: 700; }
.sg-quote--blue { color: var(--sg-blue); font-weight: var(--sg-fw-light); }
.sg-quote--blue strong { color: var(--sg-ink); }

/* ---------- Team page ---------- */
.sg-team-hero { padding-top: 60px; padding-bottom: 72px; }
.sg-team-hero .sg-page-title { font-weight: var(--sg-fw-light); margin-bottom: 20px; }
.sg-team-hero .sg-page-title strong { font-weight: var(--sg-fw-heading); }
.sg-team-hero .sg-team-intro > * { max-width: 760px; }
.sg-team-intro p { font-size: var(--sg-fs-body); line-height: var(--sg-lh-body); color: var(--sg-text); margin-bottom: 22px; }
.sg-team-intro strong { color: var(--sg-ink); }
.sg-team-intro a { color: var(--sg-orange); text-decoration: none; font-weight: 700; }
.sg-team-cols { margin-top: 36px !important; gap: clamp(32px, 6vw, 80px) !important; }
.sg-team-cols h2 { font-size: var(--sg-fs-h3); margin-bottom: 18px; }
.sg-team-cols h2.is-style-sg-bar::after { display: none; }
.sg-team-cols h2.is-style-sg-bar::before { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--sg-orange); margin-bottom: 16px; }
.sg-team-cols h2 .sg-light { font-weight: var(--sg-fw-light); display: block; }
.sg-docs-wrap { text-align: center; padding-top: 110px; padding-bottom: 130px; }
.sg-docs-wrap .is-style-sg-kicker { color: #9CC6F2; }  /* PDF: light sky blue on the blue band */
.sg-docs-wrap h2 { font-weight: var(--sg-fw-light); }
.sg-docs-wrap h2 strong { font-weight: var(--sg-fw-heading); }
.sg-docs-wrap .sg-section-lead { color: rgba(255, 255, 255, .92); }
.sg-docs { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 26px; max-width: 1230px; margin: 0 auto; }
.sg-docs > .sg-doc { margin-block-start: 0 !important; }
.sg-doc { position: relative; flex: 0 1 390px; background: #fff; border-radius: 12px; box-shadow: 0 20px 40px rgba(0, 20, 70, .25); padding: 20px 24px; gap: 24px !important; align-items: center; min-height: 135px; transition: transform .25s var(--sg-ease), box-shadow .25s; text-align: left; }
.sg-doc:hover { transform: translateY(-3px); box-shadow: 0 26px 50px rgba(0, 20, 70, .32); }
.sg-doc__icon { margin: 0; width: 88px; flex: none; }
.sg-doc__icon img { width: 88px; height: 88px; object-fit: contain; display: block; }
.sg-doc__title { margin: 0; flex: 1; font-size: var(--sg-fs-h5); font-weight: 600; line-height: 1.35; }
.sg-doc__title a { color: var(--sg-ink) !important; text-decoration: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sg-doc__title a::after { content: ""; width: 50px; height: 50px; flex: none; border-radius: 50%; border: 2px solid var(--sg-orange); background: var(--sg-orange); -webkit-mask: none; box-sizing: border-box; background: transparent; }
.sg-doc__title a::before { content: ""; position: absolute; inset: 0; }
.sg-doc { overflow: visible; }
.sg-doc .sg-doc__title { position: static; }
.sg-doc__title a { position: static; }
.sg-doc::after { content: ""; position: absolute; right: 38px; top: 50%; width: 22px; height: 22px; transform: translateY(-50%); background: var(--sg-orange); -webkit-mask: var(--sg-ico-arrow) center / contain no-repeat; mask: var(--sg-ico-arrow) center / contain no-repeat; pointer-events: none; }
.sg-charity { padding-top: 70px; padding-bottom: 80px; }
.sg-charity h2 { font-weight: var(--sg-fw-light); }
.sg-charity h2 strong { font-weight: var(--sg-fw-heading); }
.sg-charity h2.is-style-sg-bar::after { width: 52px; margin-top: 26px; }
.sg-charity p:not([class]), .sg-charity p.sg-charity__strong { color: var(--sg-text); font-size: var(--sg-fs-body); line-height: 1.6; }
.sg-charity p.sg-charity__strong { color: var(--sg-ink); font-weight: 700; }
.sg-charity .sg-features { grid-template-columns: 1fr; gap: 22px !important; margin: 24px 0 8px; }
.sg-charity .sg-feature { align-items: flex-start; }
.sg-charity .sg-feature__icon, .sg-charity .sg-feature__icon img { width: 76px; height: 76px; }
.sg-charity__logo { margin: 0 auto !important; max-width: 390px; }
@media (min-width: 782px) { .sg-charity__logo { position: relative; left: -70px; } }
.sg-charity__logo img { width: 100%; display: block; }
.sg-charity-cols { gap: 40px !important; }

/* ---------- Kontakt team cards ---------- */
.sg-members { max-width: 1050px; margin: 0 auto; gap: 34px !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sg-member { background: rgba(255, 255, 255, .78); border: 1px solid rgba(143, 176, 228, .35); border-radius: 12px; box-shadow: var(--sg-shadow); padding: 18px 20px 26px; }
.sg-member__photo { margin: 0 0 18px; }
.sg-member__photo img { display: block; width: 100%; aspect-ratio: 290 / 220; object-fit: cover; object-position: center 25%; border-radius: 8px; }
.sg-member__name { font-size: var(--sg-fs-h4) !important; color: var(--sg-ink); margin: 0 0 6px 8px; }
.sg-member__role { color: var(--sg-muted); font-size: var(--sg-fs-xs); letter-spacing: .2em; text-transform: uppercase; margin: 0 0 0 8px !important; }
.sg-member__sep { border: 0 !important; height: 1px !important; width: 100% !important; background: rgba(63, 98, 174, .15) !important; margin: 18px 0 16px !important; }
.sg-member__phone, .sg-member__mail { display: flex; align-items: center; gap: 18px; margin: 0 0 12px 8px !important; font-size: var(--sg-fs-small); }
.sg-member__phone::before, .sg-member__mail::before { width: 34px; height: 34px; border-radius: 8px; background: #DDE8FA; box-shadow: none; }
.sg-member__phone::after, .sg-member__mail::after { left: 9px; width: 16px; height: 16px; background: var(--sg-blue); }

/* ---------- References grid ---------- */
.sg-refs { gap: 20px !important; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sg-ref { background: rgba(255, 255, 255, .97); border: 1px solid rgba(143, 176, 228, .3); border-radius: 12px; box-shadow: 0 10px 28px rgba(20, 40, 90, .06); padding: 34px 28px 30px; transition: box-shadow .25s var(--sg-ease), transform .25s var(--sg-ease); }
.sg-ref:hover { box-shadow: var(--sg-shadow-hover); transform: translateY(-3px); }
.sg-ref__logo-wrap { height: 96px; align-items: center; margin-bottom: 18px; }
.sg-ref__logo { margin: 0; width: 100%; display: flex !important; justify-content: center; }
.sg-ref__logo img { display: block; width: auto; max-width: min(100%, 220px); height: 76px; object-fit: contain; margin: 0 auto; }
.sg-ref__desc { color: var(--sg-text); font-size: var(--sg-fs-small); line-height: 1.5; margin: 0; }

/* ---------- Jobs ---------- */
.sg-jobs { gap: 24px !important; margin-top: 30px !important; }
.sg-job { background: rgba(255, 255, 255, .62); border: 1px solid rgba(143, 176, 228, .25); border-radius: 20px; box-shadow: 0 20px 50px rgba(20, 50, 110, .06); padding: 40px 36px 36px 60px; }
.sg-job h2 { font-size: var(--sg-fs-h3); margin: 0 0 18px; }
.sg-job p.sg-job__lead { color: #6A7FAE; font-weight: 600; font-size: var(--sg-fs-lead); line-height: 1.45; margin-bottom: 20px; }
.sg-job p { color: var(--sg-text); font-size: var(--sg-fs-body); line-height: 1.55; }
.sg-job h3 { font-size: var(--sg-fs-body); margin: 22px 0 10px; }
.sg-job .wp-block-list { font-size: var(--sg-fs-body); line-height: 1.5; color: var(--sg-text); padding-left: 1.3em; }
.sg-job .wp-block-list li { margin-bottom: 6px; }
.sg-job .wp-block-columns { gap: 28px !important; }
.sg-jobs > .wp-block-column > .sg-job { height: 100%; box-sizing: border-box; }
.sg-job .wp-block-columns > .wp-block-column:not(:has(p, li, h3)) { display: none; }
@media (min-width: 782px) { .sg-job .wp-block-columns h3 { min-height: 2.3em; } }
.sg-band { padding-top: 54px; padding-bottom: 58px; }
.sg-band__title { font-size: var(--sg-fs-h3) !important; margin-bottom: 16px; }
.sg-band__title .sg-light-blue { color: #7FC0FF; }
.sg-band__text { color: rgba(255, 255, 255, .92); max-width: 1010px; margin: 0 auto !important; font-size: var(--sg-fs-body); line-height: var(--sg-lh-body); }

/* ---------- Products overview ---------- */
.sg-prodlist { gap: 0 !important; margin-top: 50px !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sg-prod { position: relative; padding: 0 44px; }
.sg-prod + .sg-prod::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: rgba(63, 98, 174, .18); }
.sg-prod:first-child { padding-left: 0; }
.sg-prod__head { gap: 26px !important; align-items: center; margin-bottom: 26px; }
.sg-prod__icon { margin: 0; width: 112px; flex: none; }
.sg-prod__icon img { width: 112px; height: 112px; object-fit: contain; display: block; }
.sg-prod__name { font-size: var(--sg-fs-h3) !important; margin: 0 0 6px; color: var(--sg-ink); }
.sg-prod__name a { color: inherit; text-decoration: none; }
.sg-prod__name a::after { content: ""; position: absolute; inset: 0; }
.sg-prod:hover .sg-prod__name a { color: var(--sg-orange); }
.sg-prod__tag { color: var(--sg-blue); font-size: var(--sg-fs-lead); line-height: 1.4; margin: 0; }
.sg-prod__desc { color: var(--sg-text); font-size: var(--sg-fs-body); line-height: var(--sg-lh-body); margin: 0; }
@media (min-width: 1101px) {
	.sg-prod { padding: 0 28px; }
	.sg-prod__head { gap: 20px !important; align-items: flex-start; }
	.sg-prod__icon { width: 96px !important; height: 96px !important; }
	.sg-products-hero { background-size: auto 118%; background-position: left top; }
}

/* ---------- Výdejna ---------- */
.sg-vydejna-hero { min-height: 690px; display: flex; flex-direction: column; justify-content: center; }
.sg-vydejna-hero .sg-page-hero__cols { justify-content: flex-end; }
.sg-vyd-box { display: flex !important; align-items: center; gap: 34px; max-width: 1000px; margin: 40px auto 0 !important; border: 1px solid rgba(96, 146, 235, .55); border-radius: 18px; background: rgba(8, 28, 72, .35); padding: 22px 44px 22px 100px; position: relative; }
.sg-vyd-box::before { content: ""; position: absolute; left: 142px; top: 22px; bottom: 22px; width: 1px; background: rgba(255, 255, 255, .5); }
.sg-vyd-box__icon { margin: 0 0 0 -70px !important; width: 84px; flex: none; }
.sg-vyd-box__icon img { width: 84px; height: 84px; display: block; object-fit: contain; }
.sg-vyd-box__text { padding-left: 20px; }
.sg-vyd-box__text p { color: rgba(255, 255, 255, .9); margin: 0; font-size: var(--sg-fs-body); line-height: 1.55; }
.sg-vyd-box__text p strong { color: #fff; }
.sg-vyd-features { max-width: 1000px; margin: 0 auto !important; column-gap: 70px !important; row-gap: 22px !important; position: relative; }
.sg-vyd-features::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: rgba(120, 160, 255, .35); }

/* Inventura */
.sg-inv-hero h2 { font-size: var(--sg-fs-h3); margin: 44px 0 26px; }
.sg-inv-hero .sg-features { position: relative; column-gap: 34px !important; }
.sg-inv-hero .sg-features::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: rgba(63, 98, 174, .15); }
.sg-inv-hero .sg-feature { gap: 20px !important; }
.sg-inv-hero .sg-feature__icon, .sg-inv-hero .sg-feature__icon img { width: 72px; height: 72px; }
.sg-inv-lifecycle h2 { font-size: var(--sg-fs-h3); margin: 18px 0 30px; }
@media (min-width: 1101px) {
	.sg-inv-hero .sg-page-hero__cols { gap: 40px !important; }
	.sg-inv-lifecycle { padding-top: 28px; margin-right: calc(-1 * max(0px, (var(--sg-page-w) - var(--sg-container)) / 2 - 24px)); }
	.sg-inv-lifecycle .sg-steps { gap: 12px !important; }
	.sg-inv-lifecycle .sg-step + .sg-step::before { left: -13px; width: 12px; }
}
.sg-benefits { padding: 30px 44px 52px; border-radius: 24px; background: rgba(255, 255, 255, .55); border: 1px solid rgba(143, 176, 228, .35); box-shadow: 0 10px 40px rgba(20, 50, 110, .06); }
.sg-benefits h2 { font-size: var(--sg-fs-h3); margin: 0 0 12px; }
.sg-benefits .sg-features { position: relative; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px !important; }
.sg-benefits .sg-feature__icon, .sg-benefits .sg-feature__icon img { width: 78px; height: 78px; }
.sg-mobile-cols { gap: 0 !important; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: var(--sg-container); margin: 0 auto; }
.sg-mobile-col { position: relative; padding: 0 40px; }
.sg-mobile-col + .sg-mobile-col::before { content: ""; position: absolute; left: 0; top: 0; bottom: 20px; width: 1px; background: rgba(120, 160, 255, .45); }
.sg-mobile-col + .sg-mobile-col::after { content: ""; position: absolute; left: -7px; top: 150px; width: 14px; height: 14px; background: var(--sg-orange); }
.sg-mobile-col__icon { margin: 0 0 22px 20px !important; width: 104px; }
.sg-mobile-col__icon img { width: 104px; height: 104px; object-fit: contain; display: block; }
.sg-mobile-col h3 { color: #fff; font-size: var(--sg-fs-h4); margin: 0 0 20px; }
.sg-mobile-col h3::before { content: ""; display: block; width: 40px; height: 3px; background: var(--sg-orange); margin-bottom: 18px; }
.sg-mobile-col p { color: rgba(255, 255, 255, .88); font-size: var(--sg-fs-small); line-height: 1.6; margin: 0 0 12px; }

/* ---------- Single post & legal prose ---------- */
.sg-post-hero { padding-top: 56px; padding-bottom: 48px; }
.sg-post-hero.is-style-sg-bg-hero { background-image: url(../img/bg/light-waves.webp); }  /* hero-light's decor squares sat behind long titles */
.sg-post-hero__meta { gap: 18px; color: var(--sg-muted); font-size: 15px; margin-bottom: 30px; }
.sg-post-hero__meta .sg-post__date { margin: 0; }
.sg-post-hero__cats a { display: inline-block; padding: 4px 12px; border-radius: 999px; background: rgba(63, 98, 174, .1); color: var(--sg-blue); text-decoration: none; font-size: var(--sg-fs-xs); font-weight: 600; }
.sg-post-hero__cats .wp-block-post-terms__separator { display: none; }
.sg-post-hero__cats { display: flex; gap: 8px; flex-wrap: wrap; }
.sg-post-hero__img img { border-radius: 18px; width: 100%; max-height: 520px; object-fit: cover; box-shadow: 0 30px 60px rgba(10, 30, 70, .14); }
.sg-post-content { padding-top: 48px; padding-bottom: 60px; }
/* article / legal text: headings one tier below the section scale (the page H1 is above them) */
.sg-prose { font-size: var(--sg-fs-body); line-height: 1.7; color: var(--sg-text); }
.sg-prose > * + * { margin-top: 1.1em; }
.sg-prose h2 { font-size: var(--sg-fs-h3); margin-top: 1.8em; }
.sg-prose h3 { font-size: var(--sg-fs-h4); margin-top: 1.6em; }
.sg-prose h4 { font-size: var(--sg-fs-h5); margin-top: 1.4em; }
.sg-prose h5, .sg-prose h6 { line-height: 1.5; }
.sg-prose ul, .sg-prose ol { padding-left: 1.3em; }
.sg-prose li + li { margin-top: .35em; }
.sg-prose img { border-radius: 12px; max-width: 100%; height: auto; }
.sg-prose .wp-caption { max-width: 100% !important; margin-inline: auto; }
.sg-prose :is(figcaption, .wp-caption-text, .wp-element-caption) { color: var(--sg-muted); font-size: var(--sg-fs-small); line-height: 1.5; margin-top: 8px; }
.sg-prose .is-style-sg-lead { margin-bottom: 0; }
.sg-prose > .is-style-sg-lead + :not(h2, h3) { margin-top: 28px; }
/* columns inside articles: a row of heading cards after other content gets the section gap; card titles in 3+ column rows = card-title size, 4+ columns = small card-title size */
.sg-prose > .wp-block-columns:not(:first-child, :is(h2, h3, h4) + *):has(> .wp-block-column > :is(h2, h3):first-child) { margin-top: calc(var(--sg-fs-h3) * 1.8); }
.sg-prose .wp-block-columns:has(> .wp-block-column:nth-child(3)) > .wp-block-column > h2:first-child { font-size: var(--sg-fs-h4); }
.sg-prose .wp-block-columns:has(> .wp-block-column:nth-child(4)) > .wp-block-column > :is(h2, h3, h4):first-child { font-size: var(--sg-fs-h5); line-height: 1.3; }
@media (min-width: 782px) {
	.sg-prose .wp-block-columns:has(> .wp-block-column:nth-child(5)) { flex-wrap: wrap !important; row-gap: 32px; }
	.sg-prose .wp-block-columns:has(> .wp-block-column:nth-child(5)) > .wp-block-column { flex: 0 0 calc((100% - 64px) / 3) !important; }
}
.sg-prose a:not(.wp-element-button) { color: var(--sg-blue); }
.sg-prose ol { padding-left: 1.8em; }
.sg-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.sg-prose td, .sg-prose th { border: 1px solid rgba(63, 98, 174, .2); padding: 8px 12px; }
.sg-prose .wp-block-columns { gap: 32px; }
.sg-prose .sg-stats { margin: 30px 0; }
.sg-prose .sg-gallery { margin: 30px 0; }
.sg-post-nav { margin-top: 56px; padding-top: 28px; border-top: 1px solid rgba(63, 98, 174, .15); gap: 20px; font-size: 15px; }
.sg-post-nav a { color: var(--sg-ink); font-weight: 600; text-decoration: none; }
.sg-post-nav a:hover { color: var(--sg-orange); }
.sg-legal { padding-top: 40px; padding-bottom: 80px; }
.sg-page-hero--simple { padding-top: 60px; padding-bottom: 50px; }
.sg-page-hero--simple .sg-page-title { margin: 0; }
.sg-page-hero--simple:has(+ .sg-legal) > * { max-width: 860px; }
.sg-search { max-width: 560px; margin: 26px auto 40px; }
.sg-search input { border-radius: 999px !important; border: 1.5px solid #8FB0E4 !important; padding: 12px 22px !important; }
.sg-search .wp-block-search__button { border-radius: 999px !important; background: var(--sg-orange) !important; color: #fff !important; border: 0 !important; padding: 12px 26px !important; }
.sg-blog-page { padding-top: 56px; padding-bottom: 90px; }
.sg-blog-page__title { font-size: var(--sg-fs-h1) !important; }

/* ---------- Footer ---------- */
.sg-footer-part { margin-top: 0; }
.sg-footer { background: var(--sg-footer); color: #AEB9D2; padding-top: 44px; padding-bottom: 0; font-size: var(--sg-fs-small); line-height: 1.55; }
.sg-footer__cols { gap: 0 !important; padding-bottom: 24px; }
.sg-footer__cols > .wp-block-column { padding: 0 32px; }
.sg-footer__cols > .wp-block-column + .wp-block-column { border-left: 1px solid rgba(255, 255, 255, .09); }
.sg-footer__cols > .wp-block-column:first-child { padding-left: 0; }
.sg-footer__logo figure { margin: 8px 0 0 -8px; }
.sg-footer__logo img { width: 124px; display: block; }
.sg-footer__title { color: #fff; font-size: 16px !important; font-weight: 600; margin: 0 0 12px; letter-spacing: 0; }
.sg-footer p { margin: 0 0 14px; color: #AEB9D2; }
.sg-footer a { color: #AEB9D2; text-decoration: none; }
.sg-footer a:hover { color: var(--sg-orange); }
.sg-footer__links { list-style: none; padding: 0 !important; margin: 0; }
.sg-footer__links li { margin: 0; line-height: 22px; }
.sg-footer__phone, .sg-footer__mail { display: flex; align-items: center; gap: 16px; margin-bottom: 8px !important; }
.sg-footer__phone::before, .sg-footer__mail::before { content: ""; width: 16px; height: 16px; flex: none; background: #fff; -webkit-mask: var(--sg-ico-phone-solid) center / contain no-repeat; mask: var(--sg-ico-phone-solid) center / contain no-repeat; }
.sg-footer__mail::before { -webkit-mask-image: var(--sg-ico-mail); mask-image: var(--sg-ico-mail); }
.sg-social { gap: 12px !important; margin-top: 22px !important; }
.sg-social .wp-social-link { background: transparent !important; color: #5B8CE0 !important; border: 1.5px solid #3F6BC4; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.sg-social .wp-social-link a { padding: 0 !important; color: #5B8CE0 !important; display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; }
.sg-social .wp-social-link svg { width: 18px; height: 18px; }
.sg-social .wp-social-link:hover { border-color: var(--sg-orange); }
.sg-social .wp-social-link:hover a { color: var(--sg-orange) !important; }
.sg-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .09); padding: 22px 0 26px; gap: 12px 30px; font-size: 13px; }
.sg-footer__bottom p { margin: 0; color: #98A5C2; }
.sg-footer__credit { margin-left: 18px; opacity: .75; }
.sg-footer__legal a { color: #D5DCEB; }
.sg-footer__pipe { margin: 0 18px; opacity: .5; }

/* ---------- Gallery ---------- */
.sg-gallery img { border-radius: 10px; }

/* ---------- Page specific additions ---------- */
/* (.sg-eyebrow--stack / --bar-below used to move the dash per page; every eyebrow now looks the same) */
.sg-head--stats { margin-bottom: 26px; }
.sg-stats-title { margin: 0 !important; }
.sg-stats-sub { color: var(--sg-text); font-size: var(--sg-fs-lead-lg); font-weight: 500; line-height: 1.45; margin: 4px 0 0 !important; }
.sg-stats-lead { margin-top: 14px !important; max-width: 1000px; }
.sg-section--stats { padding-top: 56px; padding-bottom: 40px; }
.sg-section--stats-3 { padding-bottom: 80px; }
.sg-prod__icon { width: 112px; height: 112px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #F1F6FE 0, #DCE7F9 100%); display: flex; align-items: center; justify-content: center; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6); }
.sg-prod__icon img { width: 54px !important; height: 54px !important; }
.sg-products-hero .sg-hero-photo img { -webkit-mask-image: none; mask-image: none; border-radius: 0 0 0 40px; }
.sg-products-hero .sg-page-hero__cols { align-items: flex-start !important; }
/* job card kicker = the same eyebrow style (was 16.5px #2E3B58 because ".sg-job p" out-ranked it) */
.sg-job p.sg-job__kicker { display: flex; align-items: center; gap: 18px; color: var(--sg-blue); font-size: var(--sg-fs-small); font-weight: 500; letter-spacing: .3em; text-transform: uppercase; line-height: 1.3; margin-bottom: 18px !important; }
.sg-job p.sg-job__kicker::before { content: ""; width: 34px; height: 3px; border-radius: 2px; background: var(--sg-orange); flex: none; }
.sg-vydejna-hero > .sg-vydejna-hero__text { width: 100%; }  /* flex column parent shrank it to 620px and centred it over the photo */
.sg-vydejna-hero .sg-vydejna-hero__text > * { max-width: 620px; margin-left: auto !important; margin-right: 0 !important; }
.sg-vydejna-hero__text > p:not([class]) { line-height: var(--sg-lh-body); }
.sg-vydejna-hero .sg-page-title { margin-bottom: 10px; }
.sg-section--vyd { padding-top: 64px; padding-bottom: 72px; }
.sg-section--vyd .sg-head { margin-bottom: 40px; }
.sg-section--vyd .is-style-sg-eyebrow { justify-content: center; }
.sg-vyd-title.is-style-sg-bar::after { display: none; }
.sg-section--mobile { padding-top: 60px; padding-bottom: 60px; }
.sg-mobile-title { margin-bottom: 40px !important; }
.sg-section--benefits { padding-top: 8px; padding-bottom: 20px; background-position: center bottom; }
.sg-benefits__cta { margin-top: -24px; position: relative; z-index: 2; }
.sg-inv-hero { padding-bottom: 24px; }
.sg-inv-hero .sg-page-hero__cols { align-items: flex-start !important; }
.sg-inv-photo { margin: -72px -24px 0 0 !important; }
@media (min-width: 1101px) { .sg-inv-photo { margin-right: calc(-1 * max(24px, (var(--sg-page-w) - var(--sg-container)) / 2)) !important; } }
.sg-inv-photo img { border-radius: 0; -webkit-mask-image: none; mask-image: none; }
.sg-inv-hero .sg-page-hero__text .wp-block-buttons { margin-top: 36px; }
.sg-section--team { padding-top: 40px; padding-bottom: 90px; }
.sg-section--team .is-style-sg-eyebrow { justify-content: center; }
.sg-team-title.is-style-sg-bar::after { display: none; }
.sg-section--team .sg-section-lead { margin-top: 8px !important; }
.sg-service-hero .sg-page-hero__cols, .sg-product-hero .sg-page-hero__cols { align-items: center !important; }
.sg-charity__media { align-self: flex-start; padding-top: 30px; }
.sg-refs-page { padding-top: 70px; padding-bottom: 100px; }
.sg-refs-page .sg-head { margin-bottom: 44px; }
.sg-refs-page .sg-page-title { margin: 0 !important; }
.sg-refs-page .sg-section-lead { margin-top: 14px !important; }
.sg-jobs-page { padding-top: 60px; padding-bottom: 60px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1280px) {
	:root { --sg-header-h: 112px; }
	.sg-header__logo img { width: 210px; }
	.sg-nav { font-size: 17px; letter-spacing: .06em; }
	.sg-nav .wp-block-navigation__container { gap: 24px; }
	.sg-header__nav { gap: 26px; }
	.sg-btn-header .wp-block-button__link { font-size: 17px; padding: 8px 26px; }
	.sg-pcard { padding: 32px 30px 30px; }
	.sg-footer__cols > .wp-block-column { padding: 0 20px; }
}
@media (max-width: 1100px) {
	/* the horizontal menu does not fit below 1100px (WP only switches to the overlay below 600px) */
	.sg-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sg-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.sg-header__cta { display: none !important; }
	.sg-nav .sg-nav-contact { display: block; }
	.sg-tiles, .sg-pcards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.sg-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.sg-refs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.sg-logo-tile { flex-basis: calc((100% - 3 * 12px) / 4); }
	.sg-steps { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; row-gap: 30px !important; }
	.sg-step + .sg-step::before { display: none; }
	.sg-stats--4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 40px !important; }
	.sg-stats--4 .sg-stat:nth-child(3)::before { display: none; }
	.sg-benefits .sg-features, .sg-mobile-cols, .sg-prodlist { grid-template-columns: 1fr !important; }
	.sg-mobile-col, .sg-prod { padding: 26px 0 !important; }
	.sg-mobile-col + .sg-mobile-col::before, .sg-prod + .sg-prod::before { left: 0; right: 0; width: auto; height: 1px; top: 0; bottom: auto; }
	.sg-mobile-col + .sg-mobile-col::after { display: none; }
	.sg-vyd-features::before, .sg-inv-hero .sg-features::before { display: none; }
	.sg-footer__cols { flex-wrap: wrap !important; row-gap: 30px; }
	.sg-footer__cols > .wp-block-column { flex-basis: 33% !important; border-left: 0 !important; }
	.sg-footer__cols > .wp-block-column.sg-footer__logo { flex-basis: 100% !important; }
}
@media (max-width: 781px) {
	:root { --sg-header-h: 78px; }
	.admin-bar .sg-header-part { top: 46px; }
	.sg-header__logo img { width: 170px; }
	.is-scrolled .sg-header__bar { min-height: 70px; }
	.is-scrolled .sg-header__logo img { width: 150px; }
	.sg-hero-home { min-height: 560px; padding-top: 64px; padding-bottom: 72px; }
	.sg-hero-home > .sg-hero-home__bg img { object-position: 70% center; }
	.sg-hero-home::before { background: linear-gradient(180deg, rgba(6, 22, 60, .9) 0%, rgba(6, 22, 60, .82) 60%, rgba(6, 22, 60, .45) 100%); }
	.sg-section-lead br { display: none; }
	.has-text-align-center.is-style-sg-eyebrow { flex-direction: column; gap: 12px; letter-spacing: .2em; }
	.sg-dark-text p { text-align: left; }
	.sg-writeus__person .sg-person { max-width: none !important; }
	.sg-stats--4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 12px !important; }
	.sg-stats--4 .sg-stat { padding: 0 6px; }
	.sg-collage { margin-left: -24px !important; margin-right: -24px !important; }
	.sg-doc { padding: 16px 18px; gap: 14px !important; min-height: 0; }
	.sg-doc__icon, .sg-doc__icon img { width: 60px; height: 60px; }
	.sg-doc__title a { gap: 10px; }
	.sg-doc__title a::after { width: 42px; height: 42px; }
	.sg-doc::after { right: 29px; width: 20px; height: 20px; }
	.sg-hero-home__cta { margin-top: 36px; }
	.sg-tiles, .sg-pcards, .sg-members, .sg-features, .sg-jobs .wp-block-columns { grid-template-columns: 1fr !important; }
	.sg-posts__grid { grid-template-columns: 1fr !important; }
	.sg-refs { grid-template-columns: 1fr !important; gap: 12px !important; }
	.sg-ref { padding: 20px 22px 22px; }
	.sg-ref__logo-wrap { height: 64px; margin-bottom: 12px; }
	.sg-ref__logo img { height: 56px; }
	.sg-logo-tile { flex-basis: calc((100% - 12px) / 2); min-width: 0; height: 120px; padding: 14px; }
	.sg-logos__nav { display: none; }
	.sg-steps { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.sg-stats--3, .sg-stats--4 { grid-template-columns: 1fr !important; row-gap: 36px !important; }
	.sg-stat + .sg-stat::before { display: none; }
	.sg-contact__title { margin-top: 0; }
	.sg-contact__company { margin-top: 40px; }
	.sg-formcard { padding: 28px 20px; }
	.sg-wpf .wpforms-field-container { grid-template-columns: 1fr; }
	.sg-wpf .wpforms-field { grid-column: 1 / -1 !important; }
	.sg-wpf--light .wpforms-submit-container { margin-top: 20px !important; justify-content: flex-start; }
	.sg-wpf--light .wpforms-field-checkbox { padding-right: 0 !important; }
	.sg-wpf--light .wpforms-field-checkbox li label { white-space: normal; }
	.sg-vyd-box { padding: 22px; flex-direction: column; align-items: flex-start; }
	.sg-vyd-box::before { display: none; }
	.sg-vyd-box__icon { margin: 0 !important; }
	.sg-vyd-box__text { padding-left: 0; }
	.sg-vydejna-hero { background-size: 160% auto; background-position: left top; padding-top: calc(160vw * 916 / 1716 + 12px) !important; min-height: 0; }
	.sg-team-hero.is-style-sg-bg-team-hero { background-image: linear-gradient(180deg, rgba(243, 246, 251, .45) 0, rgba(243, 246, 251, .9) 70%, #F3F6FB 100%), url(../img/bg/team-hero.webp); background-size: 100% 94vw, 180% auto; background-position: 0 0, 80% top; }
	.sg-charity { background-image: none; }
	.sg-job { padding: 28px 22px; }
	.sg-benefits { padding: 24px 20px; }
	.sg-doc { flex-basis: 100%; }
	.sg-footer__cols { row-gap: 30px !important; }
	.sg-footer__cols > .wp-block-column { flex-basis: 100% !important; padding: 0 !important; }
	.sg-footer__credit { display: block; margin: 6px 0 0; }
	.is-style-sg-frame::before { right: -14px; bottom: -14px; border-width: 10px; }
	.is-style-sg-frame::after { left: -8px; top: -12px; width: 14px; height: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* flow-gap resets for self-spaced components */
.sg-post__body, .sg-person__body, .sg-feature__text, .sg-inv-lifecycle, .sg-vyd-box__text { margin-block-start: 0 !important; }
.sg-pcard.is-layout-flow > *, .sg-stat.is-layout-flow > *, .sg-step.is-layout-flow > *, .sg-member.is-layout-flow > *, .sg-ref.is-layout-flow > * { margin-block-start: 0; }

