/* Remote font files are enqueued conditionally by includes/fonts.php. Without
 * them, symbol ligature names remain readable text and self-hosted @font-face
 * declarations can target the same family without changing widget markup. */
.material-symbols-rounded,
.material-symbols-outlined {
	font-family: "Material Symbols Rounded", sans-serif;
	font-weight: normal;
	font-style: normal;
	font-size: 1em;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: "liga";
	font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
}

/* Gradient text utility (orange → red warm) */
.gw-text-grad-warm {
	background: linear-gradient(90deg, #ff4d1a 0%, #b82f06 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Pill highlight (background orange, white text, rounded) */
.gw-pill-hl {
	display: inline-flex;
	align-items: center;
	background: #ff4d1a;
	color: #ffffff;
	padding: 0.08em 0.34em;
	border-radius: 999px;
}

:root {
	--gotoweb-ink: #101114;
	--gotoweb-muted: #626772;
	--gotoweb-line: #dfe3ea;
	--gotoweb-paper: #ffffff;
	--gotoweb-soft: #f4f7fb;
	--gotoweb-accent: #1d4ed8;
	--gotoweb-radius: 8px;
}

.monteby-list > li::marker {
	color: var(--monteby-list-marker-color, currentColor);
}

.monteby-list--marker-dash > li::marker {
	content: "— ";
}

.monteby-list--marker-check > li::marker {
	content: "✓ ";
}

.monteby-list--marker-diamond > li::marker {
	content: "◆ ";
}

.mb-background-video {
	position: absolute;
	inset: 0;
	z-index: -2;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--gotoweb-background-position-x-base, 50%) var(--gotoweb-background-position-y-base, 50%);
	pointer-events: none;
}

.mb-background-video[hidden],
.mb-background-video[data-playback-state="disabled"] {
	display: none;
}

.mb-background-root {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	border-radius: inherit;
	isolation: isolate;
	pointer-events: none;
}

.mb-background-media,
.mb-background-layer {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.mb-background-root > .mb-background-video {
	z-index: 0;
}

.mb-background-media--image {
	z-index: 0;
	background-position: var(--gotoweb-background-position-x-base, 50%) var(--gotoweb-background-position-y-base, 50%);
}

/* Filtr bazowego medium per tier. Zmienna niesie całą wartość filtra, więc tier
   bez własnej wartości nie dostaje żadnej funkcji identycznościowej. Dokument
   bez wariantu responsywnego nie emituje ani jednej z tych zmiennych i niesie
   filtr wprost w stylu inline. */
.mb-background-media {
	--mb-background-media-filter: var(--mb-background-media-filter-base, none);
}

.mb-background-layer {
	--mb-background-layer-x: var(--mb-background-layer-x-base, 50%);
	--mb-background-layer-y: var(--mb-background-layer-y-base, 50%);
	--mb-background-layer-size: var(--mb-background-layer-size-base, 50%);
	--mb-background-layer-size-y: var(--mb-background-layer-size-y-base, var(--mb-background-layer-size-base, 50%));
	opacity: var(--mb-background-layer-opacity-base, 1);
}

.gotoweb-menu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gotoweb-menu--vertical ul {
	display: grid;
	gap: 10px;
}

.gotoweb-search-form,
.gotoweb-form {
	display: grid;
	gap: 14px;
	max-width: 560px;
}

.gotoweb-form__status {
	grid-column: 1 / -1;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid currentColor;
	border-radius: 8px;
	font-weight: 600;
}

.gotoweb-form__status--success {
	color: #166534;
	background: #f0fdf4;
}

.gotoweb-form__status--error {
	color: #991b1b;
	background: #fef2f2;
}

.gotoweb-form__error-summary ul {
	margin: 8px 0 0;
	padding-inline-start: 20px;
}

.gotoweb-form__error-summary a {
	color: inherit;
}

.gotoweb-form__error {
	display: block;
	margin-top: 6px;
	color: #991b1b;
	font-size: 0.875em;
}

.gotoweb-form__collection-notice {
	display: grid;
	grid-column: 1 / -1;
	gap: 12px;
	width: 100%;
	padding: 16px;
	border: 1px solid currentColor;
	border-color: color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 10px;
	background: transparent;
	background: color-mix(in srgb, currentColor 4%, transparent);
	color: inherit;
}

.gotoweb-form__collection-notice p,
.gotoweb-form__collection-notice h4,
.gotoweb-form__collection-notice ul {
	margin: 0;
}

.gotoweb-form__collection-notice-summary {
	line-height: 1.55;
}

.gotoweb-form__collection-notice-links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	padding: 0;
	list-style: none;
}

.gotoweb-form__collection-notice-link {
	color: inherit;
	font-weight: 650;
	text-underline-offset: 0.18em;
}

.gotoweb-form__collection-notice-disclosure {
	border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	padding-top: 10px;
}

.gotoweb-form__collection-notice-disclosure-label {
	cursor: pointer;
	font-weight: 700;
}

.gotoweb-form__collection-notice-sections {
	display: grid;
	gap: 12px;
	padding-top: 12px;
}

.gotoweb-form__collection-notice-section {
	display: grid;
	gap: 4px;
}

.gotoweb-form__collection-notice-heading {
	font: inherit;
	font-weight: 700;
}

.gotoweb-form__collection-notice-text,
.gotoweb-form__collection-notice-warning {
	white-space: pre-line;
	line-height: 1.55;
}

.gotoweb-form__collection-notice-warning {
	padding-left: 12px;
	border-left: 2px solid currentColor;
	font-weight: 600;
}

.gotoweb-login-form {
	display: grid;
	gap: var(--gotoweb-login-form-gap, 14px);
	max-width: var(--gotoweb-login-form-max-width, 560px);
	padding: var(--gotoweb-login-form-padding, 0);
	border-width: var(--gotoweb-login-form-border-width, 0);
	border-style: solid;
	border-color: var(--gotoweb-login-form-border-color, transparent);
	border-radius: var(--gotoweb-login-form-border-radius, 0);
	background-color: var(--gotoweb-login-form-background-color, transparent);
}

.gotoweb-search-form {
	grid-template-columns: minmax(0, 1fr) auto;
}

.gotoweb-search-form label {
	display: block;
}

.gotoweb-search-form input,
.gotoweb-form input,
.gotoweb-form textarea,
.gotoweb-form select {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--gotoweb-line);
	border-radius: 6px;
	background: var(--gotoweb-paper);
	color: var(--gotoweb-ink);
	font: inherit;
}

.gotoweb-login-form form,
.gotoweb-login-form .login-username,
.gotoweb-login-form .login-password,
.gotoweb-login-form .login-remember,
.gotoweb-login-form .login-submit,
.gotoweb-login-form__register,
.gotoweb-login-form__logged-in {
	margin: 0;
}

.gotoweb-login-form form {
	display: grid;
	gap: var(--gotoweb-login-form-gap, 14px);
}

.gotoweb-login-form label {
	display: block;
	margin-bottom: var(--gotoweb-login-label-margin-bottom, 4px);
	color: var(--gotoweb-login-label-color, var(--gotoweb-ink));
	font-size: var(--gotoweb-login-label-font-size, 14px);
	font-weight: var(--gotoweb-login-label-font-weight, 500);
}

.gotoweb-login-form input:not([type="submit"]):not([type="checkbox"]):not([type="hidden"]) {
	width: 100%;
	min-height: var(--gotoweb-login-input-min-height, 42px);
	padding: var(--gotoweb-login-input-padding, 8px 12px);
	border-width: var(--gotoweb-login-input-border-width, 1px);
	border-style: solid;
	border-color: var(--gotoweb-login-input-border-color, var(--gotoweb-line));
	border-radius: var(--gotoweb-login-input-border-radius, 8px);
	background-color: var(--gotoweb-login-input-background-color, var(--gotoweb-paper));
	color: var(--gotoweb-login-input-text-color, var(--gotoweb-ink));
	font-size: var(--gotoweb-login-input-font-size, 14px);
}

.gotoweb-login-form .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 0;
}

.gotoweb-login-form input[type="checkbox"] {
	width: auto;
	min-height: 0;
	margin: 0;
}

.gotoweb-form textarea {
	min-height: 120px;
	resize: vertical;
}

.gotoweb-search-form button,
.gotoweb-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--gotoweb-ink);
	border-radius: 6px;
	background: var(--gotoweb-ink);
	color: #ffffff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.gotoweb-login-form input[type="submit"],
.gotoweb-login-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: var(--gotoweb-login-button-min-height, 42px);
	padding: var(--gotoweb-login-button-padding, 8px 16px);
	border-width: var(--gotoweb-login-button-border-width, 1px);
	border-style: solid;
	border-color: var(--gotoweb-login-button-border-color, var(--gotoweb-ink));
	border-radius: var(--gotoweb-login-button-border-radius, 8px);
	background-color: var(--gotoweb-login-button-background-color, var(--gotoweb-ink));
	color: var(--gotoweb-login-button-text-color, #ffffff);
	font-family: inherit;
	font-size: var(--gotoweb-login-button-font-size, inherit);
	font-weight: var(--gotoweb-login-button-font-weight, 700);
	cursor: pointer;
}

.gotoweb-login-form__register {
	text-align: center;
}

.gotoweb-login-form__register a {
	color: var(--gotoweb-login-register-link-color, var(--gotoweb-ink));
	font-size: var(--gotoweb-login-register-link-font-size, 14px);
}

.gotoweb-form__field {
	display: grid;
	gap: 6px;
	margin: 0;
}

.gotoweb-form__field--checkbox label,
.gotoweb-form fieldset label {
	display: flex;
	align-items: center;
	gap: 8px;
}

.gotoweb-form__field--checkbox input,
.gotoweb-form fieldset input {
	width: auto;
	min-height: 0;
}

/* Radio option layout (editor `layout` prop: vertical | horizontal). */
.gotoweb-form__radios {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gotoweb-form__radios--horizontal {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
}

/* Per-field focus colour set via the `--gw-form-focus` custom property the
   renderer emits from the editor's "Focus Color" Style prop. */
.gotoweb-form input:focus,
.gotoweb-form textarea:focus,
.gotoweb-form select:focus {
	border-color: var(--gw-form-focus, var(--gotoweb-line));
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--gw-form-focus, transparent) 20%, transparent);
}

.gotoweb-form__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.gotoweb-form--multistep > .gotoweb-form__progress,
.gotoweb-form--multistep > .gotoweb-form__step-list,
.gotoweb-form--multistep > .gotoweb-form__step-status,
.gotoweb-form--multistep > .gotoweb-form__step {
	grid-column: 1 / -1;
	width: 100%;
}

.gotoweb-form__progress {
	overflow: hidden;
	height: 6px;
	border-radius: 999px;
	background: color-mix(in srgb, currentColor 12%, transparent);
}

.gotoweb-form__progress > span {
	display: block;
	width: calc(100% / var(--gotoweb-form-step-count, 1));
	height: 100%;
	border-radius: inherit;
	background: var(--gw-form-focus, var(--gotoweb-ink));
	transform-origin: left center;
	transition: width 240ms ease;
}

.gotoweb-form__step-list {
	display: grid;
	grid-template-columns: repeat(var(--gotoweb-form-step-count, 1), minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gotoweb-form__step-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	color: color-mix(in srgb, currentColor 58%, transparent);
	font-size: 0.875em;
}

.gotoweb-form__step-list li > span {
	display: inline-grid;
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 999px;
}

.gotoweb-form__step-list li[aria-current="step"] {
	color: inherit;
	font-weight: 700;
}

.gotoweb-form__step {
	display: grid;
	gap: 20px;
	outline: none;
}

.gotoweb-form.is-form-steps-ready .gotoweb-form__step[hidden] {
	display: none !important;
}

.gotoweb-form__step-header {
	display: grid;
	gap: 6px;
}

.gotoweb-form__step-header > * {
	margin: 0;
}

.gotoweb-form__step-kicker {
	font-size: 0.75em;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.65;
}

.gotoweb-form__step-fields {
	display: grid;
	gap: inherit;
}

.gotoweb-form--multistep.gotoweb-layout--stack-mobile .gotoweb-form__step-fields {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gotoweb-form__step-fields > [style*="grid-column:span 2"] {
	grid-column: span 2;
}

.gotoweb-form__step-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.gotoweb-form__step-actions .gotoweb-form__next {
	margin-left: auto;
}

.gotoweb-form[data-step-transition="fade"] .gotoweb-form__step.is-form-step-entering {
	animation: gotoweb-form-step-fade 220ms ease both;
}

.gotoweb-form[data-step-transition="slide"] .gotoweb-form__step.is-form-step-entering {
	animation: gotoweb-form-step-slide 260ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes gotoweb-form-step-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes gotoweb-form-step-slide {
	from { opacity: 0; transform: translateX(18px); }
	to { opacity: 1; transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
	.gotoweb-form__progress > span {
		transition: none;
	}

	.gotoweb-form[data-step-transition] .gotoweb-form__step.is-form-step-entering {
		animation: none;
	}
}

.gotoweb-posts-grid {
	width: 100%;
	margin: 0;
}

/*
 * QueryLoop zachowuje gęstą siatkę na desktopie, ale nie ściska kart
 * 3–6-kolumnowych w wąskim obszarze edytora ani na tabletach.
 */
@media (min-width: 701px) and (max-width: 1024px) {
	.gotoweb-posts-grid[data-columns="3"],
	.gotoweb-posts-grid[data-columns="4"],
	.gotoweb-posts-grid[data-columns="5"],
	.gotoweb-posts-grid[data-columns="6"] {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

.gotoweb-query-loop-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-top: 48px;
	font-size: 14px;
	font-weight: 600;
}

.gotoweb-query-loop-pagination a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid currentColor;
	border-radius: 999px;
	text-decoration: none;
	transition:
		color 180ms ease,
		background-color 180ms ease,
		transform 180ms ease;
}

.gotoweb-query-loop-pagination a:hover {
	transform: translateY(-2px);
}

.gotoweb-query-loop-pagination a:active {
	transform: translateY(0);
}

.gotoweb-query-loop-pagination a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.gotoweb-query-loop-pagination__status {
	font-variant-numeric: tabular-nums;
}

.gotoweb-post-card {
	overflow: hidden;
	border: 1px solid var(--gotoweb-line);
	border-radius: var(--gotoweb-radius);
	background: var(--gotoweb-paper);
}

.gotoweb-post-card > :not(a) {
	margin-right: 18px;
	margin-left: 18px;
}

.gotoweb-post-card h3 {
	margin-top: 18px;
}

.gotoweb-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--gotoweb-muted);
	font-size: 14px;
}

.gotoweb-site-branding {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	font-weight: 800;
	text-decoration: none;
}

.gotoweb-video,
.gotoweb-map {
	width: 100%;
}

.gotoweb-video iframe,
.gotoweb-map iframe {
	display: block;
	width: 100%;
	border: 0;
	border-radius: var(--gotoweb-radius);
}

.gotoweb-video iframe {
	aspect-ratio: 16 / 9;
	height: auto;
}

.gotoweb-accordion {
	display: grid;
	gap: 10px;
}

.gotoweb-accordion__controls {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.gotoweb-accordion__controls button {
	min-height: 36px;
	padding: 7px 12px;
	border: 1px solid currentColor;
	border-radius: 6px;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.gotoweb-accordion__controls button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.gotoweb-accordion__item {
	border: 1px solid var(--gotoweb-line);
	border-radius: var(--gotoweb-radius);
	background: var(--gotoweb-paper);
}

.gotoweb-accordion__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 16px 18px;
	border: 0;
	background: transparent;
	color: var(--gotoweb-ink);
	font: inherit;
	font-weight: 750;
	text-align: left;
	cursor: pointer;
}

.gotoweb-accordion__button::after {
	content: "+";
	font-weight: 800;
}

.gotoweb-accordion__button[aria-expanded="true"]::after {
	content: "-";
}

.gotoweb-accordion__panel {
	padding: 0 18px 18px;
	color: var(--gotoweb-muted);
}

/* TableBlock: mirrors the editor's styled cells (header bg, zebra rows, bordered
   cells). The front has no Tailwind so these utilities are reproduced as CSS. */
.gw-builder-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.gw-builder-table th,
.gw-builder-table td {
	padding: 8px 12px;
	border: 1px solid #e4e4e7;
	text-align: left;
}

.gw-builder-table thead th {
	background: #f4f4f5;
	font-weight: 600;
	color: #3f3f46;
}

.gw-builder-table tbody td {
	color: #52525b;
}

.gw-builder-table tbody tr:nth-child(even) {
	background: #fafafa;
}

.gotoweb-tabs {
	display: grid;
	gap: 18px;
}

.gotoweb-tabs__bar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gotoweb-tabs--vertical {
	align-items: start;
}

.gotoweb-tabs--vertical .gotoweb-tabs__bar {
	flex-direction: column;
	flex-wrap: nowrap;
}

.gotoweb-tabs--vertical .gotoweb-tabs__bar button:not([data-tabs-active-style]):not([data-tabs-inactive-style]) {
	width: 100%;
}

.gotoweb-tabs__bar button:not([data-tabs-active-style]):not([data-tabs-inactive-style]) {
	padding: 10px 14px;
	border: 1px solid var(--gotoweb-line);
	border-radius: 999px;
	background: var(--gotoweb-paper);
	color: var(--gotoweb-ink);
	font: inherit;
	cursor: pointer;
}

.gotoweb-tabs__bar button.is-active:not([data-tabs-active-style]),
.gotoweb-tabs__bar button[aria-selected="true"]:not([data-tabs-active-style]) {
	border-color: var(--gotoweb-ink);
	background: var(--gotoweb-ink);
	color: #ffffff;
}

.gotoweb-tabs__panel {
	padding: 20px;
	border: 1px solid var(--gotoweb-line);
	border-radius: var(--gotoweb-radius);
	background: var(--gotoweb-paper);
}

.gotoweb-tabs__panel[hidden] {
	display: none !important;
}

.gotoweb-tabs__panel--with-image {
	min-width: 0;
}

.gotoweb-tabs__content,
.gotoweb-tabs__image {
	min-width: 0;
}

.gotoweb-tabs__body > :first-child {
	margin-top: 0;
}

.gotoweb-tabs__body > :last-child {
	margin-bottom: 0;
}

@media (max-width: 1023px) {
	.gotoweb-tabs[data-panel-stack-at="tablet"] .gotoweb-tabs__panel--with-image {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.gotoweb-tabs[data-panel-stack-at="tablet"] > .gotoweb-tabs__panels > .gotoweb-tabs__panel--has-image > .gotoweb-tabs__panel-inner {
		flex-direction: column !important;
	}

	.gotoweb-tabs[data-panel-stack-at="tablet"] > .gotoweb-tabs__panels > .gotoweb-tabs__panel--has-image.gotoweb-tabs__panel--image-right > .gotoweb-tabs__panel-inner {
		flex-direction: column-reverse !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
  .monteby-button-icon--responsive > .material-symbols-rounded {
    font-size: var(--monteby-button-icon-size-tablet, var(--monteby-button-icon-size-base)) !important;
  }
}

@media (max-width: 767px) {
  .monteby-button-icon--responsive > .material-symbols-rounded {
    font-size: var(--monteby-button-icon-size-mobile, var(--monteby-button-icon-size-tablet, var(--monteby-button-icon-size-base))) !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
	.gotoweb-tabs[data-tabs-responsive] {
		gap: var(--gotoweb-tabs-layout-gap-tablet, var(--gotoweb-tabs-layout-gap-base, 18px)) !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-tablet="vertical"] {
		grid-template-columns: minmax(0, var(--gotoweb-tabs-tab-bar-track-width-tablet, var(--gotoweb-tabs-tab-bar-track-width-base, 320px))) minmax(0, 1fr) !important;
		align-items: start !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-tablet="horizontal"] {
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: normal !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-tablet="vertical"] > .gotoweb-tabs__bar {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		border-right-width: var(--gotoweb-tabs-bar-border-width, 0) !important;
		border-right-style: solid;
		border-right-color: var(--gotoweb-tabs-bar-border-color, transparent) !important;
		border-bottom-width: 0 !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-tablet="horizontal"] > .gotoweb-tabs__bar {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: normal !important;
		align-self: auto !important;
		border-right-width: 0 !important;
		border-bottom-width: var(--gotoweb-tabs-bar-border-width, 0) !important;
		border-bottom-style: solid;
		border-bottom-color: var(--gotoweb-tabs-bar-border-color, transparent) !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-tablet="vertical"] > .gotoweb-tabs__bar > button {
		flex: initial !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-tablet="horizontal"][data-tabs-bar-alignment="stretch"] > .gotoweb-tabs__bar > button {
		flex: 1 1 0 !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-tablet="horizontal"]:not([data-tabs-bar-alignment="stretch"]) > .gotoweb-tabs__bar > button {
		flex: initial !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-tablet="vertical"] > .gotoweb-tabs__bar > button[aria-selected="true"] {
		border-bottom-width: var(--gotoweb-tabs-inactive-border-width, 0) !important;
		border-bottom-style: var(--gotoweb-tabs-inactive-border-style, none) !important;
		border-bottom-color: var(--gotoweb-tabs-inactive-border-color, currentColor) !important;
		border-right-width: var(--gotoweb-tabs-active-border-width, 0) !important;
		border-right-style: var(--gotoweb-tabs-active-border-style, none) !important;
		border-right-color: var(--gotoweb-tabs-active-border-color, currentColor) !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-tablet="horizontal"] > .gotoweb-tabs__bar > button[aria-selected="true"] {
		border-right-width: var(--gotoweb-tabs-inactive-border-width, 0) !important;
		border-right-style: var(--gotoweb-tabs-inactive-border-style, none) !important;
		border-right-color: var(--gotoweb-tabs-inactive-border-color, currentColor) !important;
		border-bottom-width: var(--gotoweb-tabs-active-border-width, 0) !important;
		border-bottom-style: var(--gotoweb-tabs-active-border-style, none) !important;
		border-bottom-color: var(--gotoweb-tabs-active-border-color, currentColor) !important;
	}

	.gotoweb-tabs[data-tabs-responsive].gotoweb-tabs--vertical:not([data-tabs-responsive-orientation]) {
		grid-template-columns: minmax(0, var(--gotoweb-tabs-tab-bar-track-width-tablet, var(--gotoweb-tabs-tab-bar-track-width-base, 320px))) minmax(0, 1fr) !important;
	}

	.gotoweb-tabs[data-tabs-responsive] > .gotoweb-tabs__bar {
		width: var(--gotoweb-tabs-tab-bar-width-tablet, var(--gotoweb-tabs-tab-bar-width-base, 100%)) !important;
	}

	.gotoweb-tabs[data-tabs-responsive] > .gotoweb-tabs__bar > button {
		width: var(--gotoweb-tabs-tab-width-tablet, var(--gotoweb-tabs-tab-width-base, auto)) !important;
		min-height: var(--gotoweb-tabs-tab-min-height-tablet, var(--gotoweb-tabs-tab-min-height-base, auto)) !important;
	}

	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__panel-content,
	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__content {
		padding-top: var(--gotoweb-tabs-panel-content-padding-top-tablet, var(--gotoweb-tabs-panel-content-padding-top-base, 0px)) !important;
		padding-right: var(--gotoweb-tabs-panel-content-padding-x-tablet, var(--gotoweb-tabs-panel-content-padding-x-base, 0px)) !important;
		padding-bottom: var(--gotoweb-tabs-panel-content-padding-bottom-tablet, var(--gotoweb-tabs-panel-content-padding-bottom-base, 0px)) !important;
		padding-left: var(--gotoweb-tabs-panel-content-padding-x-tablet, var(--gotoweb-tabs-panel-content-padding-x-base, 0px)) !important;
	}

	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__eyebrow {
		line-height: var(--gotoweb-tabs-panel-eyebrow-line-height-tablet, var(--gotoweb-tabs-panel-eyebrow-line-height-base, normal)) !important;
	}

	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__image,
	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__panel-image {
		height: var(--gotoweb-tabs-panel-image-height-tablet, var(--gotoweb-tabs-panel-image-height-base, auto)) !important;
		object-position: var(--gotoweb-tabs-panel-image-object-position-x-tablet, var(--gotoweb-tabs-panel-image-object-position-x-base, 50%)) var(--gotoweb-tabs-panel-image-object-position-y-tablet, var(--gotoweb-tabs-panel-image-object-position-y-base, 50%)) !important;
	}
}

@media (max-width: 767px) {
	.gotoweb-tabs[data-tabs-responsive] {
		gap: var(--gotoweb-tabs-layout-gap-mobile, var(--gotoweb-tabs-layout-gap-tablet, var(--gotoweb-tabs-layout-gap-base, 18px))) !important;
	}

	.gotoweb-tabs:not(.gotoweb-tabs--vertical):not(.gotoweb-tabs--mobile-wrap):not(.gotoweb-tabs--mobile-stack):not([data-mobile-tab-layout="wrap"]):not([data-mobile-tab-layout="stack"]) .gotoweb-tabs__bar,
	.gotoweb-tabs.gotoweb-tabs--mobile-scroll .gotoweb-tabs__bar,
	.gotoweb-tabs[data-mobile-tab-layout="scroll"] .gotoweb-tabs__bar {
		width: var(--gotoweb-tabs-tab-bar-width-mobile, var(--gotoweb-tabs-tab-bar-width-tablet, var(--gotoweb-tabs-tab-bar-width-base, 100%))) !important;
		max-width: 100%;
		justify-content: flex-start !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
		scrollbar-color: rgba(100, 116, 139, 0.5) transparent;
		-webkit-overflow-scrolling: touch;
	}

	.gotoweb-tabs:not(.gotoweb-tabs--vertical):not(.gotoweb-tabs--mobile-wrap):not(.gotoweb-tabs--mobile-stack):not([data-mobile-tab-layout="wrap"]):not([data-mobile-tab-layout="stack"]) .gotoweb-tabs__bar::-webkit-scrollbar,
	.gotoweb-tabs.gotoweb-tabs--mobile-scroll .gotoweb-tabs__bar::-webkit-scrollbar,
	.gotoweb-tabs[data-mobile-tab-layout="scroll"] .gotoweb-tabs__bar::-webkit-scrollbar {
		height: 4px;
	}

	.gotoweb-tabs:not(.gotoweb-tabs--vertical):not(.gotoweb-tabs--mobile-wrap):not(.gotoweb-tabs--mobile-stack):not([data-mobile-tab-layout="wrap"]):not([data-mobile-tab-layout="stack"]) .gotoweb-tabs__bar::-webkit-scrollbar-track,
	.gotoweb-tabs.gotoweb-tabs--mobile-scroll .gotoweb-tabs__bar::-webkit-scrollbar-track,
	.gotoweb-tabs[data-mobile-tab-layout="scroll"] .gotoweb-tabs__bar::-webkit-scrollbar-track {
		background: transparent;
	}

	.gotoweb-tabs:not(.gotoweb-tabs--vertical):not(.gotoweb-tabs--mobile-wrap):not(.gotoweb-tabs--mobile-stack):not([data-mobile-tab-layout="wrap"]):not([data-mobile-tab-layout="stack"]) .gotoweb-tabs__bar::-webkit-scrollbar-thumb,
	.gotoweb-tabs.gotoweb-tabs--mobile-scroll .gotoweb-tabs__bar::-webkit-scrollbar-thumb,
	.gotoweb-tabs[data-mobile-tab-layout="scroll"] .gotoweb-tabs__bar::-webkit-scrollbar-thumb {
		background-color: rgba(100, 116, 139, 0.5);
		border-radius: 4px;
	}

	.gotoweb-tabs:not(.gotoweb-tabs--vertical):not(.gotoweb-tabs--mobile-wrap):not(.gotoweb-tabs--mobile-stack):not([data-mobile-tab-layout="wrap"]):not([data-mobile-tab-layout="stack"]) .gotoweb-tabs__bar button,
	.gotoweb-tabs.gotoweb-tabs--mobile-scroll .gotoweb-tabs__bar button,
	.gotoweb-tabs[data-mobile-tab-layout="scroll"] .gotoweb-tabs__bar button {
		width: var(--gotoweb-tabs-tab-width-mobile, var(--gotoweb-tabs-tab-width-tablet, var(--gotoweb-tabs-tab-width-base, auto))) !important;
		flex: 0 0 auto !important;
		scroll-snap-align: start;
	}

	.gotoweb-tabs.gotoweb-tabs--mobile-wrap .gotoweb-tabs__bar,
	.gotoweb-tabs[data-mobile-tab-layout="wrap"] .gotoweb-tabs__bar {
		width: var(--gotoweb-tabs-tab-bar-width-mobile, var(--gotoweb-tabs-tab-bar-width-tablet, var(--gotoweb-tabs-tab-bar-width-base, 100%))) !important;
		max-width: 100%;
		justify-content: flex-start !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		overflow: visible;
	}

	.gotoweb-tabs.gotoweb-tabs--mobile-wrap .gotoweb-tabs__bar button,
	.gotoweb-tabs[data-mobile-tab-layout="wrap"] .gotoweb-tabs__bar button {
		width: var(--gotoweb-tabs-tab-width-mobile, var(--gotoweb-tabs-tab-width-tablet, var(--gotoweb-tabs-tab-width-base, auto))) !important;
	}

	.gotoweb-tabs.gotoweb-tabs--mobile-stack .gotoweb-tabs__bar,
	.gotoweb-tabs[data-mobile-tab-layout="stack"] .gotoweb-tabs__bar {
		width: var(--gotoweb-tabs-tab-bar-width-mobile, var(--gotoweb-tabs-tab-bar-width-tablet, var(--gotoweb-tabs-tab-bar-width-base, 100%))) !important;
		max-width: 100%;
		flex-direction: column !important;
		align-items: stretch !important;
		overflow: visible;
	}

	.gotoweb-tabs.gotoweb-tabs--mobile-stack .gotoweb-tabs__bar button,
	.gotoweb-tabs[data-mobile-tab-layout="stack"] .gotoweb-tabs__bar button {
		width: 100% !important;
	}

	.gotoweb-tabs__bar button {
		min-height: var(--gotoweb-tabs-tab-min-height-mobile, var(--gotoweb-tabs-tab-min-height-tablet, var(--gotoweb-tabs-tab-min-height-base, 44px))) !important;
	}

	.gotoweb-tabs--vertical,
	.gotoweb-tabs__panel--with-image {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px !important;
	}

	.gotoweb-tabs__panel--has-image .gotoweb-tabs__panel-inner {
		flex-direction: column !important;
		gap: 24px !important;
	}

	.gotoweb-tabs__panel--has-image.gotoweb-tabs__panel--image-right .gotoweb-tabs__panel-inner {
		flex-direction: column-reverse !important;
	}

	.gotoweb-tabs--vertical .gotoweb-tabs__bar {
		width: var(--gotoweb-tabs-tab-bar-width-mobile, var(--gotoweb-tabs-tab-bar-width-tablet, var(--gotoweb-tabs-tab-bar-width-base, 100%))) !important;
		border-right-width: 0 !important;
		border-bottom-width: var(--gotoweb-tabs-bar-border-width, 0) !important;
		border-bottom-style: solid;
		border-bottom-color: var(--gotoweb-tabs-bar-border-color, transparent) !important;
	}

	.gotoweb-tabs--vertical:not(.gotoweb-tabs--mobile-scroll):not(.gotoweb-tabs--mobile-wrap):not([data-mobile-tab-layout="scroll"]):not([data-mobile-tab-layout="wrap"]) .gotoweb-tabs__bar button {
		width: 100% !important;
	}

	.gotoweb-tabs__image,
	.gotoweb-tabs__panel-image {
		width: 100% !important;
	}

	.gotoweb-tabs__content,
	.gotoweb-tabs__panel-content {
		max-width: 100% !important;
	}

	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__panel-content,
	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__content {
		padding-top: var(--gotoweb-tabs-panel-content-padding-top-mobile, var(--gotoweb-tabs-panel-content-padding-top-tablet, var(--gotoweb-tabs-panel-content-padding-top-base, 0px))) !important;
		padding-right: var(--gotoweb-tabs-panel-content-padding-x-mobile, var(--gotoweb-tabs-panel-content-padding-x-tablet, var(--gotoweb-tabs-panel-content-padding-x-base, 0px))) !important;
		padding-bottom: var(--gotoweb-tabs-panel-content-padding-bottom-mobile, var(--gotoweb-tabs-panel-content-padding-bottom-tablet, var(--gotoweb-tabs-panel-content-padding-bottom-base, 0px))) !important;
		padding-left: var(--gotoweb-tabs-panel-content-padding-x-mobile, var(--gotoweb-tabs-panel-content-padding-x-tablet, var(--gotoweb-tabs-panel-content-padding-x-base, 0px))) !important;
	}

	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__eyebrow {
		line-height: var(--gotoweb-tabs-panel-eyebrow-line-height-mobile, var(--gotoweb-tabs-panel-eyebrow-line-height-tablet, var(--gotoweb-tabs-panel-eyebrow-line-height-base, normal))) !important;
	}

	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__image,
	.gotoweb-tabs[data-tabs-responsive] .gotoweb-tabs__panel-image {
		height: var(--gotoweb-tabs-panel-image-height-mobile, var(--gotoweb-tabs-panel-image-height-tablet, var(--gotoweb-tabs-panel-image-height-base, auto))) !important;
		object-position: var(--gotoweb-tabs-panel-image-object-position-x-mobile, var(--gotoweb-tabs-panel-image-object-position-x-tablet, var(--gotoweb-tabs-panel-image-object-position-x-base, 50%))) var(--gotoweb-tabs-panel-image-object-position-y-mobile, var(--gotoweb-tabs-panel-image-object-position-y-tablet, var(--gotoweb-tabs-panel-image-object-position-y-base, 50%))) !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-mobile="vertical"] {
		display: grid !important;
		grid-template-columns: minmax(0, var(--gotoweb-tabs-tab-bar-track-width-mobile, var(--gotoweb-tabs-tab-bar-track-width-tablet, var(--gotoweb-tabs-tab-bar-track-width-base, 320px)))) minmax(0, 1fr) !important;
		align-items: start !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-mobile="horizontal"] {
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: normal !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-mobile="vertical"]:not([data-mobile-tab-layout]) > .gotoweb-tabs__bar {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		overflow: visible;
		border-right-width: var(--gotoweb-tabs-bar-border-width, 0) !important;
		border-right-style: solid;
		border-right-color: var(--gotoweb-tabs-bar-border-color, transparent) !important;
		border-bottom-width: 0 !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-mobile="vertical"]:not([data-mobile-tab-layout]) > .gotoweb-tabs__bar > button {
		width: 100% !important;
		flex: initial !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-mobile="horizontal"]:not([data-mobile-tab-layout]) > .gotoweb-tabs__bar {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: normal !important;
		align-self: auto !important;
		overflow-x: auto;
		border-right-width: 0 !important;
		border-bottom-width: var(--gotoweb-tabs-bar-border-width, 0) !important;
		border-bottom-style: solid;
		border-bottom-color: var(--gotoweb-tabs-bar-border-color, transparent) !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-mobile="horizontal"]:not([data-mobile-tab-layout]) > .gotoweb-tabs__bar > button {
		width: var(--gotoweb-tabs-tab-width-mobile, var(--gotoweb-tabs-tab-width-tablet, var(--gotoweb-tabs-tab-width-base, auto))) !important;
		flex: 0 0 auto !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-mobile-tab-layout] {
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: normal !important;
	}

	.gotoweb-tabs[data-tabs-responsive-orientation][data-mobile-tab-layout] > .gotoweb-tabs__bar {
		border-right-width: 0 !important;
		border-bottom-width: var(--gotoweb-tabs-bar-border-width, 0) !important;
		border-bottom-style: solid;
		border-bottom-color: var(--gotoweb-tabs-bar-border-color, transparent) !important;
	}

	.gotoweb-tabs[data-mobile-tab-layout="stack"] > .gotoweb-tabs__bar > button[aria-selected="true"],
	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-mobile="vertical"]:not([data-mobile-tab-layout]) > .gotoweb-tabs__bar > button[aria-selected="true"] {
		border-bottom-width: var(--gotoweb-tabs-inactive-border-width, 0) !important;
		border-bottom-style: var(--gotoweb-tabs-inactive-border-style, none) !important;
		border-bottom-color: var(--gotoweb-tabs-inactive-border-color, currentColor) !important;
		border-right-width: var(--gotoweb-tabs-active-border-width, 0) !important;
		border-right-style: var(--gotoweb-tabs-active-border-style, none) !important;
		border-right-color: var(--gotoweb-tabs-active-border-color, currentColor) !important;
	}

	.gotoweb-tabs[data-mobile-tab-layout="scroll"] > .gotoweb-tabs__bar > button[aria-selected="true"],
	.gotoweb-tabs[data-mobile-tab-layout="wrap"] > .gotoweb-tabs__bar > button[aria-selected="true"],
	.gotoweb-tabs[data-tabs-responsive-orientation][data-tabs-orientation-mobile="horizontal"]:not([data-mobile-tab-layout]) > .gotoweb-tabs__bar > button[aria-selected="true"] {
		border-right-width: var(--gotoweb-tabs-inactive-border-width, 0) !important;
		border-right-style: var(--gotoweb-tabs-inactive-border-style, none) !important;
		border-right-color: var(--gotoweb-tabs-inactive-border-color, currentColor) !important;
		border-bottom-width: var(--gotoweb-tabs-active-border-width, 0) !important;
		border-bottom-style: var(--gotoweb-tabs-active-border-style, none) !important;
		border-bottom-color: var(--gotoweb-tabs-active-border-color, currentColor) !important;
	}
}

.gotoweb-modal__trigger {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--gotoweb-ink);
	border-radius: 6px;
	background: var(--gotoweb-ink);
	color: #ffffff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.gw-lightbox-trigger {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
}

.gw-lightbox-trigger img {
	display: block;
	width: 100%;
	height: auto;
}

.gw-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(16, 17, 20, 0.82);
	cursor: zoom-out;
}

.gw-lightbox[hidden] {
	display: none;
}

.gw-lightbox__img {
	max-width: 92vw;
	max-height: 88vh;
	width: auto;
	height: auto;
	border-radius: var(--gotoweb-radius);
	box-shadow: 0 24px 90px rgba(16, 17, 20, 0.5);
	cursor: default;
}

.gw-lightbox__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	font-size: 24px;
	line-height: 1;
	color: #fff;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	cursor: pointer;
}

.gw-branding-logo {
	display: inline-flex;
	align-items: center;
}

.gw-branding-logo img {
	max-height: var(--gw-logo-h);
	/*
	 * Fala 8B: szerokość prezentacyjna jest niezależna od wysokości. Bez
	 * --gw-logo-w wartość rozwija się do auto, czyli dokładnie zachowanie
	 * sprzed tej fali.
	 */
	width: var(--gw-logo-w, auto);
	height: auto;
}

@media (max-width: 1023px) {
	.gw-branding-logo--responsive img {
		width: var(--gw-logo-w-tablet, var(--gw-logo-w, auto));
	}
}

@media (max-width: 767px) {
	.gw-branding-logo--responsive img {
		width: var(--gw-logo-w-mobile, var(--gw-logo-w-tablet, var(--gw-logo-w, auto)));
	}
}

.gotoweb-modal-open {
	overflow: hidden;
}

.gotoweb-modal__overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(16, 17, 20, 0.58);
}

.gotoweb-modal__overlay[hidden] {
	display: none;
}

.gotoweb-modal__dialog {
	position: relative;
	width: min(620px, 100%);
	padding: 28px;
	border-radius: var(--gotoweb-radius);
	background: var(--gotoweb-paper);
	color: var(--gotoweb-ink);
	box-shadow: 0 24px 90px rgba(16, 17, 20, 0.28);
}

.gotoweb-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: 1px solid var(--gotoweb-line);
	border-radius: 999px;
	background: var(--gotoweb-paper);
	cursor: pointer;
}

.gotoweb-slider,
.gotoweb-carousel {
	position: relative;
	overflow: hidden;
}

.gotoweb-slider__slide,
.gotoweb-carousel__slide {
	display: none;
}

.gotoweb-slider__slide.is-active,
.gotoweb-carousel__slide.is-active {
	display: block;
}

.gotoweb-slider__slide img,
.gotoweb-carousel__slide img {
	width: 100%;
	height: auto;
	border-radius: var(--gotoweb-radius);
}

[data-slider-prev],
[data-slider-next],
[data-carousel-prev],
[data-carousel-next] {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 38px;
	height: 38px;
	border: 1px solid var(--gotoweb-line);
	border-radius: 999px;
	background: var(--gotoweb-paper);
	box-shadow: 0 8px 24px rgba(16, 17, 20, 0.14);
	cursor: pointer;
	transform: translateY(-50%);
}

[data-slider-prev],
[data-carousel-prev] {
	left: 14px;
}

[data-slider-next],
[data-carousel-next] {
	right: 14px;
}

[data-slider-prev]::before,
[data-carousel-prev]::before {
	content: "<";
}

[data-slider-next]::before,
[data-carousel-next]::before {
	content: ">";
}

.gotoweb-slider__dots,
.gotoweb-carousel__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 12px;
}

.gotoweb-slider__dots button,
.gotoweb-carousel__dots button {
	position: relative;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	cursor: pointer;
}

.gotoweb-slider__dots button::after,
.gotoweb-carousel__dots button::after {
	position: absolute;
	inset: 7.5px;
	border-radius: inherit;
	background: #c8ced8;
	content: "";
}

.gotoweb-slider__dots button.is-active::after,
.gotoweb-carousel__dots button.is-active::after {
	background: var(--gotoweb-accent);
}

.gotoweb-countdown {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.gotoweb-countdown__segment {
	display: grid;
	min-width: 84px;
	padding: 14px;
	border: 1px solid var(--gotoweb-line);
	border-radius: var(--gotoweb-radius);
	background: var(--gotoweb-soft);
	text-align: center;
}

.gotoweb-countdown__segment strong {
	font-size: 30px;
	line-height: 1;
}

.gotoweb-countdown__segment small {
	margin-top: 6px;
	color: var(--gotoweb-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

[data-gotoweb-counter] strong {
	font-size: inherit;
	font-variant-numeric: tabular-nums;
}

.gotoweb-marquee {
	--gotoweb-marquee-duration: 24s;
	--gotoweb-marquee-direction: normal;
	overflow: hidden;
	width: 100%;
}

.gotoweb-marquee__track {
	display: flex;
	width: max-content;
	animation: gotoweb-marquee var(--gotoweb-marquee-duration) linear infinite;
	animation-direction: var(--gotoweb-marquee-direction);
	will-change: transform;
}

.gotoweb-marquee:hover .gotoweb-marquee__track {
	animation-play-state: paused;
}

.gotoweb-marquee__group {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 18px;
	padding-right: 18px;
	white-space: nowrap;
}

.gotoweb-marquee__item {
	display: inline-flex;
	align-items: center;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.gotoweb-marquee__separator {
	opacity: 0.35;
}

.gotoweb-hover-panels {
	--gotoweb-hover-panels-height: 520px;
	--gotoweb-hover-panels-gap: 14px;
	--gotoweb-hover-panels-panel-padding: 24px;
	--gotoweb-hover-panels-panel-radius: var(--gotoweb-radius);
	--gotoweb-hover-panels-panel-bg: #111318;
	--gotoweb-hover-panels-panel-color: #ffffff;
	--gotoweb-hover-panels-overlay-start: rgba(16, 17, 20, 0.04);
	--gotoweb-hover-panels-overlay-end: rgba(16, 17, 20, 0.72);
	--gotoweb-hover-panels-overlay-opacity: 1;
	--gotoweb-hover-panels-eyebrow-color: rgba(255, 255, 255, 0.75);
	--gotoweb-hover-panels-eyebrow-font-size: 11px;
	--gotoweb-hover-panels-eyebrow-font-weight: 850;
	--gotoweb-hover-panels-eyebrow-letter-spacing: 0.1em;
	--gotoweb-hover-panels-eyebrow-text-transform: uppercase;
	--gotoweb-hover-panels-title-color: currentColor;
	--gotoweb-hover-panels-title-font-size: clamp(24px, 4vw, 54px);
	--gotoweb-hover-panels-title-line-height: 0.95;
	--gotoweb-hover-panels-text-color: rgba(255, 255, 255, 0.78);
	--gotoweb-hover-panels-text-font-size: inherit;
	--gotoweb-hover-panels-text-line-height: 1.5;
	--gotoweb-hover-panels-text-max-width: 36ch;
	--gotoweb-hover-panels-mobile-panel-min-height: 320px;
	display: flex;
	gap: var(--gotoweb-hover-panels-gap);
	min-height: var(--gotoweb-hover-panels-height);
}

.gotoweb-hover-panels__panel {
	position: relative;
	isolation: isolate;
	display: flex;
	flex: 1 1 0;
	align-items: flex-end;
	overflow: hidden;
	min-width: 0;
	padding: var(--gotoweb-hover-panels-panel-padding);
	border-radius: var(--gotoweb-hover-panels-panel-radius);
	background-color: var(--gotoweb-hover-panels-panel-bg);
	background-position: center;
	background-size: cover;
	color: var(--gotoweb-hover-panels-panel-color);
	transition: flex 520ms cubic-bezier(0.16, 1, 0.3, 1), transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.gotoweb-hover-panels__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, var(--gotoweb-hover-panels-overlay-start), var(--gotoweb-hover-panels-overlay-end));
	opacity: var(--gotoweb-hover-panels-overlay-opacity);
}

.gotoweb-hover-panels__panel:hover,
.gotoweb-hover-panels__panel:focus-within {
	flex: 3 1 0;
}

.gotoweb-hover-panels__panel span {
	display: block;
	margin-bottom: 8px;
	color: var(--gotoweb-hover-panels-eyebrow-color);
	font-size: var(--gotoweb-hover-panels-eyebrow-font-size);
	font-weight: var(--gotoweb-hover-panels-eyebrow-font-weight);
	letter-spacing: var(--gotoweb-hover-panels-eyebrow-letter-spacing);
	text-transform: var(--gotoweb-hover-panels-eyebrow-text-transform);
}

.gotoweb-hover-panels__panel h3 {
	margin: 0;
	color: var(--gotoweb-hover-panels-title-color);
	font-size: var(--gotoweb-hover-panels-title-font-size);
	line-height: var(--gotoweb-hover-panels-title-line-height);
}

.gotoweb-hover-panels__panel p {
	max-width: var(--gotoweb-hover-panels-text-max-width);
	margin: 12px 0 0;
	color: var(--gotoweb-hover-panels-text-color);
	font-size: var(--gotoweb-hover-panels-text-font-size);
	line-height: var(--gotoweb-hover-panels-text-line-height);
}

.gotoweb-decorative-shape {
	--gotoweb-shape-width: 240px;
	--gotoweb-shape-height: 240px;
	--gotoweb-shape-color: #d7ff4f;
	--gotoweb-shape-opacity: 0.38;
	--gotoweb-shape-blur: 36px;
	pointer-events: none;
	width: var(--gotoweb-shape-width);
	height: var(--gotoweb-shape-height);
	background: var(--gotoweb-shape-color);
	opacity: var(--gotoweb-shape-opacity);
	filter: blur(var(--gotoweb-shape-blur));
}

.gotoweb-decorative-shape--blob {
	border-radius: 42% 58% 61% 39% / 38% 42% 58% 62%;
}

.gotoweb-decorative-shape--circle {
	border-radius: 999px;
}

.gotoweb-decorative-shape--rounded {
	border-radius: 28px;
}

.gotoweb-decorative-shape--line {
	height: 1px;
	filter: none;
}

.gotoweb-decorative-shape--grain {
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");
	background-size: 160px 160px;
	filter: none;
	mix-blend-mode: multiply;
}

.gotoweb-decorative-shape--float {
	animation: gotoweb-shape-float 8s ease-in-out infinite alternate;
}

.gotoweb-decorative-shape--pulse {
	animation: gotoweb-shape-pulse 3.6s ease-in-out infinite;
}

.gotoweb-decorative-shape--scan {
	transform-origin: center;
	animation: gotoweb-shape-scan 2.8s linear infinite;
}

.gotoweb-reveal.is-reveal-pending,
[data-gotoweb-reveal].is-reveal-pending {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1), transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.gotoweb-reveal.is-visible,
[data-gotoweb-reveal].is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* Section motion (roadmap 2B). Everything here is driven by the
   `--gw-section-*` custom properties the Section renderer emits and by classes
   the runtime adds, so markup alone never hides content and a page without
   JavaScript reads the section as ordinary flow content.

   Each selector pairs the runtime class with the renderer's own data attribute.
   That is deliberate: a section-motion state is a typed prop the author chose,
   and a theme rule of ordinary specificity that merely happens to match the
   same element must not silently win the cascade over it.

   This block sits BEFORE the element-motion block on purpose: `transition` is a
   single property, so when a section carries both a 2A entrance and a 2B exit
   the entrance rule — declared later at the same specificity — owns the
   transition while it is pending, and the exit takes over once the entrance has
   settled. Both read the same motionDuration/motionEasing props, so the two
   timings can never disagree. */
[data-gw-section-exit].is-gw-section-armed {
	transition:
		opacity var(--gw-section-duration, 700ms) var(--gw-section-easing, cubic-bezier(0.22, 1, 0.36, 1)),
		translate var(--gw-section-duration, 700ms) var(--gw-section-easing, cubic-bezier(0.22, 1, 0.36, 1)),
		scale var(--gw-section-duration, 700ms) var(--gw-section-easing, cubic-bezier(0.22, 1, 0.36, 1));
}

/* Transition to the next section: applied when the section has scrolled past
   the top band of the viewport, removed again when the visitor scrolls back. No
   scroll handler and no blur are involved. */
[data-gw-section-exit].is-gw-section-exit {
	opacity: var(--gw-section-exit-opacity, 0);
	translate: var(--gw-section-exit-translate, 0 0);
	scale: var(--gw-section-exit-scale, 1);
}

/* Reveal mask. It masks the section's content wrapper, never the section, so it
   leaves the background alone and never competes with the entrance transition
   on the section element. */
[data-gw-section-content].is-gw-section-mask-pending {
	mask-image: var(--gw-section-mask-image, none);
	mask-repeat: no-repeat;
	mask-size: var(--gw-section-mask-size, 100% 100%);
	mask-position: var(--gw-section-mask-position, 50% 50%);
	transition:
		mask-size var(--gw-section-duration, 700ms) var(--gw-section-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--gw-section-delay, 0ms),
		mask-position var(--gw-section-duration, 700ms) var(--gw-section-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--gw-section-delay, 0ms);
}

[data-gw-section-content].is-gw-section-mask-pending.is-gw-section-mask-in {
	mask-size: var(--gw-section-mask-size-in, 100% 100%);
	mask-position: var(--gw-section-mask-position-in, 50% 50%);
}

/* Read progress. The sticky box has no height of its own, so it cannot become a
   flex or grid item of the section, and the bar is its pseudo-element: a theme
   reveal rule written as `section > div > *` cannot match a pseudo-element, so
   the indicator keeps exactly one capturable node. That node's own two paint
   properties are locked because this is builder-owned furniture with no
   authoring surface — a page-level reveal must not fade or move it. */
.gw-section-progress {
	position: sticky;
	display: block;
	height: 0;
	z-index: 3;
	pointer-events: none;
	opacity: 1 !important;
	transform: none !important;
}

[data-gw-section-progress="top"] > .gw-section-progress {
	top: 0;
}

[data-gw-section-progress="bottom"] > .gw-section-progress {
	bottom: 0;
}

.gw-section-progress::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	height: var(--gw-section-progress-thickness, 4px);
	background: var(--gw-section-progress-color, currentColor);
	transform: scaleX(var(--gw-section-progress, 0));
	transform-origin: left center;
}

[data-gw-section-progress="top"] > .gw-section-progress::after {
	top: 0;
}

[data-gw-section-progress="bottom"] > .gw-section-progress::after {
	bottom: 0;
}

/* Sticky scene. The pin is layout, so it lives behind prefers-reduced-motion:
   a visitor who asked for no motion gets the section as ordinary flow content
   with every step readable, which is the required fallback. */
@media (prefers-reduced-motion: no-preference) {
	[data-gw-section-sticky] {
		min-height: var(--gw-section-pin-height, auto);
	}

	[data-gw-section-sticky] > [data-gw-section-content] {
		position: sticky;
		top: var(--gw-section-pin-offset, 0px);
	}
}

/* Progress-driven steps. `is-gw-scene-ready` is added by the runtime only, so
   the idle state can never hide a step without JavaScript. */
[data-gw-section-sticky].is-gw-scene-ready > [data-gw-section-content] > [data-gw-scene-step] {
	opacity: var(--gw-scene-step-opacity, 1);
	translate: var(--gw-scene-step-translate, 0 0);
	scale: var(--gw-scene-step-scale, 1);
	transition:
		opacity var(--gw-section-duration, 700ms) var(--gw-section-easing, cubic-bezier(0.22, 1, 0.36, 1)),
		translate var(--gw-section-duration, 700ms) var(--gw-section-easing, cubic-bezier(0.22, 1, 0.36, 1)),
		scale var(--gw-section-duration, 700ms) var(--gw-section-easing, cubic-bezier(0.22, 1, 0.36, 1));
}

[data-gw-section-sticky].is-gw-scene-ready > [data-gw-section-content] > [data-gw-scene-step].is-gw-scene-step-active {
	opacity: 1;
	translate: 0 0;
	scale: 1;
}

/* Element motion (roadmap 2A). The renderer emits the start state as
   `--gw-motion-*` custom properties; the runtime only toggles these classes, so
   markup alone never hides content. `translate`/`scale` are used instead of
   `transform` so an element's own advanced transform survives the animation.
   The selector is paired with the renderer's attribute, as in 2B and 2C, so a
   plain theme rule on the same element cannot quietly outrank a typed prop.
   Stagger puts the class on the children instead, and the section content
   wrapper can sit between them, so both descendant forms are listed too.
   The reduced-motion block below stays a bare class on purpose: it is the
   safety net for a cached page and must win even without the attribute. */
[data-gw-motion].is-gw-motion-pending,
[data-gw-motion] > .is-gw-motion-pending,
[data-gw-motion] > [data-gw-section-content] > .is-gw-motion-pending {
	opacity: 0;
	translate: var(--gw-motion-translate, 0 0);
	scale: var(--gw-motion-scale, 1);
	clip-path: var(--gw-motion-clip, none);
	filter: var(--gw-motion-blur, none);
	transition:
		opacity var(--gw-motion-duration, 700ms) var(--gw-motion-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--gw-motion-delay, 0ms),
		translate var(--gw-motion-duration, 700ms) var(--gw-motion-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--gw-motion-delay, 0ms),
		scale var(--gw-motion-duration, 700ms) var(--gw-motion-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--gw-motion-delay, 0ms),
		clip-path var(--gw-motion-duration, 700ms) var(--gw-motion-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--gw-motion-delay, 0ms),
		filter var(--gw-motion-duration, 700ms) var(--gw-motion-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--gw-motion-delay, 0ms);
	will-change: opacity, translate, scale;
}

[data-gw-motion].is-gw-motion-pending.is-gw-motion-in,
[data-gw-motion] > .is-gw-motion-pending.is-gw-motion-in,
[data-gw-motion] > [data-gw-section-content] > .is-gw-motion-pending.is-gw-motion-in {
	opacity: 1;
	translate: 0 0;
	scale: 1;
	clip-path: inset(0 0 0 0);
	filter: none;
}

/* Component transitions (roadmap 2C). Tabs, Accordion, Modal, Slider and the
   WPMenu panels all read the same `--gw-ct-*` custom properties the renderer
   emits on the component root, and the runtime only toggles these classes, so
   markup alone never hides a panel: a page without JavaScript keeps the plain
   hidden/shown behaviour these components have always had.

   Each selector pairs the runtime class with the renderer's own data attribute,
   for the same reason as the 2B block: a transition state is a typed prop the
   author chose, and an ordinary theme rule that merely happens to match the same
   element must not silently win the cascade over it. */
[data-gw-ct] .is-gw-ct-pending {
	opacity: var(--gw-ct-opacity, 0);
	translate: var(--gw-ct-translate, 0 0);
	scale: var(--gw-ct-scale, 1);
	clip-path: var(--gw-ct-clip, none);
	transition:
		opacity var(--gw-ct-duration, 250ms) var(--gw-ct-easing, cubic-bezier(0.22, 1, 0.36, 1)),
		translate var(--gw-ct-duration, 250ms) var(--gw-ct-easing, cubic-bezier(0.22, 1, 0.36, 1)),
		scale var(--gw-ct-duration, 250ms) var(--gw-ct-easing, cubic-bezier(0.22, 1, 0.36, 1)),
		clip-path var(--gw-ct-duration, 250ms) var(--gw-ct-easing, cubic-bezier(0.22, 1, 0.36, 1));
}

[data-gw-ct] .is-gw-ct-pending.is-gw-ct-in {
	opacity: 1;
	translate: 0 0;
	scale: 1;
	clip-path: inset(0 0 0 0);
}

/* A modal backdrop is a scrim, not a moving surface: it only ever fades, so the
   dialog can travel while the page behind it stays still. */
[data-gw-ct] .is-gw-ct-scrim {
	opacity: 0;
	transition: opacity var(--gw-ct-duration, 250ms) var(--gw-ct-easing, cubic-bezier(0.22, 1, 0.36, 1));
}

[data-gw-ct] .is-gw-ct-scrim.is-gw-ct-in {
	opacity: 1;
}

/* Animated height. The runtime writes the two measured heights inline and always
   clears them again, so the box goes back to its own layout afterwards. */
[data-gw-ct-height] .is-gw-ct-height {
	overflow: hidden;
	transition: height var(--gw-ct-duration, 250ms) var(--gw-ct-easing, cubic-bezier(0.22, 1, 0.36, 1));
}

.gotoweb-magnetic,
[data-gotoweb-magnetic] {
	transform: translate3d(var(--gotoweb-magnetic-x, 0), var(--gotoweb-magnetic-y, 0), 0);
	transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform;
}

@keyframes gotoweb-marquee {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@keyframes gotoweb-shape-float {
	from {
		transform: translate3d(0, 0, 0) rotate(0deg);
	}

	to {
		transform: translate3d(18px, -22px, 0) rotate(9deg);
	}
}

@keyframes gotoweb-shape-pulse {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.08);
	}
}

@keyframes gotoweb-shape-scan {
	from {
		transform: translateX(-18%);
	}

	to {
		transform: translateX(18%);
	}
}

@media (max-width: 700px) {
	.gotoweb-search-form {
		grid-template-columns: 1fr;
	}

	.gotoweb-posts-grid {
		grid-template-columns: 1fr !important;
	}

	.gotoweb-hover-panels {
		display: grid;
		min-height: 0;
	}

	.gotoweb-hover-panels__panel {
		min-height: var(--gotoweb-hover-panels-mobile-panel-min-height);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gotoweb-marquee__track,
	.gotoweb-decorative-shape,
	.gotoweb-reveal,
	[data-gotoweb-reveal],
	.gotoweb-magnetic,
	[data-gotoweb-magnetic] {
		animation: none;
		transition: none;
	}

	.gotoweb-reveal,
	[data-gotoweb-reveal] {
		opacity: 1;
		transform: none;
	}

	/* Reduced motion removes the movement and never the content: even if a
	   pending class survived a cached page, the element stays fully visible. */
	.is-gw-motion-pending,
	.is-gw-motion-pending.is-gw-motion-in {
		opacity: 1;
		translate: none;
		scale: none;
		clip-path: none;
		filter: none;
		transition: none;
	}

	/* Same guarantee for the section-motion classes (roadmap 2B): a cached page
	   that still carries them shows the section, the whole mask and every scene
	   step, with no movement at all. */
	[data-gw-section-exit].is-gw-section-armed,
	[data-gw-section-exit].is-gw-section-exit {
		opacity: 1;
		translate: none;
		scale: none;
		transition: none;
	}

	[data-gw-section-content].is-gw-section-mask-pending,
	[data-gw-section-content].is-gw-section-mask-pending.is-gw-section-mask-in {
		mask-image: none;
		transition: none;
	}

	[data-gw-section-sticky].is-gw-scene-ready > [data-gw-section-content] > [data-gw-scene-step] {
		opacity: 1;
		translate: none;
		scale: none;
		transition: none;
	}

	/* Component transitions (roadmap 2C). Movement always goes; the opacity stays
	   only when the author picked the fade behaviour, and no state here can leave
	   a panel invisible. */
	[data-gw-ct] .is-gw-ct-pending,
	[data-gw-ct] .is-gw-ct-pending.is-gw-ct-in {
		translate: none;
		scale: none;
		clip-path: none;
	}

	[data-gw-ct] .is-gw-ct-scrim,
	[data-gw-ct] .is-gw-ct-scrim.is-gw-ct-in {
		opacity: 1;
	}

	[data-gw-ct-reduced="instant"] .is-gw-ct-pending,
	[data-gw-ct-reduced="instant"] .is-gw-ct-pending.is-gw-ct-in {
		opacity: 1;
		transition: none;
	}

	[data-gw-ct-height] .is-gw-ct-height {
		height: auto !important;
		overflow: visible;
		transition: none;
	}
}


/* ===== Monteby custom widgets ===== */
@keyframes gw-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.gw-marquee { padding-top: 7px; padding-bottom: 7px; }
.gw-marquee:hover .gw-marquee-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .gw-marquee-track { animation: none !important; }
}

/* FlipBox: CSS-only two-sided hover/focus-within flip card. The renderer emits
   --gotoweb-flip-box-* custom properties (face colors, radius, padding, the flip
   transform per direction); these rules turn them into a 3D flip with no JS. */
.gotoweb-flip-box {
  perspective: 1000px;
  min-height: var(--gotoweb-flip-box-min-height, 320px);
  position: relative;
}
.gotoweb-flip-box__inner {
  position: relative;
  width: 100%;
  min-height: inherit;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}
.gotoweb-flip-box:hover .gotoweb-flip-box__inner,
.gotoweb-flip-box:focus-within .gotoweb-flip-box__inner {
  transform: var(--gotoweb-flip-box-transform, rotateY(180deg));
}
.gotoweb-flip-box__face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding: var(--gotoweb-flip-box-padding, 24px);
  border-radius: var(--gotoweb-flip-box-radius, 12px);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden;
}
.gotoweb-flip-box__front {
  background: var(--gotoweb-flip-box-front-bg, #111318);
  color: var(--gotoweb-flip-box-front-color, #ffffff);
}
.gotoweb-flip-box__back {
  background: var(--gotoweb-flip-box-back-bg, #3b82f6);
  color: var(--gotoweb-flip-box-back-color, #ffffff);
  transform: var(--gotoweb-flip-box-back-transform, rotateY(180deg));
}
.gotoweb-flip-box__heading {
  margin: 0;
  font-size: var(--gotoweb-flip-box-heading-font-size, 22px);
  line-height: 1.2;
}
.gotoweb-flip-box__text {
  margin: 0;
  font-size: var(--gotoweb-flip-box-text-font-size, 15px);
  line-height: 1.5;
}
.gotoweb-flip-box__button {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  padding: 0.5em 1.1em;
  border-radius: 9999px;
  text-decoration: none;
  font-weight: 600;
  background: var(--gotoweb-flip-box-btn-bg, #ffffff);
  color: var(--gotoweb-flip-box-btn-color, #111318);
}
@media (prefers-reduced-motion: reduce) {
  .gotoweb-flip-box__inner { transition: none !important; }
}

/* AnimatedHeadline: CSS-only rotating phrases. Each phrase span shares one
   keyframe (gw-anim-headline-rotate) and is offset by an inline animation-delay
   (= slot * index) emitted by the renderer; inline-grid stacks every phrase in a
   single grid cell so the box is as wide/tall as the longest phrase and layout
   never jumps. No runtime JS. */
@keyframes gw-anim-headline-rotate {
  0%   { opacity: 0; }
  4%   { opacity: 1; }
  28%  { opacity: 1; }
  33%  { opacity: 0; }
  100% { opacity: 0; }
}
.gw-anim-headline { display: inline-block; }
.gw-anim-rotator > .gw-anim-phrase { grid-area: 1 / 1; opacity: 0; white-space: nowrap; }
.gw-anim-rotator[data-anim="slide-up"]   > .gw-anim-phrase { transform: translateY(0.25em); }
.gw-anim-rotator[data-anim="slide-down"] > .gw-anim-phrase { transform: translateY(-0.25em); }
@media (prefers-reduced-motion: reduce) {
  .gw-anim-rotator > .gw-anim-phrase { animation: none !important; }
  .gw-anim-rotator > .gw-anim-phrase:not(:first-child) { display: none; }
  .gw-anim-rotator > .gw-anim-phrase:first-child { opacity: 1; }
}

/* ===== gotoweb_menu shortcode (header + footer) =====
   Structural / layout only. Every user-configurable value (link colour, font
   size, hover/active colour, gap, dropdown, burger, drawer, mobile items) is
   wired per-instance by the WPMenu renderer's scoped <style> via --gwm-* custom
   properties, so nothing here may hardcode a colour/size that would override it. */
.gotoweb-menu { margin: 0; padding: 0; list-style: none; }
.gotoweb-menu ul { margin: 0; padding: 0; list-style: none; }

.gotoweb-menu--horizontal {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}
.gotoweb-menu--horizontal li { display: inline-flex; }
.gotoweb-menu--horizontal a {
  display: inline-flex; align-items: center;
  white-space: nowrap;
  text-decoration: none;
}

.gotoweb-menu--vertical {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gotoweb-menu--vertical li { display: block; }
.gotoweb-menu--vertical a {
  display: block;
  text-decoration: none;
}

/* ===== WPMenu dropdown placement and state (roadmap 3A) =====
   The pre-wave dropdown was one rule: a `.sub-menu` revealed by `:hover` and
   `:focus-within`, with no delay, no offset, no alignment, no collision
   handling and no way to close it from the keyboard. Everything below extends
   that without replacing it, under two hard conditions.

   First, every selector requires `gw-menu-dropdown-ready`, a class only the
   front runtime adds. A page whose JavaScript never ran keeps the pure-CSS
   hover dropdown instead of losing its submenus.

   Second, every selector requires a `data-gw-menu-*` attribute that the
   renderer writes only for a widget whose author changed a dropdown prop. A
   document that never touched them matches nothing here and renders exactly the
   bytes it rendered before.

   The distances themselves arrive as `--gwm-dd-*` custom properties from the
   renderer (offset, bridge) or from the runtime (shift), so no rule here
   hardcodes one. */
nav.gw-menu-dropdown-ready[data-gw-menu-dropdown] .gotoweb-menu > .menu-item-has-children > .sub-menu {
  margin-top: var(--gwm-dd-offset, 0px);
  /* One transform carries both the alignment anchor and the collision shift, so
     a panel can never be moved twice by two rules that disagree about sign. */
  transform: translateX(var(--gwm-dd-align-x, 0px)) translateX(var(--gwm-dd-shift, 0px));
}

nav.gw-menu-dropdown-ready[data-gw-menu-align="center"] .gotoweb-menu > .menu-item-has-children > .sub-menu {
  right: auto;
  left: 50%;
  --gwm-dd-align-x: -50%;
}

nav.gw-menu-dropdown-ready[data-gw-menu-align="end"] .gotoweb-menu > .menu-item-has-children > .sub-menu {
  right: 0;
  left: auto;
  --gwm-dd-align-x: 0px;
}

/* Collision: the runtime measured the open panel against the window and picked
   the edge it fits behind. */
nav.gw-menu-dropdown-ready[data-gw-menu-collision="flip"] .gotoweb-menu > .menu-item-has-children.is-gw-menu-flip-end > .sub-menu {
  right: 0;
  left: auto;
  --gwm-dd-align-x: 0px;
}

nav.gw-menu-dropdown-ready[data-gw-menu-collision="flip"] .gotoweb-menu > .menu-item-has-children.is-gw-menu-flip-start > .sub-menu {
  right: auto;
  left: 0;
  --gwm-dd-align-x: 0px;
}

/* Hover bridge. It exists only while the item is open, so a closed menu never
   leaves an invisible strip across the navigation that eats a click. */
nav.gw-menu-dropdown-ready[data-gw-menu-bridge] .gotoweb-menu > .menu-item-has-children:hover::before,
nav.gw-menu-dropdown-ready[data-gw-menu-bridge] .gotoweb-menu > .menu-item-has-children:focus-within::before,
nav.gw-menu-dropdown-ready[data-gw-menu-bridge] .gotoweb-menu > .menu-item-has-children.is-gw-menu-open::before {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  height: var(--gwm-dd-bridge, 0px);
  content: "";
}

/* Runtime-owned open state. It also carries the wave 2C transition end state,
   because in a managed dropdown the panel is no longer revealed by `:hover`. */
nav.gw-menu-dropdown-ready[data-gw-menu-dropdown] .gotoweb-menu .menu-item-has-children.is-gw-menu-open > .sub-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  translate: 0 0;
  scale: 1;
  clip-path: inset(0 0 0 0);
}

/* Closed while the runtime owns the panel: a click-only dropdown, an open delay
   the pointer has not waited out yet, and a panel the visitor dismissed with
   Escape. `visibility` alone already keeps a hidden panel out of the pointer and
   the accessibility tree; `pointer-events` is stated as well so a theme that
   restores visibility for its own animation cannot resurrect a click target. */
nav.gw-menu-dropdown-ready[data-gw-menu-dropdown="click"] .gotoweb-menu .menu-item-has-children:not(.is-gw-menu-open) > .sub-menu,
nav.gw-menu-dropdown-ready[data-gw-menu-open-delay] .gotoweb-menu .menu-item-has-children:not(.is-gw-menu-open) > .sub-menu,
nav.gw-menu-dropdown-ready .gotoweb-menu .menu-item-has-children.is-gw-menu-shut > .sub-menu {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

/* ===== WPMenu mega panel and drawer (roadmap 3B) =====
   Wave 3A made the desktop dropdown stable; what stayed outside the product was
   the panel itself, so a site that wanted a mega panel had to build one in its
   own theme. Everything below draws the frame around a Builder composition the
   renderer placed inside one `<li>`.

   The gate is the same as 3A's, one step tighter: every selector here needs
   `gw-menu-has-mega`, a class the renderer writes only onto an item that carries a
   live mapping. A document with no mapping matches nothing in this section, and
   a page whose JavaScript never ran still opens the panel on `:hover` and on
   `:focus-within` instead of losing it.

   Every distance arrives as a `--gwm-mega-*` custom property from the renderer
   or, for the two measured ones, from the runtime. No rule here hardcodes one. */
.gw-menu-has-mega > .gw-menu-mega-panel {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 50;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  width: max-content;
  min-width: var(--gwm-dd-minw, 200px);
  max-width: calc(100vw - 32px);
  margin-top: var(--gwm-mega-offset, 0px);
  padding: var(--gwm-mega-pad, 0px);
  /* The border colour is the dropdown's: a mega panel is the dropdown's big
     brother, not a second colour system. */
  border: var(--gwm-mega-border-w, 0px) solid var(--gwm-dd-border, transparent);
  border-radius: var(--gwm-mega-radius, 0px);
  /* A rounded frame around an opaque composition has to clip it, or the corners
     the author asked for are painted over from the inside. */
  overflow: hidden;
  box-shadow: var(--gwm-mega-shadow, none);
  backdrop-filter: var(--gwm-mega-backdrop, none);
  /* One transform carries the alignment anchor, the viewport anchor and the
     collision shift, so a panel can never be moved twice by two rules that
     disagree about sign. */
  transform: translateX(var(--gwm-mega-align-x, 0px)) translateX(var(--gwm-mega-vp, 0px)) translateX(var(--gwm-dd-shift, 0px));
}

nav[data-gw-menu-mega-width="custom"] .gw-menu-has-mega > .gw-menu-mega-panel {
  width: var(--gwm-mega-w, 720px);
  min-width: 0;
}

/* Full viewport. The panel keeps the item as its containing block and the
   runtime writes the one distance CSS cannot know, the item's offset from the
   window edge. Without the runtime the panel simply keeps its content width,
   which is a panel, not a broken layout. */
nav[data-gw-menu-mega-width="viewport"] .gw-menu-has-mega > .gw-menu-mega-panel {
  right: auto;
  left: 0;
  min-width: 0;
  max-width: none;
}

nav.gw-menu-dropdown-ready[data-gw-menu-mega-width="viewport"] .gw-menu-has-mega > .gw-menu-mega-panel {
  width: 100vw;
}

nav[data-gw-menu-mega-align="center"]:not([data-gw-menu-mega-width="viewport"]) .gw-menu-has-mega > .gw-menu-mega-panel {
  right: auto;
  left: 50%;
  --gwm-mega-align-x: -50%;
}

nav[data-gw-menu-mega-align="end"]:not([data-gw-menu-mega-width="viewport"]) .gw-menu-has-mega > .gw-menu-mega-panel {
  right: 0;
  left: auto;
  --gwm-mega-align-x: 0px;
}

/* Pure CSS reveal, for the page whose JavaScript never ran. */
.gw-menu-has-mega:hover > .gw-menu-mega-panel,
.gw-menu-has-mega:focus-within > .gw-menu-mega-panel {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* Runtime-owned open state. It also carries the wave 2C transition end state,
   because in a managed menu the panel is no longer revealed by `:hover`. */
nav.gw-menu-dropdown-ready .gotoweb-menu .gw-menu-has-mega.is-gw-menu-open > .gw-menu-mega-panel {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  translate: 0 0;
  scale: 1;
  clip-path: inset(0 0 0 0);
}

/* Closed while the runtime owns the panel: a click-only menu, an open delay the
   pointer has not waited out yet, and a panel the visitor dismissed with Escape.
   `visibility` alone already keeps a hidden panel out of the pointer and the
   accessibility tree; `pointer-events` is stated as well so a theme that
   restores visibility for its own animation cannot resurrect a click target. */
nav.gw-menu-dropdown-ready[data-gw-menu-dropdown="click"] .gotoweb-menu .gw-menu-has-mega:not(.is-gw-menu-open) > .gw-menu-mega-panel,
nav.gw-menu-dropdown-ready[data-gw-menu-open-delay] .gotoweb-menu .gw-menu-has-mega:not(.is-gw-menu-open) > .gw-menu-mega-panel,
nav.gw-menu-dropdown-ready .gotoweb-menu .gw-menu-has-mega.is-gw-menu-shut > .gw-menu-mega-panel {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

/* The 3A hover bridge, extended to a mapped item. A mega item does not have to
   be a WordPress parent item at all, so it needs its own selector, and the gap
   it spans is the mega offset rather than the dropdown one. */
nav.gw-menu-dropdown-ready[data-gw-menu-bridge] .gotoweb-menu > .gw-menu-has-mega:hover::before,
nav.gw-menu-dropdown-ready[data-gw-menu-bridge] .gotoweb-menu > .gw-menu-has-mega:focus-within::before,
nav.gw-menu-dropdown-ready[data-gw-menu-bridge] .gotoweb-menu > .gw-menu-has-mega.is-gw-menu-open::before {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  height: var(--gwm-mega-offset, var(--gwm-dd-bridge, 0px));
  content: "";
}

/* Drawer accordions. The toggles are built by the runtime, so a page without
   JavaScript keeps every submenu expanded and every link reachable, exactly as
   before the wave. `gw-drawer-accordion-ready` is the class the runtime adds
   once the controls exist. */
.gw-menu-drawer.gw-drawer-accordion-ready .gotoweb-menu li.menu-item-has-children {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.gw-menu-drawer.gw-drawer-accordion-ready .gotoweb-menu li.menu-item-has-children > a {
  flex: 1 1 auto;
}

.gw-menu-drawer.gw-drawer-accordion-ready .gotoweb-menu li.menu-item-has-children > .sub-menu {
  display: none;
  flex-basis: 100%;
}

.gw-menu-drawer.gw-drawer-accordion-ready .gotoweb-menu li.menu-item-has-children.is-gw-drawer-open > .sub-menu {
  display: flex;
}

.gw-menu-drawer .gw-drawer-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: none;
  color: var(--gwm-drawer-text, #d4d4d8);
  cursor: pointer;
}

.gw-menu-drawer .gw-drawer-toggle::before {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: "";
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.2s ease;
}

.gw-menu-drawer .gw-drawer-toggle[aria-expanded="true"]::before {
  transform: translateY(2px) rotate(-135deg);
}

/* Scroll lock. The class is added by the runtime while a drawer that asked for
   it is open, and removed the moment the last one closes, so a stuck frame can
   never leave a page that cannot be scrolled. */
html.gw-menu-scroll-locked,
html.gw-menu-scroll-locked body {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .gw-menu-drawer .gw-drawer-toggle::before {
    transition: none;
  }
}

@media (min-width: 901px) {
  .gotoweb-responsive-display--show-tablet-down-only {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .gotoweb-responsive-display--show-mobile-only {
    display: none !important;
  }
}

.gotoweb-navbar--drawer .gotoweb-navbar__toggle {
  display: none;
  cursor: pointer;
}

.gotoweb-navbar.gotoweb-navbar--drawer .gotoweb-navbar__drawer[hidden] {
  display: none !important;
}

@media (scripting: enabled) and (max-width: 1023px) {
  .gotoweb-navbar--drawer-wide:not(.gotoweb-navbar--enhanced) .gotoweb-navbar__toggle {
    display: inline-flex !important;
    margin-left: auto;
  }

  .gotoweb-navbar--drawer-wide:not(.gotoweb-navbar--enhanced) .gotoweb-navbar__drawer {
    display: none !important;
  }
}

@media (scripting: enabled) and (max-width: 900px) {
  .gotoweb-navbar--drawer-tablet:not(.gotoweb-navbar--enhanced) .gotoweb-navbar__toggle {
    display: inline-flex !important;
    margin-left: auto;
  }

  .gotoweb-navbar--drawer-tablet:not(.gotoweb-navbar--enhanced) .gotoweb-navbar__drawer {
    display: none !important;
  }
}

@media (scripting: enabled) and (max-width: 767px) {
  .gotoweb-navbar--drawer:not(.gotoweb-navbar--enhanced) .gotoweb-navbar__toggle {
    display: inline-flex !important;
    margin-left: auto;
  }

  .gotoweb-navbar--drawer:not(.gotoweb-navbar--enhanced) .gotoweb-navbar__drawer {
    display: none !important;
  }
}

/*
 * Presety po przewinięciu: klasę is-scrolled przełącza frontend.js po
 * przekroczeniu progu z data-navbar-scrolled-offset. Preset musi wygrać
 * z wartościami inline z propsów paska, stąd important.
 */
.gotoweb-navbar[data-navbar-scrolled] {
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.gotoweb-navbar--scrolled-solid.is-scrolled {
  background-color: #ffffff !important;
  border-color: #e5e7eb !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.gotoweb-navbar--scrolled-glass.is-scrolled {
  background-color: rgba(255, 255, 255, 0.72) !important;
  border-color: rgba(229, 231, 235, 0.6) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4) !important;
  backdrop-filter: blur(14px) saturate(1.4) !important;
}

.gotoweb-navbar--scrolled-shadow.is-scrolled {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
}

.gotoweb-navbar__cta {
  box-sizing: border-box;
}

.gotoweb-navbar__cta-label {
  display: inline;
}

.gotoweb-navbar__cta-icon {
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 1.25em;
  line-height: 1;
}

.gotoweb-navbar__cta[data-cta-mode="label"] {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  padding: var(--gotoweb-navbar-cta-padding-y, 8px) var(--gotoweb-navbar-cta-padding-x, 16px) !important;
}

.gotoweb-navbar__cta[data-cta-mode="label"] .gotoweb-navbar__cta-label {
  display: inline;
}

.gotoweb-navbar__cta[data-cta-mode="label"] .gotoweb-navbar__cta-icon {
  display: none;
}

.gotoweb-navbar__cta[data-cta-mode="icon"] {
  display: inline-flex !important;
  width: var(--gotoweb-navbar-cta-compact-size, 44px) !important;
  height: var(--gotoweb-navbar-cta-compact-size, 44px) !important;
  padding: 0 !important;
}

.gotoweb-navbar__cta[data-cta-mode="icon"] .gotoweb-navbar__cta-label {
  display: none;
}

.gotoweb-navbar__cta[data-cta-mode="icon"] .gotoweb-navbar__cta-icon {
  display: inline-flex;
}

.gotoweb-navbar__cta[data-cta-mode="hidden"] {
  display: none !important;
}

@media (max-width: 1023px) {
  .gotoweb-navbar--mobile-menu-hidden-wide .gotoweb-navbar__menu {
    display: none !important;
  }

  .gotoweb-navbar--mobile-menu-hidden-wide .gotoweb-navbar__inner {
    flex-wrap: nowrap !important;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer-wide .gotoweb-navbar__toggle {
    display: inline-flex !important;
    margin-left: auto;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer-wide .gotoweb-navbar__drawer {
    width: 100% !important;
    flex: 1 0 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer-wide .gotoweb-navbar__menu {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer-wide .gotoweb-navbar__actions {
    width: 100% !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .gotoweb-image-height--responsive {
    height: var(--gotoweb-image-height-tablet, var(--gotoweb-image-height-base, auto)) !important;
  }

  .gotoweb-image-object-position--responsive {
    object-position: var(--gotoweb-image-object-position-x-tablet, var(--gotoweb-image-object-position-x-base, 50%)) var(--gotoweb-image-object-position-y-tablet, var(--gotoweb-image-object-position-y-base, 50%)) !important;
  }
}

@media (max-width: 900px) {
	.gotoweb-navbar__cta[data-cta-mode-tablet="label"] {
		display: inline-flex !important;
		width: auto !important;
		height: auto !important;
		padding: var(--gotoweb-navbar-cta-padding-y, 8px) var(--gotoweb-navbar-cta-padding-x, 16px) !important;
	}

	.gotoweb-navbar__cta[data-cta-mode-tablet="label"] .gotoweb-navbar__cta-label {
		display: inline;
	}

	.gotoweb-navbar__cta[data-cta-mode-tablet="label"] .gotoweb-navbar__cta-icon {
		display: none;
	}

	.gotoweb-navbar__cta[data-cta-mode-tablet="icon"] {
		display: inline-flex !important;
		width: var(--gotoweb-navbar-cta-compact-size, 44px) !important;
		height: var(--gotoweb-navbar-cta-compact-size, 44px) !important;
		padding: 0 !important;
	}

	.gotoweb-navbar__cta[data-cta-mode-tablet="icon"] .gotoweb-navbar__cta-label {
		display: none;
	}

	.gotoweb-navbar__cta[data-cta-mode-tablet="icon"] .gotoweb-navbar__cta-icon {
		display: inline-flex;
	}

	.gotoweb-navbar__cta[data-cta-mode-tablet="hidden"] {
		display: none !important;
	}

  .gotoweb-layout--stack-tablet {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    grid-template-columns: 1fr !important;
  }

  .gotoweb-layout--stack-tablet > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  .gotoweb-navbar--mobile-menu-hidden-tablet .gotoweb-navbar__menu {
    display: none !important;
  }

  .gotoweb-navbar--mobile-menu-hidden-tablet .gotoweb-navbar__inner {
    flex-wrap: nowrap !important;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer-tablet .gotoweb-navbar__toggle {
    display: inline-flex !important;
    margin-left: auto;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer-tablet .gotoweb-navbar__drawer {
    width: 100% !important;
    flex: 1 0 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer-tablet .gotoweb-navbar__menu {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer-tablet .gotoweb-navbar__actions {
    width: 100% !important;
  }

  .gotoweb-responsive-display--hide-tablet-down {
    display: none !important;
  }

  .gotoweb-visual-tilt--reset-tablet {
    --gotoweb-visual-tilt-transform: rotate(0deg) !important;
    transform: var(--gotoweb-visual-depth-transform, translateZ(0)) var(--gotoweb-visual-tilt-transform) !important;
  }

  .gotoweb-visual-depth--reset-tablet {
    --gotoweb-visual-depth-transform: translateZ(0) !important;
    --gotoweb-visual-depth-translate-z: 0px !important;
    --gotoweb-visual-depth-parallax-intensity: 0 !important;
    --gotoweb-visual-depth-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
    transform-style: flat !important;
  }

  .gotoweb-sticky--reset-tablet {
    position: static !important;
    top: auto !important;
  }

  .gotoweb-min-height--responsive {
    min-height: var(--gotoweb-min-height-tablet) !important;
  }

  .gotoweb-background-position--responsive {
    background-position: var(--gotoweb-background-position-x-tablet, var(--gotoweb-background-position-x-base)) var(--gotoweb-background-position-y-tablet, var(--gotoweb-background-position-y-base)) !important;
  }

  .gotoweb-background-position--responsive > .mb-background-video {
    object-position: var(--gotoweb-background-position-x-tablet, var(--gotoweb-background-position-x-base, 50%)) var(--gotoweb-background-position-y-tablet, var(--gotoweb-background-position-y-base, 50%)) !important;
  }

  .gotoweb-max-width--responsive {
    max-width: var(--gotoweb-max-width-tablet, var(--gotoweb-max-width-base, none)) !important;
  }

  .gotoweb-flex--responsive {
    flex-direction: var(--gotoweb-flex-direction-tablet, var(--gotoweb-flex-direction-base)) !important;
    flex-wrap: var(--gotoweb-flex-wrap-tablet, var(--gotoweb-flex-wrap-base)) !important;
    justify-content: var(--gotoweb-justify-content-tablet, var(--gotoweb-justify-content-base)) !important;
    align-items: var(--gotoweb-align-items-tablet, var(--gotoweb-align-items-base)) !important;
  }

  .gotoweb-border-width--responsive {
    border-top-width: var(--gotoweb-border-top-width-tablet, var(--gotoweb-border-top-width-base, 0)) !important;
    border-right-width: var(--gotoweb-border-right-width-tablet, var(--gotoweb-border-right-width-base, 0)) !important;
    border-bottom-width: var(--gotoweb-border-bottom-width-tablet, var(--gotoweb-border-bottom-width-base, 0)) !important;
    border-left-width: var(--gotoweb-border-left-width-tablet, var(--gotoweb-border-left-width-base, 0)) !important;
  }

  .gotoweb-grid-template-columns--responsive {
    grid-template-columns: var(--gotoweb-grid-template-columns-tablet, var(--gotoweb-grid-template-columns-base)) !important;
  }

  .gotoweb-testimonials-track--responsive {
    width: var(--gotoweb-testimonials-track-width-tablet, var(--gotoweb-testimonials-track-width-base)) !important;
  }

  .gotoweb-grid-column-start--responsive {
    grid-column-start: var(--gotoweb-grid-column-start-tablet, var(--gotoweb-grid-column-start-base)) !important;
  }

  .gotoweb-grid-column-span--responsive {
    grid-column-end: var(--gotoweb-grid-column-span-tablet, var(--gotoweb-grid-column-span-base)) !important;
  }

  .gotoweb-grid-row-start--responsive {
    grid-row-start: var(--gotoweb-grid-row-start-tablet, var(--gotoweb-grid-row-start-base)) !important;
  }

  .gotoweb-grid-row-span--responsive {
    grid-row-end: var(--gotoweb-grid-row-span-tablet, var(--gotoweb-grid-row-span-base)) !important;
  }

  .gotoweb-spacing--responsive {
    gap: var(--gotoweb-gap-tablet, var(--gotoweb-gap-base)) !important;
    padding-top: var(--gotoweb-padding-top-tablet, var(--gotoweb-padding-top-base)) !important;
    padding-right: var(--gotoweb-padding-right-tablet, var(--gotoweb-padding-right-base)) !important;
    padding-bottom: var(--gotoweb-padding-bottom-tablet, var(--gotoweb-padding-bottom-base)) !important;
    padding-left: var(--gotoweb-padding-left-tablet, var(--gotoweb-padding-left-base)) !important;
    margin-top: var(--gotoweb-margin-top-tablet, var(--gotoweb-margin-top-base)) !important;
    margin-bottom: var(--gotoweb-margin-bottom-tablet, var(--gotoweb-margin-bottom-base)) !important;
  }

  .gotoweb-gap--responsive {
    gap: var(--gotoweb-gap-tablet, var(--gotoweb-gap-base)) !important;
  }

  .gotoweb-padding-top--responsive {
    padding-top: var(--gotoweb-padding-top-tablet, var(--gotoweb-padding-top-base)) !important;
  }

  .gotoweb-padding-right--responsive {
    padding-right: var(--gotoweb-padding-right-tablet, var(--gotoweb-padding-right-base)) !important;
  }

  .gotoweb-padding-bottom--responsive {
    padding-bottom: var(--gotoweb-padding-bottom-tablet, var(--gotoweb-padding-bottom-base)) !important;
  }

  .gotoweb-padding-left--responsive {
    padding-left: var(--gotoweb-padding-left-tablet, var(--gotoweb-padding-left-base)) !important;
  }

  .gotoweb-margin-top--responsive {
    margin-top: var(--gotoweb-margin-top-tablet, var(--gotoweb-margin-top-base)) !important;
  }

  .gotoweb-margin-bottom--responsive {
    margin-bottom: var(--gotoweb-margin-bottom-tablet, var(--gotoweb-margin-bottom-base)) !important;
  }

  .gotoweb-margin-left--responsive {
    margin-left: var(--gotoweb-margin-left-tablet, var(--gotoweb-margin-left-base)) !important;
  }

  .gotoweb-typography--responsive,
  .gotoweb-font-size--responsive {
    font-size: var(--gotoweb-font-size-tablet) !important;
  }

  .gotoweb-typography--responsive,
  .gotoweb-line-height--responsive {
    line-height: var(--gotoweb-line-height-tablet) !important;
  }

  .gotoweb-typography--responsive,
  .gotoweb-letter-spacing--responsive {
    letter-spacing: var(--gotoweb-letter-spacing-tablet) !important;
  }

  .gotoweb-typography--responsive,
  .gotoweb-text-align--responsive {
    text-align: var(--gotoweb-text-align-tablet) !important;
  }
}

@media (max-width: 767px) {
	.gotoweb-navbar__cta[data-cta-mode-mobile="label"] {
		display: inline-flex !important;
		width: auto !important;
		height: auto !important;
		padding: var(--gotoweb-navbar-cta-padding-y, 8px) var(--gotoweb-navbar-cta-padding-x, 16px) !important;
	}

	.gotoweb-navbar__cta[data-cta-mode-mobile="label"] .gotoweb-navbar__cta-label {
		display: inline;
	}

	.gotoweb-navbar__cta[data-cta-mode-mobile="label"] .gotoweb-navbar__cta-icon {
		display: none;
	}

	.gotoweb-navbar__cta[data-cta-mode-mobile="icon"] {
		display: inline-flex !important;
		width: var(--gotoweb-navbar-cta-compact-size, 44px) !important;
		height: var(--gotoweb-navbar-cta-compact-size, 44px) !important;
		padding: 0 !important;
	}

	.gotoweb-navbar__cta[data-cta-mode-mobile="icon"] .gotoweb-navbar__cta-label {
		display: none;
	}

	.gotoweb-navbar__cta[data-cta-mode-mobile="icon"] .gotoweb-navbar__cta-icon {
		display: inline-flex;
	}

	.gotoweb-navbar__cta[data-cta-mode-mobile="hidden"] {
		display: none !important;
	}

  .gotoweb-layout--stack-mobile {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    grid-template-columns: 1fr !important;
  }

  .gotoweb-layout--stack-mobile > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  .gotoweb-form--multistep.gotoweb-layout--stack-mobile .gotoweb-form__step-fields {
    grid-template-columns: 1fr;
  }

  .gotoweb-form__step-fields > [style*="grid-column:span 2"] {
    grid-column: auto;
  }

  .gotoweb-form__step-list {
    grid-template-columns: 1fr;
  }

  .gotoweb-navbar--mobile-menu-hidden .gotoweb-navbar__menu {
    display: none !important;
  }

  .gotoweb-navbar--mobile-menu-hidden .gotoweb-navbar__inner {
    flex-wrap: nowrap !important;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer .gotoweb-navbar__toggle {
    display: inline-flex !important;
    margin-left: auto;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer .gotoweb-navbar__drawer {
    width: 100% !important;
    flex: 1 0 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer .gotoweb-navbar__menu {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .gotoweb-navbar--enhanced.gotoweb-navbar--drawer .gotoweb-navbar__actions {
    width: 100% !important;
  }

  .gotoweb-responsive-display--hide-mobile {
    display: none !important;
  }

  .gotoweb-visual-tilt--reset-mobile {
    --gotoweb-visual-tilt-transform: rotate(0deg) !important;
    transform: var(--gotoweb-visual-depth-transform, translateZ(0)) var(--gotoweb-visual-tilt-transform) !important;
  }

  .gotoweb-visual-depth--reset-mobile {
    --gotoweb-visual-depth-transform: translateZ(0) !important;
    --gotoweb-visual-depth-translate-z: 0px !important;
    --gotoweb-visual-depth-parallax-intensity: 0 !important;
    --gotoweb-visual-depth-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
    transform-style: flat !important;
  }

  .gotoweb-sticky--reset-mobile {
    position: static !important;
    top: auto !important;
  }

  .gotoweb-min-height--responsive {
    min-height: var(--gotoweb-min-height-mobile, var(--gotoweb-min-height-tablet)) !important;
  }

  .gotoweb-background-position--responsive {
    background-position: var(--gotoweb-background-position-x-mobile, var(--gotoweb-background-position-x-tablet, var(--gotoweb-background-position-x-base))) var(--gotoweb-background-position-y-mobile, var(--gotoweb-background-position-y-tablet, var(--gotoweb-background-position-y-base))) !important;
  }

  .gotoweb-background-position--responsive > .mb-background-video {
    object-position: var(--gotoweb-background-position-x-mobile, var(--gotoweb-background-position-x-tablet, var(--gotoweb-background-position-x-base, 50%))) var(--gotoweb-background-position-y-mobile, var(--gotoweb-background-position-y-tablet, var(--gotoweb-background-position-y-base, 50%))) !important;
  }

  .gotoweb-image-height--responsive {
    height: var(--gotoweb-image-height-mobile, var(--gotoweb-image-height-tablet, var(--gotoweb-image-height-base, auto))) !important;
  }

  .gotoweb-image-object-position--responsive {
    object-position: var(--gotoweb-image-object-position-x-mobile, var(--gotoweb-image-object-position-x-tablet, var(--gotoweb-image-object-position-x-base, 50%))) var(--gotoweb-image-object-position-y-mobile, var(--gotoweb-image-object-position-y-tablet, var(--gotoweb-image-object-position-y-base, 50%))) !important;
  }

  .gotoweb-max-width--responsive {
    max-width: var(--gotoweb-max-width-mobile, var(--gotoweb-max-width-tablet, var(--gotoweb-max-width-base, none))) !important;
  }

  .gotoweb-flex--responsive {
    flex-direction: var(--gotoweb-flex-direction-mobile, var(--gotoweb-flex-direction-tablet, var(--gotoweb-flex-direction-base))) !important;
    flex-wrap: var(--gotoweb-flex-wrap-mobile, var(--gotoweb-flex-wrap-tablet, var(--gotoweb-flex-wrap-base))) !important;
    justify-content: var(--gotoweb-justify-content-mobile, var(--gotoweb-justify-content-tablet, var(--gotoweb-justify-content-base))) !important;
    align-items: var(--gotoweb-align-items-mobile, var(--gotoweb-align-items-tablet, var(--gotoweb-align-items-base))) !important;
  }

  .gotoweb-border-width--responsive {
    border-top-width: var(--gotoweb-border-top-width-mobile, var(--gotoweb-border-top-width-tablet, var(--gotoweb-border-top-width-base, 0))) !important;
    border-right-width: var(--gotoweb-border-right-width-mobile, var(--gotoweb-border-right-width-tablet, var(--gotoweb-border-right-width-base, 0))) !important;
    border-bottom-width: var(--gotoweb-border-bottom-width-mobile, var(--gotoweb-border-bottom-width-tablet, var(--gotoweb-border-bottom-width-base, 0))) !important;
    border-left-width: var(--gotoweb-border-left-width-mobile, var(--gotoweb-border-left-width-tablet, var(--gotoweb-border-left-width-base, 0))) !important;
  }

  .gotoweb-grid-template-columns--responsive {
    grid-template-columns: var(--gotoweb-grid-template-columns-mobile, var(--gotoweb-grid-template-columns-tablet, var(--gotoweb-grid-template-columns-base))) !important;
  }

  .gotoweb-testimonials-track--responsive {
    width: var(--gotoweb-testimonials-track-width-mobile, var(--gotoweb-testimonials-track-width-tablet, var(--gotoweb-testimonials-track-width-base))) !important;
  }

  .gotoweb-grid-column-start--responsive {
    grid-column-start: var(--gotoweb-grid-column-start-mobile, var(--gotoweb-grid-column-start-tablet, var(--gotoweb-grid-column-start-base))) !important;
  }

  .gotoweb-grid-column-span--responsive {
    grid-column-end: var(--gotoweb-grid-column-span-mobile, var(--gotoweb-grid-column-span-tablet, var(--gotoweb-grid-column-span-base))) !important;
  }

  .gotoweb-grid-row-start--responsive {
    grid-row-start: var(--gotoweb-grid-row-start-mobile, var(--gotoweb-grid-row-start-tablet, var(--gotoweb-grid-row-start-base))) !important;
  }

  .gotoweb-grid-row-span--responsive {
    grid-row-end: var(--gotoweb-grid-row-span-mobile, var(--gotoweb-grid-row-span-tablet, var(--gotoweb-grid-row-span-base))) !important;
  }

  .gotoweb-spacing--responsive {
    gap: var(--gotoweb-gap-mobile, var(--gotoweb-gap-tablet, var(--gotoweb-gap-base))) !important;
    padding-top: var(--gotoweb-padding-top-mobile, var(--gotoweb-padding-top-tablet, var(--gotoweb-padding-top-base))) !important;
    padding-right: var(--gotoweb-padding-right-mobile, var(--gotoweb-padding-right-tablet, var(--gotoweb-padding-right-base))) !important;
    padding-bottom: var(--gotoweb-padding-bottom-mobile, var(--gotoweb-padding-bottom-tablet, var(--gotoweb-padding-bottom-base))) !important;
    padding-left: var(--gotoweb-padding-left-mobile, var(--gotoweb-padding-left-tablet, var(--gotoweb-padding-left-base))) !important;
    margin-top: var(--gotoweb-margin-top-mobile, var(--gotoweb-margin-top-tablet, var(--gotoweb-margin-top-base))) !important;
    margin-bottom: var(--gotoweb-margin-bottom-mobile, var(--gotoweb-margin-bottom-tablet, var(--gotoweb-margin-bottom-base))) !important;
  }

  .gotoweb-gap--responsive {
    gap: var(--gotoweb-gap-mobile, var(--gotoweb-gap-tablet, var(--gotoweb-gap-base))) !important;
  }

  .gotoweb-padding-top--responsive {
    padding-top: var(--gotoweb-padding-top-mobile, var(--gotoweb-padding-top-tablet, var(--gotoweb-padding-top-base))) !important;
  }

  .gotoweb-padding-right--responsive {
    padding-right: var(--gotoweb-padding-right-mobile, var(--gotoweb-padding-right-tablet, var(--gotoweb-padding-right-base))) !important;
  }

  .gotoweb-padding-bottom--responsive {
    padding-bottom: var(--gotoweb-padding-bottom-mobile, var(--gotoweb-padding-bottom-tablet, var(--gotoweb-padding-bottom-base))) !important;
  }

  .gotoweb-padding-left--responsive {
    padding-left: var(--gotoweb-padding-left-mobile, var(--gotoweb-padding-left-tablet, var(--gotoweb-padding-left-base))) !important;
  }

  .gotoweb-margin-top--responsive {
    margin-top: var(--gotoweb-margin-top-mobile, var(--gotoweb-margin-top-tablet, var(--gotoweb-margin-top-base))) !important;
  }

  .gotoweb-margin-bottom--responsive {
    margin-bottom: var(--gotoweb-margin-bottom-mobile, var(--gotoweb-margin-bottom-tablet, var(--gotoweb-margin-bottom-base))) !important;
  }

  .gotoweb-margin-left--responsive {
    margin-left: var(--gotoweb-margin-left-mobile, var(--gotoweb-margin-left-tablet, var(--gotoweb-margin-left-base))) !important;
  }

  .gotoweb-typography--responsive,
  .gotoweb-font-size--responsive {
    font-size: var(--gotoweb-font-size-mobile, var(--gotoweb-font-size-tablet)) !important;
  }

  .gotoweb-typography--responsive,
  .gotoweb-line-height--responsive {
    line-height: var(--gotoweb-line-height-mobile, var(--gotoweb-line-height-tablet)) !important;
  }

  .gotoweb-typography--responsive,
  .gotoweb-letter-spacing--responsive {
    letter-spacing: var(--gotoweb-letter-spacing-mobile, var(--gotoweb-letter-spacing-tablet)) !important;
  }

  .gotoweb-typography--responsive,
  .gotoweb-text-align--responsive {
    text-align: var(--gotoweb-text-align-mobile, var(--gotoweb-text-align-tablet)) !important;
  }
}

/* Hero aurora gradient — promienisty pastel */
.gw-hero-aurora {
  background:
    radial-gradient(60% 50% at 8% 12%, rgba(255,176,140,.55) 0%, transparent 60%),
    radial-gradient(45% 35% at 92% 8%, rgba(193,210,255,.7) 0%, transparent 60%),
    radial-gradient(55% 45% at 75% 78%, rgba(213,193,255,.55) 0%, transparent 60%),
    radial-gradient(40% 30% at 12% 88%, rgba(255,206,184,.5) 0%, transparent 60%),
    #fbf8f4 !important;
}
.gw-hero-aurora-soft {
  background:
    radial-gradient(60% 60% at 0% 0%, rgba(255,176,140,.35) 0%, transparent 55%),
    radial-gradient(50% 50% at 100% 100%, rgba(193,210,255,.55) 0%, transparent 55%),
    #fbf8f4 !important;
}

/* Material Symbols (Rounded) — icon font for Button/Icon widgets. Renders any
   icon by its name via the ligature; works in editor AND on the front. */
.material-symbols-rounded {
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

/* Floating header nav with glassmorphism. */
.gw-floating-nav {
  background: rgba(251,248,244,.85) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(31,29,27,.05);
  border-radius: 9999px;
  box-shadow: 0 1px 2px rgba(31,29,27,.04), 0 8px 24px -8px rgba(31,29,27,.10);
}

/* Search shell tabs row hides native scrollbars. */
.gw-search-shell > div:first-child { scrollbar-width: none; -ms-overflow-style: none; }
.gw-search-shell > div:first-child::-webkit-scrollbar { display: none; }

/* ===== Hero dashboard decor =====
 * ImageBlock compiler ouputs <figure class="gw-hero-decor"><img class="gw-hero-decor ...">
 * The duplicate `.gw-hero-decor` on the inner <img> would also make it absolute, so we
 * scope position rules to figure.gw-hero-decor (tag selector) and force the inner img
 * to fill its parent normally.
 */
@media (min-width: 1280px) {
  figure.gw-hero-decor {
    position: absolute;
    top: 11rem;
    right: 0;
    width: 42%;
    max-width: 680px;
    pointer-events: none;
    z-index: 1;
    margin: 0;
    transform: rotate(2deg);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    border: 1px solid rgba(31,29,27,0.05);
  }
  figure.gw-hero-decor > img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
  }
}
@media (max-width: 1279px) {
  figure.gw-hero-decor { display: none; }
}
/* Hero dashboard WRAPPER box (allows an absolute badge overlay as a child,
   like the mock's .relative wrapper). Positions the box; inner figure/img static. */
.gw-hero-box { display: none; }
@media (min-width: 1280px) {
  .gw-hero-box {
    display: block;
    position: absolute;
    top: 11rem;
    right: 0;
    width: 42%;
    max-width: 680px;
    z-index: 1;
  }
  /* Soft aurora glow behind the dashboard (mock: -inset-10 gradient blur-3xl rounded-[60%]) */
  .gw-hero-box::before {
    content: "";
    position: absolute;
    inset: -2.5rem;
    background: linear-gradient(to bottom right, rgba(255,77,26,.2) 0%, rgba(196,181,253,.15) 50%, rgba(125,211,252,.2) 100%);
    filter: blur(64px);
    border-radius: 60%;
    z-index: 0;
    pointer-events: none;
  }
  /* No z-index here: natural paint order is ::before(glow) < figure(img) < badge.
     Adding z-index would lift the img above the absolute badge and hide it. */
  .gw-hero-box > figure { position: relative; margin: 0 !important; width: 100% !important; }
  .gw-hero-box figure > img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
}
.gw-hero-decor::before {
  content: "";
  position: absolute;
  inset: -2.5rem;
  background:
    radial-gradient(40% 40% at 30% 30%, rgba(255,77,26,.18) 0%, transparent 60%),
    radial-gradient(35% 35% at 70% 70%, rgba(135,108,255,.15) 0%, transparent 60%);
  filter: blur(40px);
  border-radius: 60%;
  z-index: 0;
}
.gw-hero-decor-img {
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 28px;
  box-shadow: 0 1px 2px rgba(31,29,27,.06), 0 30px 60px -30px rgba(31,29,27,.18);
  border: 1px solid rgba(255,255,255,.4);
  transform: rotate(-2deg);
  transform-origin: top right;
}
.gw-hero-decor-pill {
  position: absolute;
  bottom: -1.5rem;
  left: -1.5rem;
  background: rgba(251,248,244,.95);
  backdrop-filter: blur(4px);
  border-radius: 1rem;
  box-shadow: 0 1px 2px rgba(31,29,27,.06), 0 30px 60px -30px rgba(31,29,27,.18);
  border: 1px solid rgba(31,29,27,.05);
  padding: 12px 20px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transform: rotate(1deg);
  font-family: 'Bricolage Grotesque', system-ui, sans-serif;
  font-size: 14px;
}
.gw-hero-decor-pill__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 12px;
  background: #d1fae5; color: #047857; font-weight: 700; font-size: 16px;
}
.gw-hero-decor-pill__label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  color: #6b6661; font-weight: 600;
}
.gw-hero-decor-pill__value {
  font-size: 20px; font-weight: 700; color: #1f1d1b; line-height: 1;
}

/* Hero dashboard column (flex right side, NOT absolute — renders the same in the
   Craft editor and on the frontend). Only adds the soft aurora glow behind the
   image; positioning is plain flex via the node className. */
.gw-hero-glow { isolation: isolate; }
.gw-hero-glow > figure { margin: 0; width: 100%; }
.gw-hero-glow::before {
  content: "";
  position: absolute;
  inset: -2.5rem;
  background: linear-gradient(to bottom right, rgba(255,77,26,.2) 0%, rgba(196,181,253,.15) 50%, rgba(125,211,252,.2) 100%);
  filter: blur(64px);
  border-radius: 60%;
  z-index: -1;
  pointer-events: none;
}

/* Hero section anchors absolute decor elements. */
.gw-hero-aurora { position: relative; overflow: visible; }

/* StatsGrid mockup style: white cards, subtle border, and separators. */
.gw-stats-grid {
  display: grid !important;
  gap: 1px !important;
  background: rgba(31,29,27,.10) !important;
  border: 1px solid rgba(31,29,27,.10) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}
.gw-stats-grid > div {
  background: #ffffff;
  padding: 28px;
}

/* SearchShell - popular chips pod shellem */
.gw-popular-chips {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin-top: 20px;
  font-size: 14px; color: #3a3733;
}
.gw-popular-chips__label { color: #6b6661; }
.gw-popular-chips a {
  display: inline-flex; padding: 4px 12px;
  background: rgba(251,248,244,.7); backdrop-filter: blur(4px);
  border: 1px solid rgba(31,29,27,.10);
  border-radius: 9999px;
  text-decoration: none; color: #3a3733;
  transition: background .15s ease;
}
.gw-popular-chips a:hover { background: rgba(251,248,244,1); }

/* Section hero — ograniczenie overflow + inner div jako positioning anchor dla decor */
.gw-hero-aurora { overflow-x: clip; position: relative; }
.gw-hero-aurora > div { position: relative; }

/* Legacy saved-node presentation hooks. Keep them inside a Builder-owned
   surface so historical className values cannot restyle unrelated theme DOM. */
:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .font-display { font-family: 'Bricolage Grotesque', system-ui, sans-serif; letter-spacing: -0.02em; }

:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .bg-aurora {
  background:
    radial-gradient(60% 50% at 8% 12%, rgba(255,176,140,.55) 0%, transparent 60%),
    radial-gradient(45% 35% at 92% 8%, rgba(193,210,255,.7) 0%, transparent 60%),
    radial-gradient(55% 45% at 75% 78%, rgba(213,193,255,.55) 0%, transparent 60%),
    radial-gradient(40% 30% at 12% 88%, rgba(255,206,184,.5) 0%, transparent 60%),
    #fbf8f4;
}
:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .bg-aurora-soft {
  background:
    radial-gradient(60% 60% at 0% 0%, rgba(255,176,140,.35) 0%, transparent 55%),
    radial-gradient(50% 50% at 100% 100%, rgba(193,210,255,.55) 0%, transparent 55%),
    #fbf8f4;
}
:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .bg-grain { position: relative; }
:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .bg-grain::after {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.15; mix-blend-mode:multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/></svg>");
}

:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .pill-hl { display:inline-flex; align-items:center; padding:.05em .5em; border-radius:999px; background:#ff4d1a; color:#fff; }
:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .pill-hl-dark { display:inline-flex; align-items:center; padding:.05em .5em; border-radius:999px; background:#1f1d1b; color:#fbf8f4; }

:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .text-grad-warm {
  background: linear-gradient(90deg, #ff4d1a 0%, #b82f06 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .text-grad-cool {
  background: linear-gradient(90deg, #ff6a3d 0%, #8a4bff 60%, #3d7bff 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .card:hover { transform: translateY(-3px); }

/* mock body baseline text color (ink-800) — for inheriting text */
.gw-site-main, .gw-content { color: #2a2825; }

/* IconList compiler output (<ul class="gotoweb-icon-list">) — was unstyled,
   rendered as a default bulleted <ul>. Mock feature lists: space-y-3, flex row,
   icon + text aligned, no bullets. */
.gotoweb-icon-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.gotoweb-icon-list li { display: flex; align-items: flex-start; gap: 0.75rem; }
.gotoweb-icon-list li svg { flex-shrink: 0; margin-top: 0.15rem; }

/* Neutral free badge style for legacy .badge-free markup. */
:where(.gcb-canvas-root, .gw-site-main, .gotoweb-craft-template) .badge-free {
  display: inline-flex; align-items: center; gap: .25rem;
  padding: .2rem .55rem; border-radius: 999px;
  font-size: .7rem; font-weight: 700; letter-spacing: .02em;
  background: #ecfdf5; color: #047857; border: 1px solid rgba(5,150,105,.2);
}

/* Monteby core interactive blocks: start */
.gotoweb-stepper{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}
.gotoweb-stepper__nav{display:flex;flex-direction:column;align-items:stretch;min-height:720px}
.gotoweb-stepper__cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin-bottom:40px;
  padding:14px 28px;border-radius:9999px;background-image:linear-gradient(135deg,#F97316 0%,#EA580C 100%);
  color:#fff;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 8px 24px rgba(249,115,22,.3)}
.gotoweb-stepper__cta .material-symbols-outlined{font-size:18px}
.gotoweb-stepper__item{display:flex;flex-direction:column;gap:14px;padding:24px 0 20px;
  border-top:1px solid rgba(15,23,42,.08);transition:opacity .2s ease}
.gotoweb-stepper__item:last-of-type{border-bottom:1px solid rgba(15,23,42,.08)}
.gotoweb-stepper__item:not(.is-active){opacity:.5}
.gotoweb-stepper__item:not(.is-active):hover{opacity:.85}
.gotoweb-stepper__head{display:flex;align-items:center;gap:20px;width:100%;padding:0;background:none;
  border:0;cursor:pointer;text-align:left;font-family:inherit}
.gotoweb-stepper__num{font-family:var(--gcb-font-display,'Unbounded',sans-serif);font-weight:700;font-size:14px;
  letter-spacing:.05em;color:#9ca3af;flex-shrink:0;min-width:16px;transition:color .2s ease}
.gotoweb-stepper__title{font-family:var(--gcb-font-display,'Unbounded',sans-serif);font-weight:700;font-size:22px;
  line-height:1.3;color:#111827}
.gotoweb-stepper__item.is-active .gotoweb-stepper__num{color:#F97316}
.gotoweb-stepper__bar{height:3px;margin-left:36px;border-radius:2px;overflow:hidden;background:transparent}
.gotoweb-stepper__item.is-active .gotoweb-stepper__bar{background:rgba(249,115,22,.15)}
.gotoweb-stepper__bar>span{display:block;height:100%;width:0;background:#F97316;border-radius:2px}
.gotoweb-stepper__panel{margin:4px 0 8px 36px}
.gotoweb-stepper__panel[hidden]{display:none}
.gotoweb-stepper__desc{margin:0;font-size:15px;line-height:1.65;color:#4b5563;max-width:500px;min-height:160px}
.gotoweb-stepper__media{position:sticky;top:112px}
.gotoweb-stepper__frame{position:relative;border-radius:20px;overflow:hidden;padding:40px;min-height:460px;
  display:flex;align-items:center;justify-content:center;box-shadow:0 20px 60px rgba(15,23,42,.08);
  background:radial-gradient(ellipse 80% 60% at 30% 20%,rgba(254,215,170,.6),transparent 60%),
  radial-gradient(ellipse 80% 70% at 80% 80%,rgba(251,207,232,.4),transparent 60%),
  linear-gradient(135deg,#FFFBF7 0%,#FFF7ED 100%)}
.gotoweb-stepper__img{display:none;max-width:100%;max-height:480px;width:auto;height:auto;border-radius:12px}
.gotoweb-stepper__img.is-active{display:block}
@media (max-width:1024px){.gotoweb-stepper{grid-template-columns:1fr;gap:48px}
  .gotoweb-stepper__nav{min-height:auto}.gotoweb-stepper__desc{min-height:auto}
  .gotoweb-stepper__media{position:static}.gotoweb-stepper__frame{min-height:320px;padding:28px}}

.gotoweb-security{position:relative;height:var(--gwsec-h,460vh);padding:100px 0;
  background:linear-gradient(180deg,#F9FAFB 0%,#F9FAFB 50%,#FFF7ED 100%)}
.gotoweb-security__sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.gotoweb-security__header{text-align:center;margin-bottom:56px}
.gotoweb-security__heading{font-family:'Unbounded',system-ui,-apple-system,sans-serif;
  font-size:clamp(32px,3.8vw,50px);line-height:1.08;margin:0;font-weight:700;letter-spacing:-0.02em;color:#111827}
.gotoweb-security__stage{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}
.gotoweb-security__visual{position:relative;height:520px;display:flex;align-items:center;justify-content:center}
.gotoweb-security__frame{position:relative;width:100%;height:100%;border-radius:36px;
  background:radial-gradient(ellipse 70% 50% at 50% 25%,rgba(254,215,170,.7),transparent 65%),
  radial-gradient(ellipse 80% 60% at 50% 95%,rgba(251,207,232,.45),transparent 65%),
  linear-gradient(135deg,#FFFBF7 0%,#FFF1E0 100%);
  padding:50px 40px;box-shadow:0 30px 80px rgba(249,115,22,.14),inset 0 1px 0 rgba(255,255,255,.8);
  overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.gotoweb-security__art{width:280px;height:280px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.gotoweb-security__scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.85);pointer-events:none;
  transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.gotoweb-security__scene.is-active{opacity:1;transform:scale(1)}
.gotoweb-security__svg{width:100%;height:100%;max-width:280px;max-height:280px;
  filter:drop-shadow(0 20px 40px rgba(249,115,22,.25))}
.gotoweb-security__stats{position:relative;width:100%;text-align:center;z-index:1;height:100px}
.gotoweb-security__statblock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;opacity:0;transform:translateY(20px);
  transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}
.gotoweb-security__statblock.is-active{opacity:1;transform:translateY(0);transition-delay:.2s}
.gotoweb-security__stat{font-family:'Unbounded',system-ui,-apple-system,sans-serif;
  font-size:clamp(44px,5.5vw,68px);font-weight:800;line-height:1;
  background:linear-gradient(135deg,#F97316 0%,#EA580C 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:12px;letter-spacing:-0.02em}
.gotoweb-security__statlabel{font-size:12px;font-weight:700;color:#9CA3AF;text-transform:uppercase;letter-spacing:.12em}
.gotoweb-security__glow{position:absolute;top:50%;left:50%;width:60%;height:60%;transform:translate(-50%,-50%);
  border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.18),transparent 70%);
  filter:blur(50px);z-index:0;animation:gwsec-pulse 4s ease-in-out infinite;pointer-events:none}
@keyframes gwsec-pulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.6}
  50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}
.gotoweb-security__content{display:flex;flex-direction:column;gap:24px}
.gotoweb-security__steps{display:flex;flex-direction:column;gap:4px}
.gotoweb-security__step{position:relative;background:transparent;border:none;padding:18px 0 18px 24px;
  display:flex;flex-direction:column;text-align:left;cursor:pointer;font-family:inherit;
  border-top:1px solid rgba(15,23,42,.08);transition:opacity .4s ease;opacity:.35}
.gotoweb-security__step:last-of-type{border-bottom:1px solid rgba(15,23,42,.08)}
.gotoweb-security__step:hover:not(.is-active){opacity:.7}
.gotoweb-security__step.is-active{opacity:1}
.gotoweb-security__step.is-past{opacity:.55}
.gotoweb-security__stepbar{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;
  background:linear-gradient(135deg,#F97316 0%,#EA580C 100%);border-radius:2px;
  transition:height .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease}
.gotoweb-security__step.is-active .gotoweb-security__stepbar{height:70%;box-shadow:0 0 16px rgba(249,115,22,.5)}
.gotoweb-security__steprow{display:flex;align-items:center;gap:18px}
.gotoweb-security__stepnum{font-family:'Unbounded',system-ui,-apple-system,sans-serif;font-size:14px;font-weight:700;
  color:#9CA3AF;letter-spacing:.05em;flex-shrink:0;min-width:28px;transition:color .4s ease}
.gotoweb-security__step.is-active .gotoweb-security__stepnum,
.gotoweb-security__step.is-past .gotoweb-security__stepnum{color:#F97316}
.gotoweb-security__steptitle{font-size:19px;font-weight:700;color:#111827;line-height:1.3;transition:color .3s ease}
.gotoweb-security__step:hover:not(.is-active) .gotoweb-security__steptitle{color:#F97316}
.gotoweb-security__descwrap{display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1);margin-left:46px}
.gotoweb-security__descwrap.is-open{grid-template-rows:1fr}
.gotoweb-security__desc{overflow:hidden;font-size:14px;line-height:1.65;color:#4B5563;margin:0;max-width:540px;
  opacity:0;transform:translateY(-8px);padding-top:0;
  transition:opacity .5s ease .1s,transform .5s ease .1s,padding .5s ease}
.gotoweb-security__descwrap.is-open .gotoweb-security__desc{opacity:1;transform:translateY(0);padding-top:12px}
.gotoweb-security__progress{display:flex;align-items:center;gap:20px;margin-top:12px}
.gotoweb-security__ptrack{flex:1;height:4px;background:rgba(249,115,22,.12);border-radius:2px;overflow:hidden}
.gotoweb-security__pfill{height:100%;background:linear-gradient(135deg,#F97316 0%,#EA580C 100%);border-radius:2px;
  transition:width .6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 12px rgba(249,115,22,.4)}
.gotoweb-security__plabel{font-family:'Unbounded',system-ui,-apple-system,sans-serif;font-size:13px;font-weight:700;
  color:#F97316;letter-spacing:.08em;min-width:56px;text-align:right}

/* ── Scene 0: AES padlock (1:1, gwsec- prefix) ── */
.gotoweb-security .gwsec-shackle{transform-origin:120px 110px;transform:translateY(-30px) rotate(-12deg);opacity:0}
.gotoweb-security__scene.is-active .gwsec-shackle{animation:gwsec-shackle-close 1.2s cubic-bezier(.34,1.56,.64,1) .2s forwards}
@keyframes gwsec-shackle-close{0%{transform:translateY(-30px) rotate(-12deg);opacity:0}
  60%{transform:translateY(-8px) rotate(0);opacity:1}100%{transform:translateY(0) rotate(0);opacity:1}}
.gotoweb-security .gwsec-body{transform-origin:120px 155px;transform:scale(0);opacity:0}
.gotoweb-security__scene.is-active .gwsec-body{animation:gwsec-body-pop .6s cubic-bezier(.34,1.56,.64,1) 0s forwards}
@keyframes gwsec-body-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.gotoweb-security .gwsec-keyhole-circle,.gotoweb-security .gwsec-keyhole-bar{opacity:0}
.gotoweb-security__scene.is-active .gwsec-keyhole-circle,
.gotoweb-security__scene.is-active .gwsec-keyhole-bar{animation:gwsec-fade-in .4s ease .5s forwards}
.gotoweb-security .gwsec-bit{font-size:14px;opacity:0}
.gotoweb-security__scene.is-active .gwsec-bit{animation:gwsec-bit-float 3s ease-in-out infinite}
.gotoweb-security__scene.is-active .gwsec-bit.b1{animation-delay:.6s}
.gotoweb-security__scene.is-active .gwsec-bit.b2{animation-delay:.8s}
.gotoweb-security__scene.is-active .gwsec-bit.b3{animation-delay:1s}
.gotoweb-security__scene.is-active .gwsec-bit.b4{animation-delay:1.2s}
@keyframes gwsec-bit-float{0%,100%{opacity:0;transform:translateY(0)}20%{opacity:1}
  50%{opacity:.8;transform:translateY(-6px)}80%{opacity:.4}}
.gotoweb-security .gwsec-dot{opacity:0}
.gotoweb-security__scene.is-active .gwsec-dot{animation:gwsec-dot-pulse 2s ease-in-out infinite}
.gotoweb-security__scene.is-active .gwsec-dot.d2{animation-delay:1s}
@keyframes gwsec-dot-pulse{0%,100%{opacity:0}50%{opacity:1}}

/* Scene 1: location signal */
.gotoweb-security .gwsec-eu-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.gotoweb-security .gwsec-eu-glow{position:absolute;inset:10%;border-radius:50%;
  background:radial-gradient(circle,rgba(254,215,170,.5),transparent 70%);filter:blur(20px);
  opacity:0;transform:scale(.7);transition:opacity .6s ease,transform .6s ease}
.gotoweb-security__scene.is-active .gwsec-eu-glow{opacity:1;transform:scale(1);transition-delay:.05s}
.gotoweb-security .gwsec-eu-map{position:relative;z-index:1;width:72%;height:72%;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.8) 0 5%,transparent 6%),
    radial-gradient(circle at 50% 50%,rgba(251,146,60,.28) 0 28%,transparent 29%),
    radial-gradient(circle,rgba(251,146,60,.08) 0 48%,transparent 49%),
    linear-gradient(135deg,#FB923C 0%,#F97316 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
  opacity:0;transform:translateY(20px) scale(.9);filter:drop-shadow(0 10px 20px rgba(249,115,22,.25));
  transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.gotoweb-security__scene.is-active .gwsec-eu-map{opacity:1;transform:translateY(0) scale(1);transition-delay:.2s}
.gotoweb-security .gwsec-eu-pin-wrap{position:absolute;top:38%;left:60%;width:16px;height:16px;z-index:2;
  pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(0);
  transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}
.gotoweb-security__scene.is-active .gwsec-eu-pin-wrap{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.9s}
.gotoweb-security .gwsec-eu-pin-dot{position:absolute;inset:0;border-radius:50%;background:white;
  border:3px solid #F97316;box-shadow:0 4px 12px rgba(249,115,22,.5)}
.gotoweb-security .gwsec-eu-pin-dot::after{content:'';position:absolute;inset:25%;border-radius:50%;background:#F97316}
.gotoweb-security .gwsec-eu-pin-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid #F97316;opacity:0}
.gotoweb-security__scene.is-active .gwsec-eu-pin-pulse{animation:gwsec-eu-pin-pulse 2.5s ease-out infinite;animation-delay:1.3s}
.gotoweb-security__scene.is-active .gwsec-eu-pin-pulse.p2{animation-delay:2.55s}
@keyframes gwsec-eu-pin-pulse{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(4)}}

/* ── Scene 2: shield + checkmark ── */
.gotoweb-security .gwsec-shield{transform-origin:120px 120px;opacity:0;transform:scale(.6)}
.gotoweb-security__scene.is-active .gwsec-shield{animation:gwsec-shield-in .7s cubic-bezier(.34,1.56,.64,1) .1s forwards}
@keyframes gwsec-shield-in{0%{opacity:0;transform:scale(.6)}100%{opacity:1;transform:scale(1)}}
.gotoweb-security__scene.is-active .gwsec-check{animation:gwsec-check-draw .8s cubic-bezier(.65,0,.35,1) .7s forwards}
@keyframes gwsec-check-draw{to{stroke-dashoffset:0}}
.gotoweb-security .gwsec-ring{transform-origin:120px 120px}
.gotoweb-security__scene.is-active .gwsec-ring{animation:gwsec-ring-pulse 2.5s ease-out infinite}
.gotoweb-security__scene.is-active .gwsec-ring.r1{animation-delay:1.2s}
.gotoweb-security__scene.is-active .gwsec-ring.r2{animation-delay:2.4s}
@keyframes gwsec-ring-pulse{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.2);opacity:0}}

/* ── Scene 3: struck-through key ── */
.gotoweb-security .gwsec-key{transform-origin:120px 120px;opacity:0;transform:translateX(-30px)}
.gotoweb-security__scene.is-active .gwsec-key{animation:gwsec-key-in .6s cubic-bezier(.16,1,.3,1) .1s forwards,
  gwsec-key-fade 1.2s ease 1.2s forwards}
@keyframes gwsec-key-in{to{opacity:1;transform:translateX(0)}}
@keyframes gwsec-key-fade{to{opacity:.15}}
.gotoweb-security__scene.is-active .gwsec-strike{animation:gwsec-strike-draw .8s cubic-bezier(.65,0,.35,1) .9s forwards}
@keyframes gwsec-strike-draw{to{stroke-dashoffset:0}}
.gotoweb-security .gwsec-p{transform-origin:center}
.gotoweb-security__scene.is-active .gwsec-p{animation:gwsec-p-fly 1.5s ease-out 1.4s forwards}
.gotoweb-security__scene.is-active .gwsec-p.p1{animation-delay:1.4s}
.gotoweb-security__scene.is-active .gwsec-p.p2{animation-delay:1.5s}
.gotoweb-security__scene.is-active .gwsec-p.p3{animation-delay:1.45s}
.gotoweb-security__scene.is-active .gwsec-p.p4{animation-delay:1.55s}
.gotoweb-security__scene.is-active .gwsec-p.p5{animation-delay:1.6s}
.gotoweb-security__scene.is-active .gwsec-p.p6{animation-delay:1.5s}
@keyframes gwsec-p-fly{0%{opacity:0;transform:scale(0)}20%{opacity:1;transform:scale(1.5)}100%{opacity:0;transform:scale(0)}}
@keyframes gwsec-fade-in{to{opacity:1}}

/* ── Mobile (sticky→static, all steps expanded) ── */
@media (max-width:1024px){
  .gotoweb-security{height:auto}
  .gotoweb-security__sticky{position:static;height:auto;padding:80px 0}
  .gotoweb-security__header{margin-bottom:40px}
  .gotoweb-security__stage{grid-template-columns:1fr;gap:48px}
  .gotoweb-security__visual{height:360px}
  .gotoweb-security__scene{opacity:1;transform:none;position:relative;inset:auto;display:none}
  .gotoweb-security__scene.is-active{display:flex}
  .gotoweb-security__statblock.is-active{transition-delay:0s}
  .gotoweb-security__step{opacity:1}
  .gotoweb-security__descwrap{grid-template-rows:1fr}
  .gotoweb-security__desc{opacity:1;transform:none;padding-top:12px}
}
/* Monteby core interactive blocks: end */
@media (max-width: 900px) {
	.gotoweb-gallery--responsive[data-gallery-layout="grid"] {
		grid-template-columns: repeat(var(--gotoweb-gallery-columns-tablet), minmax(0, 1fr)) !important;
	}

	.gotoweb-gallery--responsive[data-gallery-layout="masonry"] {
		column-count: var(--gotoweb-gallery-columns-tablet) !important;
	}
}

@media (max-width: 767px) {
	.gotoweb-gallery--responsive[data-gallery-layout="grid"] {
		grid-template-columns: repeat(var(--gotoweb-gallery-columns-mobile), minmax(0, 1fr)) !important;
	}

	.gotoweb-gallery--responsive[data-gallery-layout="masonry"] {
		column-count: var(--gotoweb-gallery-columns-mobile) !important;
	}
}
@media (max-width: 900px) {
	.mb-background-layer {
		--mb-background-layer-x: var(--mb-background-layer-x-tablet, var(--mb-background-layer-x-base, 50%));
		--mb-background-layer-y: var(--mb-background-layer-y-tablet, var(--mb-background-layer-y-base, 50%));
		--mb-background-layer-size: var(--mb-background-layer-size-tablet, var(--mb-background-layer-size-base, 50%));
		--mb-background-layer-size-y: var(--mb-background-layer-size-y-tablet, var(--mb-background-layer-size-y-base, var(--mb-background-layer-size-tablet, var(--mb-background-layer-size-base, 50%))));
		opacity: var(--mb-background-layer-opacity-tablet, var(--mb-background-layer-opacity-base, 1));
	}

	.mb-background-media {
		--mb-background-media-filter: var(--mb-background-media-filter-tablet, var(--mb-background-media-filter-base, none));
	}

	.mb-background-root.gotoweb-background-position--responsive > .mb-background-media--image {
		background-position: var(--gotoweb-background-position-x-tablet, var(--gotoweb-background-position-x-base, 50%)) var(--gotoweb-background-position-y-tablet, var(--gotoweb-background-position-y-base, 50%));
	}
}

@media (max-width: 767px) {
	.mb-background-layer {
		--mb-background-layer-x: var(--mb-background-layer-x-mobile, var(--mb-background-layer-x-tablet, var(--mb-background-layer-x-base, 50%)));
		--mb-background-layer-y: var(--mb-background-layer-y-mobile, var(--mb-background-layer-y-tablet, var(--mb-background-layer-y-base, 50%)));
		--mb-background-layer-size: var(--mb-background-layer-size-mobile, var(--mb-background-layer-size-tablet, var(--mb-background-layer-size-base, 50%)));
		--mb-background-layer-size-y: var(--mb-background-layer-size-y-mobile, var(--mb-background-layer-size-y-tablet, var(--mb-background-layer-size-y-base, var(--mb-background-layer-size-mobile, var(--mb-background-layer-size-tablet, var(--mb-background-layer-size-base, 50%))))));
		opacity: var(--mb-background-layer-opacity-mobile, var(--mb-background-layer-opacity-tablet, var(--mb-background-layer-opacity-base, 1)));
	}

	.mb-background-media {
		--mb-background-media-filter: var(--mb-background-media-filter-mobile, var(--mb-background-media-filter-tablet, var(--mb-background-media-filter-base, none)));
	}

	.mb-background-root.gotoweb-background-position--responsive > .mb-background-media--image {
		background-position: var(--gotoweb-background-position-x-mobile, var(--gotoweb-background-position-x-tablet, var(--gotoweb-background-position-x-base, 50%))) var(--gotoweb-background-position-y-mobile, var(--gotoweb-background-position-y-tablet, var(--gotoweb-background-position-y-base, 50%)));
	}
}

/* Wave B3 (TOP 9): smooth in-page scrolling for anchor jumps, honoring the
   user's reduced-motion preference (no smooth scroll when reduction is asked). */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* ---------------------------------------------------------------------------
 * QueryLoop responsive grid, list layout, empty state and pagination.
 * The custom properties are published inline by the PHP renderer only when an
 * author sets a responsive override, so an untouched loop ships no extra CSS.
 * ------------------------------------------------------------------------ */

.gotoweb-query-loop__empty {
  margin: 0;
}

.gotoweb-query-loop-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 16px;
}

.gotoweb-query-loop[data-query-loop-busy] .gotoweb-query-loop__results {
  opacity: 0.6;
}

.gotoweb-query-loop:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

/* ---------------------------------------------------------------------------
 * FilterBar. The bar is a plain GET form; these rules only style it.
 * ------------------------------------------------------------------------ */

.gotoweb-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gotoweb-filter-bar-gap, 8px);
}

.gotoweb-filter-bar__group {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.gotoweb-filter-bar__legend {
  padding: 0;
  font-size: var(--gotoweb-filter-bar-font-size, 14px);
  font-weight: 600;
}

.gotoweb-filter-bar__options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gotoweb-filter-bar-gap, 8px);
  margin-top: var(--gotoweb-filter-bar-gap, 8px);
}

.gotoweb-filter-bar__option {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: var(--gotoweb-filter-bar-padding-y, 6px) var(--gotoweb-filter-bar-padding-x, 12px);
  border-radius: var(--gotoweb-filter-bar-radius, 999px);
  border: var(--gotoweb-filter-bar-border-width, 1px) solid var(--gotoweb-filter-bar-border-color, #d4d4d8);
  background: var(--gotoweb-filter-bar-bg, #ffffff);
  color: var(--gotoweb-filter-bar-color, #111827);
  font-size: var(--gotoweb-filter-bar-font-size, 14px);
  line-height: 1.2;
  cursor: pointer;
}

.gotoweb-filter-bar__option.is-active,
.gotoweb-filter-bar__option:has(.gotoweb-filter-bar__input:checked) {
  background: var(--gotoweb-filter-bar-active-bg, #111827);
  border-color: var(--gotoweb-filter-bar-active-bg, #111827);
  color: var(--gotoweb-filter-bar-active-color, #ffffff);
}

.gotoweb-filter-bar__option:focus-within {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.gotoweb-filter-bar__select {
  padding: var(--gotoweb-filter-bar-padding-y, 6px) var(--gotoweb-filter-bar-padding-x, 12px);
  border-radius: var(--gotoweb-filter-bar-radius, 999px);
  border: var(--gotoweb-filter-bar-border-width, 1px) solid var(--gotoweb-filter-bar-border-color, #d4d4d8);
  background: var(--gotoweb-filter-bar-bg, #ffffff);
  color: var(--gotoweb-filter-bar-color, #111827);
  font-size: var(--gotoweb-filter-bar-font-size, 14px);
  margin-top: var(--gotoweb-filter-bar-gap, 8px);
}

.gotoweb-filter-bar__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--gotoweb-filter-bar-gap, 8px);
}

.gotoweb-filter-bar__submit {
  padding: var(--gotoweb-filter-bar-padding-y, 6px) var(--gotoweb-filter-bar-padding-x, 12px);
  border-radius: var(--gotoweb-filter-bar-radius, 999px);
  border: var(--gotoweb-filter-bar-border-width, 1px) solid var(--gotoweb-filter-bar-active-bg, #111827);
  background: var(--gotoweb-filter-bar-active-bg, #111827);
  color: var(--gotoweb-filter-bar-active-color, #ffffff);
  font-size: var(--gotoweb-filter-bar-font-size, 14px);
  cursor: pointer;
}

.gotoweb-filter-bar__reset {
  font-size: var(--gotoweb-filter-bar-font-size, 14px);
  color: var(--gotoweb-filter-bar-color, #111827);
}

.gotoweb-filter-bar__count {
  margin: 0;
  font-size: var(--gotoweb-filter-bar-font-size, 14px);
  opacity: 0.75;
}

/* Query-bound search, sort and active-filter controls. */
.gotoweb-query-search,
.gotoweb-query-sort,
.gotoweb-active-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: var(--gotoweb-query-control-gap, 8px);
  color: var(--gotoweb-query-control-color, #111827);
}

.gotoweb-query-search__label,
.gotoweb-query-sort__label {
  display: grid;
  flex: 1 1 14rem;
  gap: 4px;
}

.gotoweb-query-search__input,
.gotoweb-query-sort__select,
.gotoweb-query-search__submit,
.gotoweb-query-sort__submit,
.gotoweb-active-filters__pill {
  min-height: 42px;
  padding: var(--gotoweb-query-control-padding, 10px 12px);
  border: 1px solid var(--gotoweb-query-control-border, #d4d4d8);
  border-radius: var(--gotoweb-query-control-radius, 8px);
  background: var(--gotoweb-query-control-background, #ffffff);
  color: var(--gotoweb-query-control-color, #111827);
}

.gotoweb-query-search__actions,
.gotoweb-active-filters__pills {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gotoweb-query-control-gap, 8px);
}

.gotoweb-query-search__submit,
.gotoweb-query-sort__submit {
  cursor: pointer;
}

.gotoweb-query-search__reset,
.gotoweb-active-filters__clear {
  align-self: center;
}

.gotoweb-active-filters__pill {
  display: inline-flex;
  align-items: center;
  min-height: auto;
  text-decoration: none;
}

.gotoweb-query-search :focus-visible,
.gotoweb-query-sort :focus-visible,
.gotoweb-active-filters :focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.gotoweb-craft-template--header-behavior {
  position: sticky;
  top: calc(var(--gw-header-sticky-offset, 0px) + var(--wp-admin--admin-bar--height, 0px));
  z-index: 1000;
  transition: transform 180ms ease;
  will-change: transform;
}

.gotoweb-craft-template--header-behavior.is-header-hidden {
  transform: translateY(calc(-100% - var(--gw-header-sticky-offset, 0px)));
}

.gotoweb-craft-template--header-behavior [data-gw-header-shrink-target] {
  transition: padding 180ms ease;
}

.gotoweb-craft-template--header-behavior.is-header-shrunk [data-gw-header-shrink-target] {
  padding: var(--gw-header-shrink-padding, 8px 0) !important;
}

@media (prefers-reduced-motion: reduce) {
  .gotoweb-craft-template--header-behavior,
  .gotoweb-craft-template--header-behavior [data-gw-header-shrink-target] {
    transition: none;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .gotoweb-query-loop-grid--responsive {
    grid-template-columns: var(--gotoweb-query-loop-columns-tablet, var(--gotoweb-query-loop-columns-base)) !important;
    gap: var(--gotoweb-query-loop-gap-tablet, var(--gotoweb-query-loop-gap-base)) !important;
  }

  .gotoweb-query-loop-grid--responsive.gotoweb-query-loop-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .gotoweb-query-loop-grid--responsive {
    grid-template-columns: var(--gotoweb-query-loop-columns-mobile, var(--gotoweb-query-loop-columns-tablet, var(--gotoweb-query-loop-columns-base))) !important;
    gap: var(--gotoweb-query-loop-gap-mobile, var(--gotoweb-query-loop-gap-tablet, var(--gotoweb-query-loop-gap-base))) !important;
  }

  .gotoweb-query-loop-grid--responsive.gotoweb-query-loop-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
