/* Berke bundle: berke-tokens, berke-base, berke-typography, berke-design-system, berke-components, berke-motion-v0820, berke-scroll-progress, berke-footer, berke-site-tools, berke-child, berke-ui-polish-v0400, berke-cta-hotfix-v0400, berke-core-pages-v0400, berke-service-intake-v0400, berke-header-intake-v0400 */
/* berke-tokens */
/**
 * Berke Design Tokens v2.0 — canonical source of visual constants.
 * Pages/components may consume semantic tokens, but must not define a competing scale.
 */
:root {
	/* Brand / surfaces */
	--berke-color-primary-950: #0f2439;
	--berke-color-primary-900: #132c46;
	--berke-color-primary-800: #182d4c;
	--berke-color-primary-700: #223d65;
	--berke-color-primary-600: #2f6e95;
	--berke-color-primary-500: #4bb8dd;
	--berke-color-sky-100: #eef8fb;
	--berke-color-sky-200: #dceff6;
	--berke-color-aqua-100: #f2f7fa;
	--berke-color-aqua-200: #e5eef3;
	--berke-color-indigo-100: #f1f4f8;
	--berke-color-indigo-200: #e2e8f0;
	--berke-color-accent-500: #4bb8dd;
	--berke-color-text: #173f55;
	--berke-color-heading: #0f2439;
	--berke-color-muted: #506b7d;
	--berke-color-border: #dbe6ec;
	--berke-color-border-strong: #bfd5df;
	--berke-color-surface: #f7fafc;
	--berke-color-surface-blue: #eef8fb;
	--berke-color-surface-elevated: #ffffff;
	--berke-color-white: #ffffff;

	/* Iconography & visual accents v1.0 — semantic, not decorative. */
	--berke-icon-aqua: #167f9f;
	--berke-icon-aqua-bg: #eaf7fb;
	--berke-icon-aqua-border: rgba(22, 127, 159, .22);
	--berke-icon-teal: #23756f;
	--berke-icon-teal-bg: #edf8f6;
	--berke-icon-teal-border: rgba(35, 117, 111, .22);
	--berke-icon-green: #39785a;
	--berke-icon-green-bg: #eef7f1;
	--berke-icon-green-border: rgba(57, 120, 90, .22);
	--berke-icon-amber: #a86a16;
	--berke-icon-amber-bg: #fff6e8;
	--berke-icon-amber-border: rgba(168, 106, 22, .24);
	--berke-icon-navy: #355678;
	--berke-icon-navy-bg: #eef3f8;
	--berke-icon-navy-border: rgba(53, 86, 120, .20);
	--berke-icon-glyph-nav: 1.125rem;
	--berke-icon-glyph-action: 1.25rem;
	--berke-icon-glyph-footer: 1.25rem;
	--berke-icon-glyph-section: 1.625rem;
	--berke-icon-glyph-feature: 1.875rem;
	--berke-icon-stroke: 1.8;
	--berke-icon-stroke-compact: 1.7;
	--berke-icon-surface-nav: 2rem;
	--berke-icon-surface-action: 2.75rem;
	--berke-icon-surface-footer: 2.5rem;

	/* Typography — single semantic scale */
	--berke-font-family: "IRANYekanX", Tahoma, Arial, sans-serif;
	--berke-font-weight-regular: 400;
	--berke-font-weight-medium: 500;
	--berke-font-weight-semibold: 600;
	--berke-font-weight-bold: 700;
	--berke-font-weight-extrabold: 800;
	--berke-type-display: clamp(2.3rem, 3vw, 3rem);
	--berke-type-h1: clamp(2.08rem, 2.55vw, 2.82rem);
	--berke-type-h2: clamp(1.46rem, 1.62vw, 1.84rem);
	--berke-type-h3: clamp(1.07rem, 1.05vw, 1.22rem);
	--berke-type-h4: 1.05rem;
	--berke-type-lead: clamp(1rem, .985rem + .1vw, 1.08rem);
	--berke-type-body: clamp(.98rem, .97rem + .07vw, 1.035rem);
	--berke-type-card: .95rem;
	--berke-type-control: .94rem;
	--berke-type-small: .91rem;
	--berke-type-caption: .88rem;
	--berke-type-micro: .84rem;
	--berke-leading-display: 1.46;
	--berke-leading-heading: 1.58;
	--berke-leading-body: 1.9;
	--berke-leading-compact: 1.72;
	--berke-leading-support: 1.88;
	--berke-copy-gap: .66rem;
	--berke-card-copy-gap: .46rem;

	/* Dark-surface foreground contract */
	--berke-color-on-dark: #ffffff;
	--berke-color-on-dark-muted: rgba(255, 255, 255, .82);

	/* Backward-compatible type aliases */
	--berke-font-size-base: var(--berke-type-body);
	--berke-line-height-base: var(--berke-leading-body);
	--berke-text-xs: var(--berke-type-micro);
	--berke-text-sm: var(--berke-type-small);
	--berke-text-base: var(--berke-type-body);
	--berke-text-lg: var(--berke-type-lead);
	--berke-text-xl: var(--berke-type-h4);
	--berke-text-2xl: var(--berke-type-h3);
	--berke-text-3xl: var(--berke-type-h2);
	--berke-text-4xl: var(--berke-type-h1);
	--berke-leading-tight: var(--berke-leading-display);

	/* Containers / readable measures */
	--berke-container: 82rem;
	--berke-container-narrow: 64rem;
	--berke-container-wide: 88rem;
	--berke-content-measure: 44rem;
	--berke-content-measure-wide: 46rem;
	--berke-gutter: clamp(1rem, 3.25vw, 2rem);

	/* Spacing rhythm: only these steps should be used for new components */
	--berke-space-1: .375rem;
	--berke-space-2: .5rem;
	--berke-space-3: .75rem;
	--berke-space-4: 1rem;
	--berke-space-5: 1.5rem;
	--berke-space-6: 2rem;
	--berke-space-7: 3rem;
	--berke-space-8: 4rem;
	--berke-space-9: 6rem;
	--berke-space-10: 8rem;
	--berke-section-space: clamp(2.7rem, 4.35vw, 4.15rem);
	--berke-section-space-compact: clamp(2rem, 3.1vw, 2.85rem);
	--berke-section-head-gap: clamp(1.1rem, 1.75vw, 1.55rem);
	--berke-split-gap: clamp(1.35rem, 2.6vw, 2.6rem);
	--berke-hero-pad-start: clamp(2.35rem, 3.65vw, 3.35rem);
	--berke-hero-pad-end: clamp(1.9rem, 2.85vw, 2.5rem);
	--berke-hero-column-gap: clamp(1.55rem, 2.8vw, 2.65rem);
	--berke-hero-completion-gap: .72rem;
	--berke-hero-completion-line: #d7e5ea;
	--berke-hero-completion-bg: #f4f9fb;
	--berke-hero-completion-ink: #173c54;
	--berke-hero-completion-muted: #55717f;

	/* Controls / shape */
	--berke-control-min: 2.75rem;
	--berke-control-min-touch: 2.75rem;
	--berke-control-pad-block: .58rem;
	--berke-control-pad-inline: .95rem;
	--berke-control-radius: .76rem;
	--berke-radius-sm: .5rem;
	--berke-radius-md: 1rem;
	--berke-radius-lg: 1.5rem;
	--berke-radius-xl: 2rem;
	--berke-radius-pill: 999px;
	--berke-border-subtle: 1px solid var(--berke-color-border);

	/* Elevation */
	--berke-shadow-xs: 0 .25rem .8rem rgba(15, 36, 57, .04);
	--berke-shadow-sm: 0 .5rem 1.5rem rgba(34, 61, 101, .08);
	--berke-shadow-md: 0 1rem 2.6rem rgba(15, 36, 57, .10);
	--berke-shadow-lg: 0 1.5rem 3.75rem rgba(15, 36, 57, .16);
	--berke-shadow-menu: var(--berke-shadow-lg);

	/* 0.20 compatibility aliases. Values remain owned by canonical tokens above. */
	--berke-ds-container: var(--berke-container);
	--berke-ds-measure: var(--berke-content-measure);
	--berke-ds-gutter: var(--berke-gutter);
	--berke-ds-section-y: var(--berke-section-space);
	--berke-ds-section-y-compact: var(--berke-section-space-compact);
	--berke-ds-section-head-gap: var(--berke-section-head-gap);
	--berke-ds-split-gap: var(--berke-split-gap);
	--berke-ds-copy-gap: var(--berke-copy-gap);
	--berke-ds-card-copy-gap: var(--berke-card-copy-gap);
	--berke-ds-control-min: var(--berke-control-min-touch);
	--berke-ds-control-pad-block: var(--berke-control-pad-block);
	--berke-ds-control-pad-inline: var(--berke-control-pad-inline);
	--berke-ds-control-radius: var(--berke-control-radius);

	/* Motion v1.0 — Engineered Flow. Feedback/orientation/state/story only. */
	--berke-motion-duration-instant: 90ms;
	--berke-motion-duration-fast: 140ms;
	--berke-motion-duration-base: 180ms;
	--berke-motion-duration-comfortable: 260ms;
	--berke-motion-duration-reveal: 360ms;
	--berke-motion-duration-signature: 520ms;
	--berke-motion-ease-standard: cubic-bezier(.2, 0, 0, 1);
	--berke-motion-ease-enter: cubic-bezier(.16, 1, .3, 1);
	--berke-motion-ease-exit: cubic-bezier(.4, 0, 1, 1);
	--berke-motion-distance-micro: 2px;
	--berke-motion-distance-reveal: 10px;
	--berke-motion-distance-directional: 18px;
	--berke-motion-scale-hover: 1.01;
	--berke-motion-scale-media: 1.02;
	--berke-motion-stagger: 50ms;
	--berke-motion-property-safe: transform, opacity;
	/* Compatibility aliases used by older components. */
	--berke-motion-duration-slow: var(--berke-motion-duration-comfortable);
	--berke-transition-fast: var(--berke-motion-duration-fast) var(--berke-motion-ease-standard);
	--berke-transition: var(--berke-motion-duration-base) var(--berke-motion-ease-standard);
	--berke-transition-slow: var(--berke-motion-duration-comfortable) var(--berke-motion-ease-standard);
	--berke-z-content: 1;
	--berke-z-sticky: 50;
	--berke-z-header: 1000;
	--berke-z-overlay: 9990;
	--berke-z-modal: 10050;
}

@media (max-width: 56rem) {
	:root {
		--berke-type-display: clamp(2rem, 7vw, 2.3rem);
		--berke-type-h1: clamp(1.85rem, 6.7vw, 2.18rem);
		--berke-type-h2: clamp(1.34rem, 5.1vw, 1.65rem);
		--berke-type-h3: clamp(1.04rem, 3.8vw, 1.18rem);
		--berke-type-h4: 1.03rem;
		--berke-type-lead: 1.01rem;
		--berke-type-body: .985rem;
		--berke-type-card: .95rem;
		--berke-type-control: .94rem;
		--berke-type-small: .92rem;
		--berke-type-caption: .88rem;
		--berke-leading-display: 1.48;
		--berke-leading-heading: 1.62;
		--berke-leading-body: 1.88;
		--berke-leading-support: 1.86;
		--berke-copy-gap: .56rem;
		--berke-card-copy-gap: .38rem;
		--berke-hero-pad-start: 2rem;
		--berke-hero-pad-end: 1.7rem;
		--berke-hero-column-gap: 1.1rem;
		--berke-section-space: clamp(2.35rem, 8vw, 3.3rem);
		--berke-section-space-compact: clamp(1.8rem, 6vw, 2.5rem);
		--berke-motion-distance-reveal: 7px;
		--berke-motion-distance-directional: 12px;
	}
}


/* berke-base */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--berke-color-text);
	background: var(--berke-color-white);
	font-family: var(--berke-font-family);
	font-size: var(--berke-font-size-base);
	line-height: var(--berke-line-height-base);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

img,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
}

button,
input,
select,
textarea {
	font: inherit;
}

button {
	color: inherit;
}

:focus-visible {
	outline: 0.1875rem solid var(--berke-color-accent-500);
	outline-offset: 0.1875rem;
}

[hidden] {
	display: none !important;
}

.berke-container {
	width: min(
		calc(100% - (2 * var(--berke-gutter))),
		var(--berke-container)
	);
	margin-inline: auto;
}

.berke-section {
	padding-block: var(--berke-section-space);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	z-index: 100000;
	top: 0.75rem;
	inset-inline-start: 0.75rem;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	color: var(--berke-color-white);
	background: var(--berke-color-primary-900);
	border-radius: var(--berke-radius-sm);
}


/* berke-typography */
/**
 * Berke typography foundation — consumes canonical tokens from tokens.css.
 * Font-face declarations are injected only when licensed local files exist.
 */
html,
body,
button,
input,
select,
textarea {
	font-family: var(--berke-font-family);
}

body.berke-font-iranyekan,
body.berke-font-iranyekan .berke-site-header,
body.berke-font-iranyekan .berke-site-header a,
body.berke-font-iranyekan .berke-site-header button,
body.berke-font-iranyekan .elementor-heading-title,
body.berke-font-iranyekan .elementor-widget-text-editor,
body.berke-font-iranyekan .elementor-button,
body.berke-font-iranyekan .elementor-field,
body.berke-font-iranyekan .elementor-field-label,
body.berke-font-iranyekan .elementor-nav-menu a {
	font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
}

body.berke-font-iranyekan {
	--berke-font-family: "IRANYekanX", Tahoma, Arial, sans-serif;
	--e-global-typography-primary-font-family: "IRANYekanX";
	--e-global-typography-secondary-font-family: "IRANYekanX";
	--e-global-typography-text-font-family: "IRANYekanX";
	--e-global-typography-accent-font-family: "IRANYekanX";
}

body {
	font-size: var(--berke-type-body);
	font-weight: var(--berke-font-weight-regular);
	line-height: var(--berke-leading-body);
	font-kerning: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
figure {
	margin-block-start: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--berke-color-heading);
	font-family: var(--berke-font-family);
	letter-spacing: 0;
	text-wrap: balance;
}

h1 { font-size: var(--berke-type-h1); font-weight: 800; line-height: var(--berke-leading-display); }
h2 { font-size: var(--berke-type-h2); font-weight: 700; line-height: var(--berke-leading-heading); }
h3 { font-size: var(--berke-type-h3); font-weight: 700; line-height: var(--berke-leading-heading); }
h4 { font-size: var(--berke-type-h4); font-weight: 600; line-height: 1.65; }
h5,
h6 { font-size: 1rem; font-weight: 600; line-height: 1.7; }

p,
li,
dd,
dt,
figcaption,
label,
input,
select,
textarea,
button {
	line-height: var(--berke-leading-body);
}

p { margin-block-end: 1.1em; }
small,
.berke-text-small { font-size: var(--berke-type-caption); }
strong,
b { font-weight: 700; }
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.berke-header-cta,
.berke-mobile-cta { font-weight: 700; }

:root{--berke-font-family:"IRANYekanX",Tahoma,Arial,sans-serif;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-Regular.ttf?ver=1785687763") format("truetype");font-style:normal;font-weight:400;font-display:swap;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-Medium.ttf?ver=1785687763") format("truetype");font-style:normal;font-weight:500;font-display:swap;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-DemiBold.ttf?ver=1785687763") format("truetype");font-style:normal;font-weight:600;font-display:swap;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-Bold.ttf?ver=1785687763") format("truetype");font-style:normal;font-weight:700;font-display:swap;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-ExtraBold.ttf?ver=1785687763") format("truetype");font-style:normal;font-weight:800;font-display:swap;}
/* berke-design-system */
/**
 * Berke reusable design-system primitives.
 * Namespaced to avoid Elementor and legacy-page regressions.
 */

/* Canonical tokens are defined in tokens.css. */

.berke-ui-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	min-block-size: var(--berke-control-min);
	padding: 0.78rem 1.25rem;
	border: 1px solid transparent;
	border-radius: var(--berke-radius-pill);
	font-size: var(--berke-text-sm);
	font-weight: var(--berke-font-weight-bold);
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	transition:
		transform var(--berke-transition),
		background-color var(--berke-transition),
		border-color var(--berke-transition),
		color var(--berke-transition),
		box-shadow var(--berke-transition);
}

.berke-ui-button svg,
.berke-text-link svg {
	inline-size: 1.1rem;
	block-size: 1.1rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.berke-ui-button--primary {
	color: var(--berke-color-white);
	background: var(--berke-color-primary-700);
	box-shadow: 0 0.8rem 2rem rgba(34, 61, 101, 0.17);
}

.berke-ui-button--secondary {
	color: var(--berke-color-primary-700);
	background: rgba(255, 255, 255, 0.88);
	border-color: rgba(34, 61, 101, 0.18);
}

.berke-ui-button--light {
	color: var(--berke-color-primary-950);
	background: var(--berke-color-white);
}

.berke-ui-button--ghost-light {
	color: var(--berke-color-white);
	background: transparent;
	border-color: rgba(255, 255, 255, 0.45);
}

.berke-ui-button:hover {
	transform: translateY(-1px);
}

.berke-ui-button--primary:hover {
	background: var(--berke-color-primary-900);
}

.berke-ui-button--secondary:hover {
	border-color: var(--berke-color-primary-500);
	background: var(--berke-color-white);
}

.berke-ui-button--ghost-light:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.7);
}

.berke-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-block-size: 2.5rem;
	color: var(--berke-color-primary-700);
	font-size: var(--berke-text-sm);
	font-weight: var(--berke-font-weight-bold);
	text-decoration: none;
}

.berke-text-link:hover {
	color: var(--berke-color-primary-900);
}

.berke-icon-badge {
	display: inline-grid;
	place-items: center;
	inline-size: 3.15rem;
	block-size: 3.15rem;
	color: var(--berke-color-primary-700);
	background: var(--berke-color-sky-100);
	border-radius: 0.9rem;
}

.berke-icon-badge svg {
	inline-size: 1.5rem;
	block-size: 1.5rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
}

.berke-icon-badge--soft {
	background: var(--berke-surface-blue);
}

.berke-icon-badge--outline {
	background: var(--berke-color-white);
	border: var(--berke-border-subtle);
}

@media (prefers-reduced-motion: reduce) {
	.berke-ui-button {
		transition: none;
	}

	.berke-ui-button:hover {
		transform: none;
	}
}


/* berke-components */

body { --berke-admin-bar-offset: 0px; }
body.admin-bar { --berke-admin-bar-offset: 32px; }

.berke-site-header {
	position: sticky;
	top: var(--berke-admin-bar-offset);
	z-index: 9999;
	overflow: visible;
	background: rgba(255, 255, 255, 0.965);
	border-bottom: 1px solid rgba(15, 36, 57, 0.09);
	box-shadow: 0 0.4rem 1.2rem rgba(15, 36, 57, 0.035);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.berke-site-header__accent {
	height: 0.22rem;
	background: linear-gradient(90deg, var(--berke-color-primary-700), var(--berke-color-primary-500), #75c8e3);
}

.berke-site-header__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(13.5rem, 17rem) minmax(0, 1fr) auto;
	align-items: center;
	min-height: 6rem;
	gap: 1rem;
}

.berke-site-branding { min-width: 0; }

.berke-site-branding__home {
	display: grid;
	grid-template-columns: 4.9rem minmax(0, 1fr);
	align-items: center;
	gap: 0.72rem;
	max-width: 17rem;
	color: inherit;
	text-decoration: none;
}

.berke-site-branding__logo,
.berke-site-branding__monogram {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4.9rem;
	height: 4.9rem;
	flex-shrink: 0;
}

.berke-site-branding__logo-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.berke-site-branding__monogram {
	color: var(--berke-color-white);
	font-size: 2rem;
	font-weight: 800;
	background: linear-gradient(135deg, var(--berke-color-primary-700), var(--berke-color-primary-500));
	border-radius: 50%;
}

.berke-site-branding__copy { display: grid; gap: 0.22rem; min-width: 0; }

.berke-site-branding__title {
	color: var(--berke-color-primary-900);
	font-size: 1.18rem;
	font-weight: 800;
	line-height: 1.35;
}

.berke-site-branding__tagline {
	color: var(--berke-color-muted);
	font-size: 0.76rem;
	line-height: 1.55;
}

.berke-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.8rem;
	padding: 0.55rem 0.9rem;
	background: var(--berke-color-white);
	border: 1px solid var(--berke-color-border);
	border-radius: var(--berke-radius-pill);
	box-shadow: var(--berke-shadow-sm);
	cursor: pointer;
}

.berke-menu-toggle__icon { display: grid; gap: 0.25rem; width: 1.2rem; }
.berke-menu-toggle__icon span { display: block; width: 100%; height: 2px; background: currentColor; border-radius: 99px; transition: transform var(--berke-transition), opacity var(--berke-transition); }
.berke-menu-toggle[aria-expanded="true"] .berke-menu-toggle__icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.berke-menu-toggle[aria-expanded="true"] .berke-menu-toggle__icon span:nth-child(2) { opacity: 0; }
.berke-menu-toggle[aria-expanded="true"] .berke-menu-toggle__icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.berke-primary-navigation { min-width: 0; }
.berke-menu,.berke-menu ul { padding: 0; margin: 0; list-style: none; }
.berke-menu { display: flex; align-items: center; justify-content: center; gap: 0.15rem; }
.berke-menu > li { position: relative; }

.berke-menu > li > a,
.berke-mega-menu__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.46rem;
	min-height: 3rem;
	padding: 0.5rem 0.72rem;
	color: var(--berke-color-text);
	font: inherit;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	background: transparent;
	border: 0;
	border-radius: 0.85rem;
	cursor: pointer;
	transition: color var(--berke-transition), background var(--berke-transition), transform var(--berke-transition);
}

.berke-menu > li > a:hover,
.berke-menu > li > a:focus-visible,
.berke-menu .current-menu-item > a,
.berke-mega-menu__trigger:hover,
.berke-mega-menu__trigger:focus-visible,
.berke-mega-menu__trigger[aria-expanded="true"] {
	color: var(--berke-color-primary-700);
	background: var(--berke-color-sky-100);
}

.berke-nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: var(--berke-color-primary-700);
	background: rgba(255,255,255,.82);
	border: 1px solid rgba(34,61,101,.12);
	border-radius: 50%;
}

.berke-nav-icon svg {
	display: block;
	width: 1.12rem;
	height: 1.12rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.berke-nav-icon--top { width: 2rem; height: 2rem; background: linear-gradient(180deg, #fff, var(--berke-color-sky-100)); }

.berke-mega-menu__trigger-chevron {
	width: 0.42rem;
	height: 0.42rem;
	margin-inline-start: 0.1rem;
	border-inline-end: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-0.1rem) rotate(45deg);
	transition: transform var(--berke-transition);
}
.berke-mega-menu__trigger[aria-expanded="true"] .berke-mega-menu__trigger-chevron { transform: translateY(0.1rem) rotate(225deg); }

.berke-header-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 3.05rem;
	padding: 0.65rem 1.18rem;
	color: var(--berke-color-white);
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	background: linear-gradient(135deg, var(--berke-color-primary-800), var(--berke-color-primary-600));
	border: 1px solid rgba(7,82,104,.24);
	border-radius: var(--berke-radius-pill);
	box-shadow: 0 0.7rem 1.5rem rgba(34,61,101,.18);
	transition: transform var(--berke-transition), box-shadow var(--berke-transition);
}
.berke-header-cta__dot { width: 0.45rem; height: 0.45rem; background: #a7dff1; border-radius: 50%; box-shadow: 0 0 0 0.25rem rgba(142,225,237,.15); }
.berke-header-cta:hover,.berke-header-cta:focus-visible { color: var(--berke-color-white); transform: translateY(-1px); box-shadow: 0 0.9rem 1.8rem rgba(34,61,101,.24); }
.berke-mobile-cta { display: none; }

.berke-mega-menu { position: static !important; }
.berke-mega-menu__panel {
	position: absolute;
	z-index: 20;
	top: calc(100% + 0.65rem);
	left: 50%;
	right: auto;
	display: block;
	width: min(68rem, calc(100vw - 3rem));
	max-height: calc(100vh - 8rem);
	padding: 0.95rem;
	overflow: auto;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	background: rgba(250,253,254,.985);
	border: 1px solid rgba(34,61,101,.11);
	border-radius: 1.45rem;
	box-shadow: var(--berke-shadow-menu);
	transform: translateX(-50%) translateY(0.4rem);
	transition: opacity var(--berke-transition), transform var(--berke-transition), visibility var(--berke-transition);
}

.berke-mega-menu__panel.is-open,
.berke-mega-menu:hover > .berke-mega-menu__panel,
.berke-mega-menu:focus-within > .berke-mega-menu__panel {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

.berke-mega-menu__overview {
	display: grid;
	grid-template-columns: auto minmax(0,1fr) auto;
	align-items: center;
	gap: 0.85rem;
	min-height: 4.8rem;
	padding: 0.85rem 1rem;
	margin-block-end: 0.85rem;
	color: var(--berke-color-white);
	text-decoration: none;
	background: linear-gradient(120deg, var(--berke-color-primary-800), var(--berke-color-primary-500));
	border-radius: 1.05rem;
}
.berke-nav-icon--overview { width: 2.65rem; height: 2.65rem; color: var(--berke-color-primary-800); background: rgba(255,255,255,.95); }
.berke-mega-menu__overview-copy { display: grid; gap: 0.14rem; }
.berke-mega-menu__overview-copy strong { font-size: 1rem; }
.berke-mega-menu__overview-copy small { color: rgba(255,255,255,.78); font-size: 0.8rem; }
.berke-mega-menu__overview-arrow { font-size: 1.25rem; }

.berke-mega-menu__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0.78rem; }
.berke-mega-menu__column { min-width: 0; padding: 0.95rem; border: 1px solid rgba(34,61,101,.07); border-radius: 1.15rem; }
.berke-mega-menu__column--sky { background: linear-gradient(180deg,var(--berke-color-sky-100),rgba(255,255,255,.95)); }
.berke-mega-menu__column--aqua { background: linear-gradient(180deg,var(--berke-color-aqua-100),rgba(255,255,255,.95)); }
.berke-mega-menu__column--indigo { background: linear-gradient(180deg,var(--berke-color-indigo-100),rgba(255,255,255,.95)); }
.berke-mega-menu__column-header { display: flex; align-items: flex-start; gap: 0.7rem; min-height: 4.8rem; margin-block-end: 0.65rem; }
.berke-nav-icon--column { width: 2.35rem; height: 2.35rem; background: rgba(255,255,255,.94); }
.berke-mega-menu__title { margin: 0; color: var(--berke-color-primary-900); font-size: 1.04rem; line-height: 1.5; }
.berke-mega-menu__description { margin: 0.25rem 0 0; color: var(--berke-color-muted); font-size: 0.76rem; line-height: 1.65; }
.berke-mega-menu__list { display: grid; gap: 0.42rem; }
.berke-mega-menu__list a {
	display: grid;
	grid-template-columns: auto minmax(0,1fr);
	align-items: center;
	gap: 0.65rem;
	min-height: 4.2rem;
	padding: 0.62rem 0.68rem;
	color: var(--berke-color-text);
	text-decoration: none;
	background: rgba(255,255,255,.8);
	border: 1px solid rgba(34,61,101,.07);
	border-radius: 0.9rem;
	transition: transform var(--berke-transition), background var(--berke-transition), border-color var(--berke-transition), box-shadow var(--berke-transition);
}
.berke-nav-icon--item { width: 2.05rem; height: 2.05rem; background: linear-gradient(180deg,#fff,var(--berke-color-sky-100)); }
.berke-mega-menu__item-copy { display: grid; gap: 0.08rem; min-width: 0; }
.berke-mega-menu__item-copy strong { color: var(--berke-color-primary-950); font-size: 0.88rem; font-weight: 700; line-height: 1.5; }
.berke-mega-menu__item-copy span { color: var(--berke-color-muted); font-size: 0.72rem; line-height: 1.55; }
.berke-mega-menu__list a:hover,.berke-mega-menu__list a:focus-visible,.berke-mega-menu__list .current-menu-item > a { background: #fff; border-color: rgba(34,61,101,.18); box-shadow: var(--berke-shadow-sm); transform: translateY(-1px); }

@media (max-width: 73rem) and (min-width: 64rem) {
	.berke-site-header__inner { grid-template-columns: minmax(11rem,14rem) minmax(0,1fr) auto; gap: 0.6rem; }
	.berke-site-branding__home { grid-template-columns: 4.2rem minmax(0,1fr); gap: 0.55rem; }
	.berke-site-branding__logo,.berke-site-branding__monogram { width: 4.2rem; height: 4.2rem; }
	.berke-site-branding__title { font-size: 1rem; }
	.berke-site-branding__tagline { font-size: 0.68rem; }
	.berke-menu > li > a,.berke-mega-menu__trigger { padding-inline: 0.5rem; font-size: 0.84rem; }
	.berke-nav-icon--top { width: 1.8rem; height: 1.8rem; }
	.berke-header-cta { padding-inline: 0.9rem; font-size: 0.84rem; }
}

@media (max-width: 63.999rem) {
	.berke-site-header__inner { grid-template-columns: minmax(0,1fr) auto; min-height: 5.25rem; gap: 0.75rem; }
	.berke-site-branding__home { grid-template-columns: 4rem minmax(0,1fr); max-width: 15rem; }
	.berke-site-branding__logo,.berke-site-branding__monogram { width: 4rem; height: 4rem; }
	.berke-site-branding__title { font-size: 1rem; }
	.berke-site-branding__tagline { font-size: 0.68rem; }
	.berke-header-cta { display: none; }
	.berke-js .berke-menu-toggle { display: inline-flex; }
	.berke-primary-navigation { grid-column: 1/-1; padding-block-end: 0.9rem; }
	.berke-js .berke-primary-navigation:not(.is-open) { display: none; }
	.berke-menu { display: grid; gap: 0.25rem; }
	.berke-menu > li > a,.berke-mega-menu__trigger { width: 100%; justify-content: flex-start; min-height: 3.05rem; padding-inline: 0.75rem; }
	.berke-mega-menu__trigger-chevron { margin-inline-start: auto; }
	.berke-mega-menu__panel { position: static; display: none; width: auto; max-height: none; padding: 0.65rem; margin-block-start: 0.3rem; visibility: visible; opacity: 1; pointer-events: auto; box-shadow: none; transform: none; }
	.berke-mega-menu__panel.is-open { display: block; transform: none; }
	.berke-mega-menu:hover > .berke-mega-menu__panel { display: none; }
	.berke-mega-menu:hover > .berke-mega-menu__panel.is-open { display: block; }
	.berke-mega-menu__overview { min-height: 4.3rem; }
	.berke-mega-menu__grid { grid-template-columns: 1fr; }
	.berke-mega-menu__column-header { min-height: 0; }
	.berke-mobile-cta { display: flex; align-items: center; justify-content: center; min-height: 3rem; margin-block-start: 0.65rem; color: #fff; font-weight: 700; text-decoration: none; background: linear-gradient(135deg,var(--berke-color-primary-800),var(--berke-color-primary-600)); border-radius: var(--berke-radius-pill); }
}

@media (max-width: 30rem) {
	.berke-site-branding__copy { display: none; }
	.berke-site-branding__home { grid-template-columns: 3.8rem; }
	.berke-site-branding__logo,.berke-site-branding__monogram { width: 3.8rem; height: 3.8rem; }
}

@media (max-width: 782px) { body.admin-bar { --berke-admin-bar-offset: 46px; } }
@media (prefers-reduced-motion: reduce) { .berke-menu-toggle__icon span,.berke-mega-menu__trigger-chevron,.berke-mega-menu__panel,.berke-header-cta,.berke-mega-menu__list a { transition: none; } }

/* --------------------------------------------------------------------------
 * 0.2.9 — attached, professional mega-menu refinement
 * -------------------------------------------------------------------------- */

@media (min-width: 64rem) {
	.berke-site-header__inner {
		min-height: 5.85rem;
	}

	.berke-menu > li > a,
	.berke-mega-menu__trigger {
		min-height: 3.15rem;
		padding-inline: 0.82rem;
		border: 1px solid transparent;
	}

	.berke-menu > li > a:hover,
	.berke-menu > li > a:focus-visible,
	.berke-menu .current-menu-item > a,
	.berke-mega-menu__trigger:hover,
	.berke-mega-menu__trigger:focus-visible,
	.berke-mega-menu__trigger[aria-expanded="true"] {
		border-color: rgba(34, 61, 101, 0.1);
		box-shadow: 0 0.45rem 1.15rem rgba(15, 36, 57, 0.055);
	}

	/* Flush attachment: no visual or pointer gap between header and panel. */
	.berke-mega-menu__panel {
		top: calc(100% - 1px);
		width: min(69rem, calc(100vw - 2.5rem));
		max-height: calc(100vh - 6.75rem - var(--berke-admin-bar-offset));
		padding: 0.82rem;
		background:
			radial-gradient(circle at 88% 0%, rgba(75, 184, 221, 0.09), transparent 22rem),
			linear-gradient(180deg, rgba(252, 254, 255, 0.995), rgba(247, 251, 253, 0.995));
		border-color: rgba(34, 61, 101, 0.13);
		border-radius: 0.8rem 0.8rem 1.45rem 1.45rem;
		box-shadow:
			0 1.85rem 4.5rem rgba(15, 36, 57, 0.17),
			0 0.2rem 0.75rem rgba(15, 36, 57, 0.055);
		transform: translateX(-50%) scale(0.988);
		transform-origin: top center;
	}

	.berke-mega-menu__panel::before {
		content: "";
		position: absolute;
		top: -1px;
		inset-inline: 1.1rem;
		height: 1px;
		background: linear-gradient(
			90deg,
			transparent,
			rgba(75, 184, 221, 0.42),
			transparent
		);
	}

	.berke-mega-menu__panel.is-open,
	.berke-mega-menu:hover > .berke-mega-menu__panel,
	.berke-mega-menu:focus-within > .berke-mega-menu__panel {
		transform: translateX(-50%) scale(1);
	}

	.berke-mega-menu__overview {
		position: relative;
		overflow: hidden;
		min-height: 4.2rem;
		padding: 0.72rem 0.9rem;
		margin-block-end: 0.72rem;
		background:
			radial-gradient(circle at 12% 25%, rgba(255,255,255,.17), transparent 8rem),
			linear-gradient(115deg, var(--berke-color-primary-800), var(--berke-color-primary-500));
		border: 1px solid rgba(255, 255, 255, 0.16);
		border-radius: 0.92rem;
		box-shadow: 0 0.7rem 1.4rem rgba(34, 61, 101, 0.13);
		transition: transform var(--berke-transition), box-shadow var(--berke-transition);
	}

	.berke-mega-menu__overview::after {
		content: "";
		position: absolute;
		inset-block: -60%;
		inset-inline-end: 12%;
		width: 7rem;
		background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
		transform: rotate(18deg);
		pointer-events: none;
	}

	.berke-mega-menu__overview:hover,
	.berke-mega-menu__overview:focus-visible {
		color: var(--berke-color-white);
		transform: translateY(-1px);
		box-shadow: 0 0.95rem 1.8rem rgba(34, 61, 101, 0.2);
	}

	.berke-mega-menu__grid {
		gap: 0.68rem;
		align-items: stretch;
	}

	.berke-mega-menu__column {
		position: relative;
		overflow: hidden;
		padding: 0.88rem;
		border-color: rgba(34, 61, 101, 0.085);
		border-radius: 1.05rem;
		box-shadow: 0 0.45rem 1.25rem rgba(15, 36, 57, 0.035);
	}

	.berke-mega-menu__column::before {
		content: "";
		position: absolute;
		top: 0;
		inset-inline: 0;
		height: 0.22rem;
		background: var(--berke-column-accent, var(--berke-color-primary-500));
	}

	.berke-mega-menu__column--sky {
		--berke-column-accent: #4bb8dd;
		background: linear-gradient(180deg, #eef8fb 0%, #f8fbfd 46%, #ffffff 100%);
	}

	.berke-mega-menu__column--aqua {
		--berke-column-accent: #6aa6c8;
		background: linear-gradient(180deg, #f2f7fa 0%, #f8fbfd 46%, #ffffff 100%);
	}

	.berke-mega-menu__column--indigo {
		--berke-column-accent: #6d85aa;
		background: linear-gradient(180deg, #f1f4f8 0%, #f8fafc 46%, #ffffff 100%);
	}

	.berke-mega-menu__column-header {
		min-height: 4.15rem;
		margin-block-end: 0.55rem;
		padding-block-start: 0.08rem;
	}

	.berke-mega-menu__title {
		font-size: 1rem;
		font-weight: 800;
		letter-spacing: -0.015em;
	}

	.berke-mega-menu__description {
		max-width: 30ch;
		font-size: 0.76rem;
		line-height: 1.65;
	}

	.berke-mega-menu__list {
		gap: 0.38rem;
	}

	.berke-mega-menu__list a {
		position: relative;
		min-height: 4.55rem;
		padding: 0.65rem 0.68rem;
		background: rgba(255, 255, 255, 0.82);
		border-color: rgba(34, 61, 101, 0.07);
		border-radius: 0.9rem;
		box-shadow: 0 0.25rem 0.7rem rgba(15, 36, 57, 0.025);
	}

	.berke-mega-menu__list a::after {
		content: "←";
		position: absolute;
		inset-inline-end: 0.7rem;
		top: 50%;
		color: var(--berke-color-primary-600);
		font-size: 0.9rem;
		opacity: 0;
		transform: translate(0.25rem, -50%);
		transition: opacity var(--berke-transition), transform var(--berke-transition);
	}

	.berke-mega-menu__list a:hover,
	.berke-mega-menu__list a:focus-visible,
	.berke-mega-menu__list .current-menu-item > a {
		background: rgba(255, 255, 255, 0.98);
		border-color: rgba(34, 61, 101, 0.16);
		box-shadow: 0 0.65rem 1.4rem rgba(15, 36, 57, 0.075);
		transform: translateY(-1px);
	}

	.berke-mega-menu__list a:hover::after,
	.berke-mega-menu__list a:focus-visible::after,
	.berke-mega-menu__list .current-menu-item > a::after {
		opacity: 1;
		transform: translate(0, -50%);
	}

	.berke-nav-icon--column {
		box-shadow: 0 0.35rem 0.9rem rgba(15, 36, 57, 0.055);
	}

	.berke-nav-icon--item {
		transition: color var(--berke-transition), background var(--berke-transition), transform var(--berke-transition);
	}

	.berke-mega-menu__list a:hover .berke-nav-icon--item,
	.berke-mega-menu__list a:focus-visible .berke-nav-icon--item {
		color: var(--berke-color-white);
		background: linear-gradient(135deg, var(--berke-color-primary-700), var(--berke-color-primary-500));
		transform: scale(1.04);
	}
}

/* Make the installed font decisive inside the complete header UI. */
body.berke-font-iranyekan .berke-site-header,
body.berke-font-iranyekan .berke-site-header *:not(svg):not(path) {
	font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
}

/* A subtle background veil while a click-open desktop mega menu is active. */
@media (min-width: 64rem) {
	body.berke-mega-menu-active::before {
		content: "";
		position: fixed;
		z-index: 9990;
		inset: 0;
		pointer-events: none;
		background: rgba(15, 36, 57, 0.055);
		backdrop-filter: blur(0.75px);
		-webkit-backdrop-filter: blur(0.75px);
	}
}

/* 0.3.0 — hover-intent and visual refinement */

:root {
	--berke-cta-color: #223d65;
	--berke-cta-hover: #182d4c;
}

/* Exact requested color for the main CTA button. */
.berke-header-cta,
.berke-mobile-cta {
	background: var(--berke-cta-color) !important;
	border-color: rgba(34, 61, 101, 0.76) !important;
	box-shadow: 0 0.75rem 1.6rem rgba(34, 61, 101, 0.22) !important;
}

.berke-header-cta:hover,
.berke-header-cta:focus-visible,
.berke-mobile-cta:hover,
.berke-mobile-cta:focus-visible {
	background: var(--berke-cta-hover) !important;
	box-shadow: 0 0.95rem 1.9rem rgba(34, 61, 101, 0.28) !important;
}

.berke-header-cta__dot {
	background: #b8dff4;
	box-shadow: 0 0 0 0.25rem rgba(184, 223, 244, 0.16);
}

/* A quieter and more consistent icon language. */
.berke-nav-icon {
	border-radius: 0.62rem;
}

.berke-nav-icon--top {
	width: 1.82rem;
	height: 1.82rem;
	color: #176f89;
	background: rgba(235, 247, 251, 0.86);
	border-color: rgba(23, 111, 137, 0.11);
	box-shadow: none;
}

.berke-nav-icon--top svg {
	width: 1rem;
	height: 1rem;
	stroke-width: 1.65;
}

.berke-nav-icon--overview {
	border-radius: 0.78rem;
}

.berke-nav-icon--column {
	width: 2.42rem;
	height: 2.42rem;
	border-radius: 0.76rem;
	box-shadow: 0 0.28rem 0.75rem rgba(15, 36, 57, 0.045);
}

.berke-nav-icon--item {
	width: 1.92rem;
	height: 1.92rem;
	border-radius: 0.58rem;
	background: rgba(239, 248, 251, 0.88);
	box-shadow: none;
}

.berke-nav-icon--item svg {
	width: 1rem;
	height: 1rem;
	stroke-width: 1.65;
}

/* Clearer desktop hit area and a continuous path to the panel. */
@media (min-width: 64rem) {
	.berke-site-header__inner {
		min-height: 5.75rem;
	}

	.berke-primary-navigation {
		align-self: stretch;
		display: flex;
		align-items: stretch;
		justify-content: center;
	}

	.berke-menu {
		height: 100%;
		align-items: stretch;
	}

	.berke-menu > li {
		display: flex;
		align-items: center;
		min-height: 100%;
	}

	.berke-menu > li > a,
	.berke-mega-menu__trigger {
		position: relative;
		min-height: 3rem;
		padding-inline: 0.72rem;
		font-weight: 600;
	}

	/*
	 * The panel touches the header. The open state is controlled by JS with a
	 * 420ms hover-intent delay, so diagonal pointer movement is tolerated.
	 */
	.berke-mega-menu__panel {
		top: calc(100% - 2px);
		width: min(68.5rem, calc(100vw - 2.5rem));
		padding: 0.76rem;
		border-radius: 0.72rem 0.72rem 1.28rem 1.28rem;
		transform: translateX(-50%) translateY(-0.08rem) scale(0.992);
		transition:
			opacity 150ms ease,
			transform 175ms ease,
			visibility 150ms ease;
	}

	.berke-mega-menu__panel.is-open,
	.berke-mega-menu:hover > .berke-mega-menu__panel,
	.berke-mega-menu:focus-within > .berke-mega-menu__panel {
		transform: translateX(-50%) translateY(0) scale(1);
	}

	/* Invisible two-pixel safety bridge along the panel edge. */
	.berke-mega-menu__panel::after {
		content: "";
		position: absolute;
		top: -3px;
		inset-inline: 0;
		height: 4px;
		background: transparent;
	}

	.berke-mega-menu__overview {
		min-height: 4.05rem;
		padding: 0.68rem 0.82rem;
		margin-block-end: 0.66rem;
		border-radius: 0.82rem;
	}

	.berke-mega-menu__grid {
		gap: 0.62rem;
	}

	.berke-mega-menu__column {
		padding: 0.82rem;
		border-radius: 0.98rem;
		box-shadow: 0 0.35rem 1rem rgba(15, 36, 57, 0.03);
	}

	.berke-mega-menu__column-header {
		min-height: 3.95rem;
		gap: 0.66rem;
		margin-block-end: 0.48rem;
	}

	.berke-mega-menu__title {
		font-size: 0.98rem;
		line-height: 1.48;
	}

	.berke-mega-menu__description {
		font-size: 0.73rem;
		line-height: 1.6;
	}

	.berke-mega-menu__list {
		gap: 0.34rem;
	}

	.berke-mega-menu__list a {
		min-height: 4.25rem;
		padding: 0.58rem 0.62rem;
		border-radius: 0.82rem;
		box-shadow: none;
	}

	.berke-mega-menu__item-copy strong {
		font-size: 0.86rem;
		font-weight: 700;
	}

	.berke-mega-menu__item-copy span {
		font-size: 0.7rem;
		line-height: 1.52;
	}

	.berke-mega-menu__list a:hover,
	.berke-mega-menu__list a:focus-visible,
	.berke-mega-menu__list .current-menu-item > a {
		border-color: rgba(34, 61, 101, 0.14);
		box-shadow: 0 0.55rem 1.2rem rgba(15, 36, 57, 0.065);
		transform: translateY(-1px);
	}

	.berke-mega-menu__list a:hover .berke-nav-icon--item,
	.berke-mega-menu__list a:focus-visible .berke-nav-icon--item {
		color: #ffffff;
		background: #176f89;
		transform: none;
	}
}

/* Keep the installed IRANYekanX decisive throughout the complete header UI. */
body.berke-font-iranyekan .berke-site-header,
body.berke-font-iranyekan .berke-site-header *:not(svg):not(path) {
	font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
}

/* 0.3.1 — overview bar uses the CTA navy */

.berke-mega-menu__overview {
	color: #ffffff !important;
	background: #223d65 !important;
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: 0 0.75rem 1.55rem rgba(34, 61, 101, 0.2) !important;
}

.berke-mega-menu__overview:hover,
.berke-mega-menu__overview:focus-visible {
	color: #ffffff !important;
	background: #182d4c !important;
	box-shadow: 0 0.95rem 1.9rem rgba(34, 61, 101, 0.27) !important;
}

.berke-mega-menu__overview-copy strong,
.berke-mega-menu__overview-copy small,
.berke-mega-menu__overview-arrow {
	color: #ffffff !important;
}

.berke-mega-menu__overview-copy small {
	opacity: 0.78;
}

.berke-nav-icon--overview {
	color: #223d65 !important;
	background: rgba(255, 255, 255, 0.96) !important;
	border-color: rgba(255, 255, 255, 0.3) !important;
}

.berke-mega-menu__overview::after {
	opacity: 0.55;
}

/* 0.3.2 — compact column headings without descriptions */

.berke-mega-menu__description {
	display: none !important;
}

.berke-mega-menu__column-header {
	align-items: center;
	min-height: 0;
	margin-block-end: 0.72rem;
	padding-block: 0.12rem;
}

.berke-mega-menu__column-header > div {
	display: flex;
	align-items: center;
	min-height: 2.42rem;
}

.berke-mega-menu__title {
	margin: 0;
	line-height: 1.35;
}

@media (min-width: 64rem) {
	.berke-mega-menu__column-header {
		min-height: 0;
		margin-block-end: 0.64rem;
	}

	.berke-mega-menu__list a {
		min-height: 4.05rem;
	}
}

/* 0.3.3 — professional mobile and tablet drawer */

.berke-mobile-drawer__header,
.berke-mobile-drawer__footer,
.berke-navigation-backdrop,
.berke-mega-menu__column-toggle {
	display: none;
}

@media (max-width: 63.999rem) {
	body.berke-mobile-menu-open {
		overflow: hidden;
		touch-action: none;
	}

	.berke-site-header {
		overflow: visible;
	}

	.berke-site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 4.8rem;
		gap: 0.75rem;
	}

	.berke-site-branding__home {
		grid-template-columns: 3.55rem minmax(0, 1fr);
		max-width: 15rem;
		gap: 0.62rem;
	}

	.berke-site-branding__logo,
	.berke-site-branding__monogram {
		width: 3.55rem;
		height: 3.55rem;
	}

	.berke-site-branding__title {
		font-size: 0.96rem;
	}

	.berke-site-branding__tagline {
		font-size: 0.64rem;
	}

	.berke-header-cta {
		display: none !important;
	}

	.berke-js .berke-menu-toggle {
		display: inline-flex;
		min-width: 3rem;
		min-height: 3rem;
		padding: 0.62rem 0.8rem;
		color: #ffffff;
		background: #223d65;
		border-color: #223d65;
		box-shadow: 0 0.55rem 1.2rem rgba(34, 61, 101, 0.2);
	}

	.berke-menu-toggle:hover,
	.berke-menu-toggle:focus-visible {
		color: #ffffff;
		background: #182d4c;
	}

	.berke-menu-toggle__icon {
		width: 1.15rem;
	}

	.berke-primary-navigation {
		position: fixed;
		z-index: 10003;
		inset-block: var(--berke-admin-bar-offset) 0;
		inset-inline-end: 0;
		display: grid !important;
		grid-template-rows: auto minmax(0, 1fr) auto;
		width: min(29rem, 92vw);
		height: calc(100dvh - var(--berke-admin-bar-offset));
		padding: 0;
		overflow: hidden;
		visibility: hidden;
		opacity: 0;
		background:
			linear-gradient(
				180deg,
				rgba(247, 251, 253, 0.99),
				#ffffff 24%
			);
		border-inline-start: 1px solid rgba(34, 61, 101, 0.1);
		box-shadow: -1.3rem 0 3rem rgba(12, 34, 54, 0.18);
		transform: translateX(105%);
		transition:
			transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
			opacity 180ms ease,
			visibility 180ms ease;
	}

	.berke-primary-navigation.is-open {
		visibility: visible;
		opacity: 1;
		transform: translateX(0);
	}

	.berke-navigation-backdrop {
		position: fixed;
		z-index: 10001;
		inset: 0;
		display: block;
		visibility: hidden;
		opacity: 0;
		background: rgba(8, 25, 42, 0.44);
		border: 0;
		backdrop-filter: blur(4px);
		-webkit-backdrop-filter: blur(4px);
		transition:
			opacity 200ms ease,
			visibility 200ms ease;
	}

	.berke-navigation-backdrop.is-open {
		visibility: visible;
		opacity: 1;
	}

	.berke-mobile-drawer__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		min-height: 5.1rem;
		padding: 0.9rem 1rem;
		background: #ffffff;
		border-bottom: 1px solid rgba(34, 61, 101, 0.09);
	}

	.berke-mobile-drawer__heading {
		display: grid;
		gap: 0.16rem;
	}

	.berke-mobile-drawer__heading strong {
		color: #163653;
		font-size: 1rem;
		font-weight: 800;
	}

	.berke-mobile-drawer__heading span {
		color: var(--berke-color-muted);
		font-size: 0.72rem;
	}

	.berke-mobile-drawer__close {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.75rem;
		height: 2.75rem;
		padding: 0;
		color: #223d65;
		background: #eef4f8;
		border: 1px solid rgba(34, 61, 101, 0.1);
		border-radius: 0.85rem;
		cursor: pointer;
	}

	.berke-mobile-drawer__close span {
		position: absolute;
		width: 1.1rem;
		height: 2px;
		background: currentColor;
		border-radius: 99px;
	}

	.berke-mobile-drawer__close span:first-child {
		transform: rotate(45deg);
	}

	.berke-mobile-drawer__close span:last-child {
		transform: rotate(-45deg);
	}

	.berke-mobile-drawer__body {
		min-height: 0;
		padding: 0.8rem;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
	}

	.berke-mobile-drawer__footer {
		display: block;
		padding: 0.8rem 1rem calc(0.8rem + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.97);
		border-top: 1px solid rgba(34, 61, 101, 0.09);
		box-shadow: 0 -0.5rem 1.2rem rgba(12, 34, 54, 0.04);
	}

	.berke-menu {
		display: grid;
		gap: 0.42rem;
	}

	.berke-menu > li {
		width: 100%;
	}

	.berke-menu > li > a,
	.berke-mega-menu__trigger {
		width: 100%;
		min-height: 3.35rem;
		justify-content: flex-start;
		gap: 0.7rem;
		padding: 0.68rem 0.75rem;
		color: #17374e;
		font-size: 0.92rem;
		font-weight: 700;
		background: #ffffff;
		border: 1px solid rgba(34, 61, 101, 0.08);
		border-radius: 0.92rem;
		box-shadow: 0 0.25rem 0.75rem rgba(12, 34, 54, 0.035);
	}

	.berke-menu > li > a:hover,
	.berke-menu > li > a:focus-visible,
	.berke-menu .current-menu-item > a,
	.berke-mega-menu__trigger:hover,
	.berke-mega-menu__trigger:focus-visible,
	.berke-mega-menu__trigger[aria-expanded="true"] {
		color: #223d65;
		background: #edf4f8;
		border-color: rgba(34, 61, 101, 0.13);
	}

	.berke-nav-icon--top {
		width: 2.05rem;
		height: 2.05rem;
		color: #176f89;
		background: #edf7fa;
		border-radius: 0.62rem;
	}

	.berke-mega-menu__trigger-chevron {
		margin-inline-start: auto;
	}

	.berke-mega-menu__panel {
		position: static;
		display: none;
		width: auto;
		max-height: none;
		padding: 0.55rem 0 0;
		margin: 0;
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		transform: none;
		transition: none;
	}

	.berke-mega-menu__panel.is-open {
		display: block;
		transform: none;
	}

	.berke-mega-menu:hover > .berke-mega-menu__panel {
		display: none;
	}

	.berke-mega-menu:hover > .berke-mega-menu__panel.is-open {
		display: block;
	}

	.berke-mega-menu__overview {
		grid-template-columns: auto minmax(0, 1fr) auto;
		min-height: 4rem;
		padding: 0.68rem 0.75rem;
		margin-block-end: 0.55rem;
		background: #223d65 !important;
		border-radius: 0.9rem;
		box-shadow: none !important;
	}

	.berke-nav-icon--overview {
		width: 2.35rem;
		height: 2.35rem;
		border-radius: 0.7rem;
	}

	.berke-mega-menu__overview-copy strong {
		font-size: 0.88rem;
	}

	.berke-mega-menu__overview-copy small {
		font-size: 0.68rem;
		line-height: 1.5;
	}

	.berke-mega-menu__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.48rem;
	}

	.berke-mega-menu__column {
		padding: 0;
		overflow: hidden;
		background: #ffffff;
		border: 1px solid rgba(34, 61, 101, 0.08);
		border-radius: 0.95rem;
		box-shadow: 0 0.25rem 0.8rem rgba(12, 34, 54, 0.035);
	}

	.berke-mega-menu__column::before {
		display: none;
	}

	.berke-mega-menu__column-toggle {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		width: 100%;
		min-height: 3.8rem;
		gap: 0.7rem;
		padding: 0.65rem 0.72rem;
		color: #17374e;
		text-align: start;
		background: transparent;
		border: 0;
		cursor: pointer;
	}

	.berke-mega-menu__column-toggle:hover,
	.berke-mega-menu__column-toggle:focus-visible,
	.berke-mega-menu__column-toggle[aria-expanded="true"] {
		color: #223d65;
		background: #f0f6f9;
	}

	.berke-mega-menu__column-toggle-copy {
		display: grid;
		min-width: 0;
	}

	.berke-mega-menu__title {
		font-size: 0.92rem;
		font-weight: 800;
		line-height: 1.45;
	}

	.berke-mega-menu__column-toggle-chevron {
		width: 0.48rem;
		height: 0.48rem;
		border-inline-end: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: translateY(-0.12rem) rotate(45deg);
		transition: transform 160ms ease;
	}

	.berke-mega-menu__column-toggle[aria-expanded="true"]
		.berke-mega-menu__column-toggle-chevron {
		transform: translateY(0.1rem) rotate(225deg);
	}

	.berke-nav-icon--column {
		width: 2.25rem;
		height: 2.25rem;
		border-radius: 0.68rem;
		box-shadow: none;
	}

	.berke-mega-menu__list {
		display: none;
		gap: 0.38rem;
		padding: 0.35rem 0.5rem 0.55rem;
		border-top: 1px solid rgba(34, 61, 101, 0.07);
	}

	.berke-mega-menu__column.is-open .berke-mega-menu__list {
		display: grid;
	}

	.berke-mega-menu__list a {
		min-height: 3.7rem;
		gap: 0.62rem;
		padding: 0.55rem 0.58rem;
		background: #f9fbfc;
		border-radius: 0.78rem;
		box-shadow: none;
	}

	.berke-nav-icon--item {
		width: 1.9rem;
		height: 1.9rem;
		border-radius: 0.56rem;
	}

	.berke-mega-menu__item-copy strong {
		font-size: 0.82rem;
	}

	.berke-mega-menu__item-copy span {
		font-size: 0.68rem;
		line-height: 1.48;
	}

	.berke-mobile-cta {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.55rem;
		min-height: 3.15rem;
		margin: 0;
		padding: 0.7rem 1rem;
		color: #ffffff;
		font-size: 0.9rem;
		font-weight: 800;
		text-decoration: none;
		background: #223d65 !important;
		border: 1px solid #223d65;
		border-radius: 0.9rem;
		box-shadow: 0 0.6rem 1.3rem rgba(34, 61, 101, 0.2);
	}

	.berke-mobile-cta:hover,
	.berke-mobile-cta:focus-visible {
		color: #ffffff;
		background: #182d4c !important;
	}

	body.berke-font-iranyekan .berke-primary-navigation,
	body.berke-font-iranyekan .berke-primary-navigation *:not(svg):not(path) {
		font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
	}
}

@media (max-width: 40rem) {
	.berke-primary-navigation {
		width: min(100%, 25rem);
	}

	.berke-site-branding__tagline {
		display: none;
	}

	.berke-site-branding__home {
		grid-template-columns: 3.35rem minmax(0, 1fr);
	}

	.berke-site-branding__logo,
	.berke-site-branding__monogram {
		width: 3.35rem;
		height: 3.35rem;
	}

	.berke-site-branding__title {
		font-size: 0.88rem;
	}

	.berke-menu-toggle > span:last-child {
		display: none;
	}

	.berke-menu-toggle {
		width: 3rem;
		padding-inline: 0;
	}

	.berke-mega-menu__item-copy span {
		display: none;
	}

	.berke-mega-menu__list a {
		min-height: 3.3rem;
	}
}

@media (max-width: 24rem) {
	.berke-primary-navigation {
		width: 100%;
	}

	.berke-mobile-drawer__body {
		padding-inline: 0.62rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.berke-primary-navigation,
	.berke-navigation-backdrop,
	.berke-mega-menu__column-toggle-chevron {
		transition: none;
	}
}

/* 0.3.4 — non-destructive responsive correction */

/*
 * Desktop keeps the approved three column headings.
 * Mobile/tablet use separate accordion controls.
 */
.berke-mega-menu__column-header {
	display: flex;
	align-items: center;
	gap: 0.66rem;
	min-height: 2.5rem;
	margin-block-end: 0.64rem;
	padding-block: 0.08rem;
}

.berke-mega-menu__column-header .berke-mega-menu__title {
	display: block;
	margin: 0;
}

.berke-mega-menu__column-toggle {
	display: none;
}

/* Prevent global Elementor/theme button colors from leaking into navigation. */
.berke-site-header button,
.berke-primary-navigation button {
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

@media (min-width: 64rem) {
	.berke-mega-menu__column-header {
		display: flex !important;
	}

	.berke-mega-menu__column-toggle {
		display: none !important;
	}

	.berke-mega-menu__list,
	.berke-mega-menu__list[hidden] {
		display: grid !important;
	}
}

@media (max-width: 63.999rem) {
	html,
	body {
		max-width: 100%;
		overflow-x: clip;
	}

	body.berke-mobile-menu-open {
		overflow: hidden !important;
	}

	.berke-primary-navigation {
		right: 0 !important;
		left: auto !important;
		inset-inline: auto 0 !important;
		width: min(28rem, 88vw) !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
		transform: translate3d(102%, 0, 0) !important;
	}

	.berke-primary-navigation.is-open {
		transform: translate3d(0, 0, 0) !important;
	}

	.berke-mobile-drawer__header,
	.berke-mobile-drawer__body,
	.berke-mobile-drawer__footer,
	.berke-menu,
	.berke-menu > li,
	.berke-mega-menu,
	.berke-mega-menu__panel,
	.berke-mega-menu__grid,
	.berke-mega-menu__column,
	.berke-mega-menu__overview {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.berke-mobile-drawer__body {
		overflow-x: hidden !important;
	}

	.berke-menu {
		justify-items: stretch !important;
	}

	.berke-menu > li {
		display: block !important;
	}

	.berke-menu > li > a,
	.berke-mega-menu__trigger {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.berke-mega-menu__panel,
	.berke-mega-menu__panel.is-open {
		position: static !important;
		inset: auto !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
	}

	.berke-mega-menu__overview {
		display: grid !important;
		margin-inline: 0 !important;
		overflow: hidden !important;
	}

	.berke-mega-menu__overview-copy {
		min-width: 0;
		overflow: hidden;
	}

	.berke-mega-menu__overview-copy strong,
	.berke-mega-menu__overview-copy small {
		overflow-wrap: anywhere;
	}

	.berke-mega-menu__column-header {
		display: none !important;
	}

	.berke-primary-navigation
		.berke-mega-menu__column-toggle {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) auto !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 3.7rem !important;
		margin: 0 !important;
		padding: 0.62rem 0.7rem !important;
		color: #173f55 !important;
		text-align: right !important;
		background: #ffffff !important;
		background-image: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		outline-color: #223d65;
	}

	.berke-primary-navigation
		.berke-mega-menu__column-toggle:hover,
	.berke-primary-navigation
		.berke-mega-menu__column-toggle:focus,
	.berke-primary-navigation
		.berke-mega-menu__column-toggle:focus-visible,
	.berke-primary-navigation
		.berke-mega-menu__column-toggle:active,
	.berke-primary-navigation
		.berke-mega-menu__column-toggle[aria-expanded="true"] {
		color: #223d65 !important;
		background: #eef4f8 !important;
		background-image: none !important;
		border-color: transparent !important;
		box-shadow: none !important;
	}

	/* Explicitly neutralize every service tone; no pink/red state is allowed. */
	.berke-primary-navigation
		.berke-mega-menu__column--sky,
	.berke-primary-navigation
		.berke-mega-menu__column--aqua,
	.berke-primary-navigation
		.berke-mega-menu__column--indigo {
		background: #ffffff !important;
		background-image: none !important;
	}

	.berke-primary-navigation
		.berke-mega-menu__column--sky
		.berke-mega-menu__column-toggle[aria-expanded="true"],
	.berke-primary-navigation
		.berke-mega-menu__column--aqua
		.berke-mega-menu__column-toggle[aria-expanded="true"],
	.berke-primary-navigation
		.berke-mega-menu__column--indigo
		.berke-mega-menu__column-toggle[aria-expanded="true"] {
		background: #eaf2f7 !important;
		background-image: none !important;
	}

	.berke-mega-menu__list {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.berke-mega-menu__list[hidden] {
		display: none !important;
	}

	.berke-mega-menu__column.is-open
		.berke-mega-menu__list:not([hidden]) {
		display: grid !important;
	}

	.berke-mega-menu__list a {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.berke-mega-menu__item-copy {
		min-width: 0 !important;
	}

	.berke-mega-menu__item-copy strong,
	.berke-mega-menu__item-copy span {
		overflow-wrap: anywhere;
	}

	.berke-navigation-backdrop {
		right: 0 !important;
		left: 0 !important;
	}
}

/* Tablet: contained drawer and full supporting copy. */
@media (min-width: 48rem) and (max-width: 63.999rem) {
	.berke-primary-navigation {
		width: min(28rem, 72vw) !important;
	}

	.berke-mobile-drawer__body {
		padding: 0.9rem !important;
	}

	.berke-mega-menu__item-copy span {
		display: block !important;
	}
}

/* Mobile: full-width drawer and compact cards. */
@media (max-width: 47.999rem) {
	.berke-primary-navigation {
		width: 100vw !important;
		max-width: 100vw !important;
	}

	.berke-mobile-drawer__header {
		min-height: 4.7rem;
		padding-inline: 0.85rem;
	}

	.berke-mobile-drawer__body {
		padding: 0.7rem !important;
	}

	.berke-mobile-drawer__footer {
		padding-inline: 0.7rem;
	}

	.berke-mega-menu__overview {
		grid-template-columns: 2.2rem minmax(0, 1fr) auto !important;
		min-height: 3.75rem !important;
		padding: 0.6rem !important;
	}

	.berke-nav-icon--overview {
		width: 2.2rem !important;
		height: 2.2rem !important;
	}

	.berke-mega-menu__item-copy span {
		display: none !important;
	}

	.berke-mega-menu__list a {
		min-height: 3.25rem !important;
	}
}

/* 0.3.5 — viewport-level drawer and opaque branded backdrop */

@media (max-width: 63.999rem) {
	/*
	 * Drawer and backdrop are portalled under body by JavaScript.
	 * They must start at the real viewport edge, not the admin-bar offset.
	 */
	body > .berke-primary-navigation {
		position: fixed !important;
		z-index: 100102 !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: auto !important;
		inset: 0 0 0 auto !important;
		inset-block: 0 !important;
		inset-inline: auto !important;
		width: min(28rem, 88vw) !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 0 !important;
		transform: translate3d(104%, 0, 0) !important;
	}

	body > .berke-primary-navigation.is-open {
		transform: translate3d(0, 0, 0) !important;
	}

	/*
	 * Solid navy fully covers page colors. The element is a button, so all
	 * theme/Elementor button decoration is explicitly neutralized.
	 */
	body > button.berke-navigation-backdrop {
		position: fixed !important;
		z-index: 100101 !important;
		inset: 0 !important;
		display: block !important;
		width: 100vw !important;
		height: 100dvh !important;
		min-width: 100vw !important;
		min-height: 100dvh !important;
		margin: 0 !important;
		padding: 0 !important;
		visibility: hidden !important;
		opacity: 0 !important;
		background: #182d4c !important;
		background-color: #182d4c !important;
		background-image: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		filter: none !important;
		-webkit-appearance: none !important;
		appearance: none !important;
		pointer-events: none !important;
		transition:
			opacity 180ms ease,
			visibility 180ms ease !important;
	}

	body > button.berke-navigation-backdrop::before,
	body > button.berke-navigation-backdrop::after {
		display: none !important;
		content: none !important;
	}

	body > button.berke-navigation-backdrop.is-open {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	body > .berke-primary-navigation
		.berke-mobile-drawer__header {
		padding-top: calc(0.9rem + env(safe-area-inset-top));
	}

	body > .berke-primary-navigation
		.berke-mobile-drawer__footer {
		padding-bottom:
			calc(0.8rem + env(safe-area-inset-bottom));
	}
}

/* Tablet: right-side contained drawer. */
@media (min-width: 48rem) and (max-width: 63.999rem) {
	body > .berke-primary-navigation {
		width: min(28rem, 72vw) !important;
	}
}

/* Mobile: drawer covers the full viewport; no page color can remain visible. */
@media (max-width: 47.999rem) {
	body > .berke-primary-navigation {
		width: 100vw !important;
		max-width: 100vw !important;
	}
}

/* 0.3.6 — state-color lock, clean items, reliable close */

/* Supporting sentences under every service item are removed in PHP and hidden defensively. */
.berke-mega-menu__item-copy > span:not(strong) {
	display: none !important;
}

.berke-mega-menu__item-copy {
	display: flex !important;
	align-items: center !important;
	min-width: 0;
}

.berke-mega-menu__list a {
	align-items: center;
}

/* No global theme, Elementor, browser active or focus state may turn controls red. */
body .berke-site-header button.berke-mega-menu__trigger,
body .berke-site-header button.berke-mega-menu__trigger:hover,
body .berke-site-header button.berke-mega-menu__trigger:focus,
body .berke-site-header button.berke-mega-menu__trigger:focus-visible,
body .berke-site-header button.berke-mega-menu__trigger:active,
body .berke-site-header button.berke-mega-menu__trigger[aria-expanded="true"] {
	color: #126d86 !important;
	background: #eaf5f9 !important;
	background-color: #eaf5f9 !important;
	background-image: none !important;
	border-color: rgba(18, 109, 134, 0.12) !important;
	box-shadow: none !important;
	filter: none !important;
	-webkit-tap-highlight-color: transparent !important;
}

body .berke-site-header button.berke-menu-toggle,
body .berke-site-header button.berke-menu-toggle:hover,
body .berke-site-header button.berke-menu-toggle:focus,
body .berke-site-header button.berke-menu-toggle:focus-visible,
body .berke-site-header button.berke-menu-toggle:active,
body .berke-primary-navigation button.berke-mobile-drawer__close,
body .berke-primary-navigation button.berke-mobile-drawer__close:hover,
body .berke-primary-navigation button.berke-mobile-drawer__close:focus,
body .berke-primary-navigation button.berke-mobile-drawer__close:focus-visible,
body .berke-primary-navigation button.berke-mobile-drawer__close:active {
	background-image: none !important;
	filter: none !important;
	-webkit-tap-highlight-color: transparent !important;
}

body .berke-primary-navigation button.berke-mobile-drawer__close,
body .berke-primary-navigation button.berke-mobile-drawer__close:hover,
body .berke-primary-navigation button.berke-mobile-drawer__close:focus,
body .berke-primary-navigation button.berke-mobile-drawer__close:focus-visible,
body .berke-primary-navigation button.berke-mobile-drawer__close:active {
	color: #223d65 !important;
	background: #eef4f8 !important;
	background-color: #eef4f8 !important;
	border-color: rgba(34, 61, 101, 0.1) !important;
	box-shadow: none !important;
}

@media (min-width: 64rem) {
	/* JS is the only source of truth; CSS hover cannot pin the panel open. */
	.berke-mega-menu:hover > .berke-mega-menu__panel:not(.is-open) {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		transform: translateX(-50%) translateY(-0.08rem) scale(0.992) !important;
	}

	.berke-mega-menu__list a {
		min-height: 3.45rem !important;
		padding-block: 0.55rem !important;
	}

	.berke-mega-menu__item-copy strong {
		font-size: 0.89rem !important;
		line-height: 1.55 !important;
	}
}

@media (max-width: 63.999rem) {
	body > .berke-navigation-backdrop,
	body > .berke-navigation-backdrop.is-open,
	body > .berke-navigation-backdrop.is-closing {
		position: fixed !important;
		z-index: 100101 !important;
		inset: 0 !important;
		display: block !important;
		width: 100vw !important;
		height: 100dvh !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #182d4c !important;
		background-color: #182d4c !important;
		background-image: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		filter: none !important;
	}

	body > .berke-navigation-backdrop {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		transition: none !important;
	}

	body > .berke-navigation-backdrop.is-open,
	body > .berke-navigation-backdrop.is-closing {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	body > .berke-primary-navigation.is-closing {
		visibility: visible !important;
		opacity: 1 !important;
		transform: translate3d(104%, 0, 0) !important;
	}

	body .berke-primary-navigation button.berke-mega-menu__trigger,
	body .berke-primary-navigation button.berke-mega-menu__trigger:hover,
	body .berke-primary-navigation button.berke-mega-menu__trigger:focus,
	body .berke-primary-navigation button.berke-mega-menu__trigger:focus-visible,
	body .berke-primary-navigation button.berke-mega-menu__trigger:active,
	body .berke-primary-navigation button.berke-mega-menu__trigger[aria-expanded="true"] {
		color: #223d65 !important;
		background: #edf4f8 !important;
		background-color: #edf4f8 !important;
		background-image: none !important;
		border-color: rgba(34, 61, 101, 0.12) !important;
		box-shadow: none !important;
	}

	.berke-mega-menu__list a {
		min-height: 3.25rem !important;
		padding-block: 0.52rem !important;
	}

	.berke-mega-menu__item-copy strong {
		font-size: 0.84rem !important;
		line-height: 1.5 !important;
	}
}

/* 0.3.8 — final desktop balance and header refinement */

/*
 * This layer is intentionally desktop-focused. Approved mobile/tablet
 * drawer behavior and breakpoints remain unchanged.
 */
@media (min-width: 64rem) {
	/* More balanced desktop mega-menu width: max 1040px. */
	.berke-mega-menu__panel {
		width: min(1040px, calc(100vw - 4rem)) !important;
		padding: 0.82rem !important;
	}

	.berke-mega-menu__grid {
		gap: 0.7rem !important;
	}

	.berke-mega-menu__column {
		padding: 0.78rem !important;
	}

	.berke-mega-menu__column-header {
		min-height: 2.55rem !important;
		margin-block-end: 0.58rem !important;
	}

	/* Three items in every column use equal, compact rows. */
	.berke-mega-menu__list {
		grid-template-rows: repeat(3, minmax(3.35rem, 1fr));
		gap: 0.48rem !important;
	}

	.berke-mega-menu__list > li {
		display: flex;
		min-height: 0;
	}

	.berke-mega-menu__list a {
		width: 100%;
		height: 100%;
		min-height: 3.35rem !important;
		padding: 0.55rem 0.62rem !important;
	}

	/*
	 * Clean active language: a logo-blue underline replaces heavy
	 * background emphasis on the desktop top navigation.
	 */
	.berke-menu > li > a,
	.berke-mega-menu__trigger {
		position: relative;
		color: #173f55 !important;
		background: transparent !important;
		background-image: none !important;
		border-color: transparent !important;
		box-shadow: none !important;
	}

	.berke-menu > li > a::after,
	.berke-mega-menu__trigger::after {
		content: "";
		position: absolute;
		inset-inline: 0.72rem;
		inset-block-end: 0.28rem;
		height: 2px;
		background: #4bb8dd;
		border-radius: 99px;
		transform: scaleX(0);
		transform-origin: center;
		transition: transform 180ms ease;
	}

	.berke-menu > li > a:hover,
	.berke-menu > li > a:focus-visible,
	.berke-menu .current-menu-item > a,
	.berke-mega-menu__trigger:hover,
	.berke-mega-menu__trigger:focus-visible,
	.berke-mega-menu__trigger[aria-expanded="true"] {
		color: #223d65 !important;
		background: transparent !important;
		background-image: none !important;
		border-color: transparent !important;
		box-shadow: none !important;
	}

	.berke-menu > li > a:hover::after,
	.berke-menu > li > a:focus-visible::after,
	.berke-menu .current-menu-item > a::after,
	.berke-mega-menu__trigger:hover::after,
	.berke-mega-menu__trigger:focus-visible::after,
	.berke-mega-menu__trigger[aria-expanded="true"]::after {
		transform: scaleX(1);
	}

	/*
	 * One outline icon language across top navigation, column headings
	 * and service items.
	 */
	.berke-nav-icon {
		color: #223d65 !important;
		background: #f1f8fb !important;
		background-image: none !important;
		border-color: rgba(34, 61, 101, 0.12) !important;
		border-radius: 0.68rem !important;
		box-shadow: none !important;
	}

	.berke-nav-icon svg {
		stroke-width: 1.65 !important;
	}

	.berke-nav-icon--top {
		width: 1.9rem !important;
		height: 1.9rem !important;
	}

	.berke-nav-icon--column {
		width: 2.2rem !important;
		height: 2.2rem !important;
	}

	.berke-nav-icon--item {
		width: 1.82rem !important;
		height: 1.82rem !important;
	}

	.berke-mega-menu__list a:hover .berke-nav-icon,
	.berke-mega-menu__list a:focus-visible .berke-nav-icon {
		color: #187ca1 !important;
		border-color: rgba(75, 184, 221, 0.34) !important;
	}

	/* Compact desktop header after 40px scroll. */
	.berke-site-header,
	.berke-site-header__inner,
	.berke-site-branding__home,
	.berke-site-branding__logo,
	.berke-site-branding__monogram,
	.berke-site-branding__title,
	.berke-site-branding__tagline {
		transition:
			min-height 180ms ease,
			width 180ms ease,
			height 180ms ease,
			grid-template-columns 180ms ease,
			font-size 180ms ease,
			opacity 180ms ease,
			box-shadow 180ms ease,
			background 180ms ease;
	}

	.berke-site-header.is-scrolled {
		background: rgba(255, 255, 255, 0.985);
		box-shadow: 0 0.65rem 1.75rem rgba(17, 54, 77, 0.1);
	}

	.berke-site-header.is-scrolled .berke-site-header__inner {
		min-height: 5.05rem !important;
	}

	.berke-site-header.is-scrolled .berke-site-branding__home {
		grid-template-columns: 4.05rem minmax(0, 1fr) !important;
	}

	.berke-site-header.is-scrolled .berke-site-branding__logo,
	.berke-site-header.is-scrolled .berke-site-branding__monogram {
		width: 4.05rem !important;
		height: 4.05rem !important;
	}

	.berke-site-header.is-scrolled .berke-site-branding__title {
		font-size: 1.02rem !important;
	}

	.berke-site-header.is-scrolled .berke-site-branding__tagline {
		font-size: 0.68rem !important;
		opacity: 0.82;
	}

	/* Approved CTA color, lighter shadow and restrained lift. */
	.berke-header-cta {
		background: #223d65 !important;
		background-image: none !important;
		border-color: #223d65 !important;
		box-shadow: 0 0.55rem 1.15rem rgba(34, 61, 101, 0.17) !important;
		transition:
			transform 160ms ease,
			box-shadow 160ms ease,
			background 160ms ease !important;
	}

	.berke-header-cta:hover,
	.berke-header-cta:focus-visible {
		color: #ffffff !important;
		background: #182d4c !important;
		transform: translateY(-2px) !important;
		box-shadow: 0 0.8rem 1.45rem rgba(34, 61, 101, 0.22) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.berke-site-header,
	.berke-site-header__inner,
	.berke-site-branding__home,
	.berke-site-branding__logo,
	.berke-site-branding__monogram,
	.berke-site-branding__title,
	.berke-site-branding__tagline,
	.berke-menu > li > a::after,
	.berke-mega-menu__trigger::after {
		transition: none !important;
	}
}


/* berke-motion-v0820 */
/**
 * Berke Visual & Motion System v1.2 — Engineered Flow pacing + reversible progress.
 * Progressive enhancement: JS adds prepared states only after content exists.
 */

.berke-motion-prepared[data-berke-motion="reveal"] {
	opacity: 0;
	transform: translate3d(0,var(--berke-motion-distance-reveal),0);
	transition:
		opacity var(--berke-motion-duration-reveal) var(--berke-motion-ease-enter),
		transform var(--berke-motion-duration-reveal) var(--berke-motion-ease-enter);
	will-change: transform,opacity;
}
.berke-motion-prepared[data-berke-motion="reveal"].is-berke-motion-visible {
	opacity: 1;
	transform: translate3d(0,0,0);
}

/* Group reveal is intentionally more visible than a single container fade. */
.berke-motion-group-prepared[data-berke-motion="group"] > * {
	opacity: 0;
	transform: translate3d(0,var(--berke-motion-distance-reveal),0);
	transition:
		opacity var(--berke-motion-duration-reveal) var(--berke-motion-ease-enter),
		transform var(--berke-motion-duration-reveal) var(--berke-motion-ease-enter);
	transition-delay: calc(var(--berke-motion-index,0) * var(--berke-motion-stagger));
	will-change: transform,opacity;
}
.berke-motion-group-prepared[data-berke-motion="group"].is-berke-motion-visible > * {
	opacity: 1;
	transform: translate3d(0,0,0);
}

/* Critical hero stays readable. Secondary actions/chips simply settle into place. */
[data-berke-motion="hero-settle"] {
	animation: berke-motion-hero-settle var(--berke-motion-duration-signature) var(--berke-motion-ease-enter) both;
}
@keyframes berke-motion-hero-settle {
	from { transform: scale(1.012) translate3d(0,5px,0); opacity:.88; }
	to { transform: scale(1) translate3d(0,0,0); opacity:1; }
}
html.berke-motion-runtime .berke-tankseal-hero .berke-core-actions > *,
html.berke-motion-runtime .berke-tankseal-hero .berke-tankseal-trust > li {
	animation: berke-motion-hero-support 420ms var(--berke-motion-ease-enter) both;
}
html.berke-motion-runtime .berke-tankseal-hero .berke-core-actions > *:nth-child(2) { animation-delay:60ms; }
html.berke-motion-runtime .berke-tankseal-hero .berke-tankseal-trust > li:nth-child(1) { animation-delay:100ms; }
html.berke-motion-runtime .berke-tankseal-hero .berke-tankseal-trust > li:nth-child(2) { animation-delay:150ms; }
html.berke-motion-runtime .berke-tankseal-hero .berke-tankseal-trust > li:nth-child(3) { animation-delay:200ms; }
@keyframes berke-motion-hero-support {
	from { opacity:.72; transform:translate3d(0,6px,0); }
	to { opacity:1; transform:translate3d(0,0,0); }
}

/* Surface reveal: media is already rendered, a temporary cover retracts. */
.berke-motion-surface { position:relative; border-radius:var(--berke-radius-lg); overflow:hidden; }
.berke-motion-surface::after {
	position:absolute;
	inset:0;
	z-index:2;
	content:"";
	pointer-events:none;
	border-radius:inherit;
	background:#d9edf4;
	transform:scaleX(0);
	transform-origin:var(--berke-motion-surface-origin,left center);
}
.berke-motion-prepared[data-berke-motion="surface"]::after {
	transform:scaleX(1);
	transition:transform var(--berke-motion-duration-signature) var(--berke-motion-ease-enter);
	will-change:transform;
}
.berke-motion-prepared[data-berke-motion="surface"].is-berke-motion-visible::after { transform:scaleX(0); }
.berke-motion-prepared[data-berke-motion="surface"] :where(img,picture) {
	transform:scale(1.018);
	transition:transform calc(var(--berke-motion-duration-signature) + 120ms) var(--berke-motion-ease-enter);
}
.berke-motion-prepared[data-berke-motion="surface"].is-berke-motion-visible :where(img,picture) { transform:scale(1); }
html[dir="rtl"] { --berke-motion-surface-origin:left center; }
html[dir="ltr"] { --berke-motion-surface-origin:right center; }

@media (max-width:47.5rem) {
	.berke-motion-surface { border-radius:1.2rem; }
	.berke-motion-group-prepared[data-berke-motion="group"] > * {
		transition-delay:calc(var(--berke-motion-index,0) * 35ms);
	}
}

@media (prefers-reduced-motion:reduce) {
	[data-berke-motion="hero-settle"],
	html.berke-motion-runtime .berke-tankseal-hero .berke-core-actions > *,
	html.berke-motion-runtime .berke-tankseal-hero .berke-tankseal-trust > li { animation:none !important; }
	.berke-motion-prepared[data-berke-motion="reveal"],
	.berke-motion-group-prepared[data-berke-motion="group"] > * {
		opacity:1 !important;
		transform:none !important;
		transition:none !important;
	}
	.berke-motion-surface::after,
	.berke-motion-prepared[data-berke-motion="surface"]::after { display:none !important; }
	.berke-motion-prepared[data-berke-motion="surface"] :where(img,picture) { transform:none !important; transition:none !important; }
}

/* 0.8.2 pacing: slower enough to be perceived, still below theatrical timing. */
.berke-tankseal {
	--berke-motion-duration-base: 240ms;
	--berke-motion-duration-comfortable: 420ms;
	--berke-motion-duration-reveal: 620ms;
	--berke-motion-duration-signature: 920ms;
	--berke-motion-distance-reveal: 16px;
	--berke-motion-stagger: 90ms;
}

.berke-motion-prepared[data-berke-motion="reveal"],
.berke-motion-group-prepared[data-berke-motion="group"] > * {
	transition-timing-function: var(--berke-motion-ease-enter);
}
.berke-motion-prepared[data-berke-motion="reveal"].is-berke-motion-visible,
.berke-motion-group-prepared[data-berke-motion="group"].is-berke-motion-visible > * {
	will-change: auto;
}

html.berke-motion-runtime .berke-tankseal-hero .berke-core-actions > *,
html.berke-motion-runtime .berke-tankseal-hero .berke-tankseal-trust > li {
	animation-duration: 640ms;
}
html.berke-motion-runtime .berke-tankseal-hero .berke-core-actions > *:nth-child(2) { animation-delay: 110ms; }
html.berke-motion-runtime .berke-tankseal-hero .berke-tankseal-trust > li:nth-child(1) { animation-delay: 190ms; }
html.berke-motion-runtime .berke-tankseal-hero .berke-tankseal-trust > li:nth-child(2) { animation-delay: 280ms; }
html.berke-motion-runtime .berke-tankseal-hero .berke-tankseal-trust > li:nth-child(3) { animation-delay: 370ms; }

.berke-motion-prepared[data-berke-motion="surface"]::after {
	transition-duration: var(--berke-motion-duration-signature);
}
.berke-motion-prepared[data-berke-motion="surface"] :where(img,picture) {
	transition-duration: calc(var(--berke-motion-duration-signature) + 180ms);
}

@media (max-width:47.5rem) {
	.berke-tankseal {
		--berke-motion-duration-reveal: 560ms;
		--berke-motion-duration-signature: 840ms;
		--berke-motion-distance-reveal: 12px;
		--berke-motion-stagger: 72ms;
	}
}


/* berke-scroll-progress */
/**
 * Berke reading / scroll progress indicator.
 *
 * Brand-only colors:
 * - Light logo blue: #4bb8dd
 * - Brand navy: #223d65
 */

.berke-scroll-progress {
	--berke-scroll-progress-value: 0;

	position: absolute;
	z-index: 100;
	inset-inline: 0;
	inset-block-end: -1px;
	height: 5px;
	overflow: hidden;
	pointer-events: none;
	opacity: 0;
	background: rgba(34, 61, 101, 0.1);
	transition: opacity 160ms ease;
}

.berke-scroll-progress.is-active {
	opacity: 1;
}

.berke-scroll-progress__bar {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		#4bb8dd 0%,
		#223d65 100%
	);
	box-shadow: 0 0 0.4rem rgba(75, 184, 221, 0.22);
	transform: scaleX(var(--berke-scroll-progress-value));
	transform-origin: right center;
	will-change: transform;
}

/* The progress bar stays out of the way while the drawer is open. */
body.berke-mobile-menu-open .berke-scroll-progress {
	opacity: 0;
}

@media (max-width: 63.999rem) {
	.berke-scroll-progress {
		height: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.berke-scroll-progress {
		transition: none;
	}
}


/* berke-footer */
/**
 * Berke coded footer.
 *
 * Responsive:
 * - Desktop: four columns
 * - Tablet: two columns
 * - Mobile: one column
 */

.berke-site-footer {
	--berke-footer-navy: #132c46;
	--berke-footer-deep: #0f2439;
	--berke-footer-blue: #4bb8dd;
	--berke-footer-text: #ffffff;
	--berke-footer-muted: rgba(255, 255, 255, 0.7);
	--berke-footer-line: rgba(255, 255, 255, 0.1);

	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	color: var(--berke-footer-text);
	background: var(--berke-footer-deep);
}

.berke-footer-accent {
	height: 4px;
	background: linear-gradient(
		90deg,
		var(--berke-footer-blue),
		#223d65
	);
}

.berke-footer-cta {
	padding-block: clamp(1.6rem, 3.5vw, 2.75rem);
	color: #173f55;
	background:
		radial-gradient(
			circle at 10% 20%,
			rgba(75, 184, 221, 0.2),
			transparent 32%
		),
		linear-gradient(135deg, #f5fbfd, #eaf4f8);
	border-bottom: 1px solid rgba(34, 61, 101, 0.1);
}

.berke-footer-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1.5rem, 4vw, 4rem);
}

.berke-footer-cta__copy {
	max-width: 46rem;
}

.berke-footer-eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 1.85rem;
	padding-inline: 0.72rem;
	margin-block-end: 0.65rem;
	color: #223d65;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	background: rgba(75, 184, 221, 0.14);
	border: 1px solid rgba(75, 184, 221, 0.26);
	border-radius: 999px;
}

.berke-footer-cta h2 {
	margin: 0;
	color: #173f55;
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: -0.025em;
}

.berke-footer-cta p {
	max-width: 42rem;
	margin: 0.55rem 0 0;
	color: #506b7d;
	font-size: 0.92rem;
	line-height: 1.9;
}

.berke-footer-call {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	min-width: min(100%, 19rem);
	gap: 0.8rem;
	padding: 0.78rem 0.9rem;
	color: #ffffff;
	text-decoration: none;
	background: #223d65;
	border: 1px solid #223d65;
	border-radius: 1rem;
	box-shadow: 0 0.8rem 1.8rem rgba(34, 61, 101, 0.2);
	transition:
		transform 160ms ease,
		background 160ms ease,
		box-shadow 160ms ease;
}

.berke-footer-call:hover,
.berke-footer-call:focus-visible {
	color: #ffffff;
	background: #182d4c;
	transform: translateY(-2px);
	box-shadow: 0 1rem 2.1rem rgba(34, 61, 101, 0.26);
}

.berke-footer-call__icon,
.berke-footer-call__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.berke-footer-call__icon {
	width: 2.7rem;
	height: 2.7rem;
	color: #223d65;
	background: #ffffff;
	border-radius: 0.82rem;
}

.berke-footer-call__arrow {
	width: 1.5rem;
	height: 1.5rem;
	color: rgba(255, 255, 255, 0.82);
}

.berke-footer-call svg,
.berke-site-footer svg {
	width: 1.15rem;
	height: 1.15rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.berke-footer-call__copy {
	display: grid;
	gap: 0.12rem;
}

.berke-footer-call__copy small {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.69rem;
	line-height: 1.5;
}

.berke-footer-call__copy strong {
	color: #ffffff;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.03em;
}

.berke-footer-main {
	padding-block: clamp(2.5rem, 6vw, 4.6rem);
	background:
		linear-gradient(
			135deg,
			rgba(75, 184, 221, 0.045),
			transparent 38%
		),
		var(--berke-footer-navy);
}

.berke-footer-grid {
	display: grid;
	grid-template-columns:
		minmax(0, 1.35fr)
		minmax(0, 0.82fr)
		minmax(0, 0.95fr)
		minmax(0, 1.05fr);
	align-items: start;
	gap: clamp(1.8rem, 4vw, 4rem);
}

.berke-footer-brand,
.berke-footer-section {
	min-width: 0;
}

.berke-footer-brand__identity {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.berke-footer-brand__logo,
.berke-footer-brand__monogram {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 4.6rem;
	height: 4.6rem;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 1.1rem;
}

.berke-footer-brand__logo-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.berke-footer-brand__monogram {
	color: #223d65;
	font-size: 1.75rem;
	font-weight: 800;
}

.berke-footer-brand__identity h2,
.berke-footer-section h2 {
	margin: 0;
	color: #ffffff;
	font-weight: 800;
	letter-spacing: -0.015em;
}

.berke-footer-brand__identity h2 {
	font-size: 1.15rem;
	line-height: 1.45;
}

.berke-footer-brand__identity > div > span {
	display: block;
	margin-block-start: 0.16rem;
	color: var(--berke-footer-blue);
	font-size: 0.72rem;
	font-weight: 600;
}

.berke-footer-brand__description {
	max-width: 28rem;
	margin: 1rem 0 0;
	color: var(--berke-footer-muted);
	font-size: 0.85rem;
	line-height: 1.95;
}

.berke-footer-brand__promise {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	max-width: 28rem;
	margin: 1rem 0 0;
	padding: 0.78rem 0.82rem;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.76rem;
	line-height: 1.85;
	background: rgba(255, 255, 255, 0.055);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 0.85rem;
}

.berke-footer-brand__promise > span {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	margin-block-start: 0.08rem;
	color: var(--berke-footer-blue);
	background: rgba(75, 184, 221, 0.12);
	border-radius: 0.5rem;
}

.berke-footer-section h2 {
	position: relative;
	padding-block-end: 0.75rem;
	font-size: 0.92rem;
	line-height: 1.55;
}

.berke-footer-section h2::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-end: 0;
	width: 2.35rem;
	height: 2px;
	background: var(--berke-footer-blue);
	border-radius: 99px;
}

.berke-footer-section ul {
	display: grid;
	gap: 0.42rem;
	padding: 0;
	margin: 1rem 0 0;
	list-style: none;
}

.berke-footer-scope-list li {
	display: grid;
	grid-template-columns: 1.5rem minmax(0, 1fr);
	align-items: center;
	min-height: 2.75rem;
	gap: 0.5rem;
	color: var(--berke-footer-muted);
	font-size: 0.79rem;
	line-height: 1.65;
}

.berke-footer-scope-list li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	color: var(--berke-footer-blue);
}

.berke-footer-scope-list svg {
	width: 0.9rem;
	height: 0.9rem;
}

.berke-footer-guides li {
	border-bottom: 1px solid var(--berke-footer-line);
}

.berke-footer-guides li:last-child {
	border-bottom: 0;
}

.berke-footer-guides a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 2.85rem;
	gap: 0.75rem;
	color: var(--berke-footer-muted);
	font-size: 0.78rem;
	line-height: 1.6;
	text-decoration: none;
	transition:
		color 150ms ease,
		transform 150ms ease;
}

.berke-footer-guides a:hover,
.berke-footer-guides a:focus-visible {
	color: #ffffff;
	transform: translateX(-0.18rem);
}

.berke-footer-link-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.7rem;
	height: 1.7rem;
	color: var(--berke-footer-blue);
	background: rgba(75, 184, 221, 0.09);
	border-radius: 0.52rem;
}

.berke-footer-link-arrow svg {
	width: 0.85rem;
	height: 0.85rem;
}

.berke-footer-contact ul {
	gap: 0.55rem;
}

.berke-footer-contact li {
	display: grid;
	grid-template-columns: 2.15rem minmax(0, 1fr);
	align-items: start;
	min-height: 3.1rem;
	gap: 0.65rem;
	padding-block: 0.15rem;
}

.berke-footer-contact__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.15rem;
	height: 2.15rem;
	color: var(--berke-footer-blue);
	background: rgba(75, 184, 221, 0.09);
	border: 1px solid rgba(75, 184, 221, 0.13);
	border-radius: 0.66rem;
}

.berke-footer-contact__icon svg {
	width: 1rem;
	height: 1rem;
}

.berke-footer-contact li > div {
	display: grid;
	gap: 0.13rem;
	min-width: 0;
}

.berke-footer-contact small {
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.66rem;
	line-height: 1.5;
}

.berke-footer-contact li > div > span,
.berke-footer-contact a {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.76rem;
	line-height: 1.75;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.berke-footer-contact a:hover,
.berke-footer-contact a:focus-visible {
	color: var(--berke-footer-blue);
}

.berke-footer-bottom {
	background: var(--berke-footer-deep);
	border-top: 1px solid var(--berke-footer-line);
}

.berke-footer-bottom__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 4.2rem;
	gap: 1rem 2rem;
	padding-block: 0.8rem;
}

.berke-footer-bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.53);
	font-size: 0.68rem;
	line-height: 1.7;
}

body.berke-font-iranyekan .berke-site-footer,
body.berke-font-iranyekan .berke-site-footer *:not(svg):not(path) {
	font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
}

/* Tablet: two columns with balanced information grouping. */
@media (min-width: 48rem) and (max-width: 63.999rem) {
	.berke-footer-cta__inner {
		align-items: stretch;
	}

	.berke-footer-call {
		align-self: center;
		min-width: 17rem;
	}

	.berke-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2.25rem 3rem;
	}

	.berke-footer-brand {
		order: 1;
	}

	.berke-footer-contact {
		order: 2;
	}

	.berke-footer-section:not(.berke-footer-contact):not(.berke-footer-guides) {
		order: 3;
	}

	.berke-footer-guides {
		order: 4;
	}
}

/* Mobile: one readable column and full-width phone CTA. */
@media (max-width: 47.999rem) {
	.berke-footer-accent {
		height: 3px;
	}

	.berke-footer-cta {
		padding-block: 1.5rem;
	}

	.berke-footer-cta__inner {
		display: grid;
		gap: 1.15rem;
	}

	.berke-footer-cta h2 {
		font-size: 1.3rem;
	}

	.berke-footer-cta p {
		font-size: 0.82rem;
		line-height: 1.85;
	}

	.berke-footer-call {
		width: 100%;
		min-width: 0;
		min-height: 4.2rem;
	}

	.berke-footer-main {
		padding-block: 2.5rem;
	}

	.berke-footer-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.2rem;
	}

	.berke-footer-brand {
		order: 1;
	}

	.berke-footer-contact {
		order: 2;
	}

	.berke-footer-section:not(.berke-footer-contact):not(.berke-footer-guides) {
		order: 3;
	}

	.berke-footer-guides {
		order: 4;
	}

	.berke-footer-brand__logo,
	.berke-footer-brand__monogram {
		width: 4.2rem;
		height: 4.2rem;
	}

	.berke-footer-guides a {
		min-height: 3.15rem;
	}

	.berke-footer-contact li {
		min-height: 3.25rem;
	}

	.berke-footer-bottom__inner {
		display: grid;
		justify-items: start;
		min-height: 0;
		gap: 0.35rem;
		padding-block: 1.15rem;
	}
}

@media (max-width: 23.5rem) {
	.berke-footer-call {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.berke-footer-call__arrow {
		display: none;
	}

	.berke-footer-brand__identity {
		align-items: flex-start;
	}

	.berke-footer-brand__logo,
	.berke-footer-brand__monogram {
		width: 3.85rem;
		height: 3.85rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.berke-footer-call,
	.berke-footer-guides a {
		transition: none;
	}
}


/* berke-site-tools */
/**
 * Berke professional site tools.
 *
 * Search, quick actions, active states, accessibility,
 * footer principles and back-to-top.
 */

/* Consistent keyboard focus across custom header/footer tools. */
.berke-site-header :focus-visible,
.berke-site-footer :focus-visible,
.berke-search-dialog :focus-visible,
.berke-back-to-top:focus-visible {
	outline: 3px solid #4bb8dd !important;
	outline-offset: 3px !important;
}

/* Keep skip-link visible above the sticky header and admin bar. */
.berke-skip-link.screen-reader-text:focus {
	position: fixed;
	z-index: 100300;
	top: calc(var(--berke-admin-bar-offset, 0px) + 0.75rem);
	inset-inline-start: 0.75rem;
}

/* Desktop header tools. */
.berke-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.42rem;
}

.berke-header-tool,
.berke-header-tool:hover,
.berke-header-tool:focus,
.berke-header-tool:focus-visible,
.berke-header-tool:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.9rem;
	height: 2.9rem;
	min-width: 2.9rem;
	min-height: 2.9rem;
	padding: 0 !important;
	color: #223d65 !important;
	text-decoration: none !important;
	background: #f1f8fb !important;
	background-image: none !important;
	border: 1px solid rgba(34, 61, 101, 0.12) !important;
	border-radius: 0.86rem !important;
	box-shadow: none !important;
	appearance: none;
	cursor: pointer;
	transition:
		color 160ms ease,
		background 160ms ease,
		border-color 160ms ease,
		transform 160ms ease !important;
}

.berke-header-tool:hover,
.berke-header-tool:focus-visible {
	color: #ffffff !important;
	background: #223d65 !important;
	border-color: #223d65 !important;
	transform: translateY(-1px);
}

.berke-header-tool svg {
	width: 1.14rem;
	height: 1.14rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Strong but quiet current-page language in the services menu. */
@media (min-width: 64rem) {
	.berke-mega-menu.current-menu-parent > .berke-mega-menu__trigger::after {
		transform: scaleX(1);
	}

	.berke-mega-menu__list .current-menu-item > a {
		color: #173f55 !important;
		background: #eef8fb !important;
		border-color: rgba(75, 184, 221, 0.34) !important;
		border-inline-start: 3px solid #4bb8dd !important;
		box-shadow: none !important;
		transform: none !important;
	}

	.berke-mega-menu__column.is-current-column {
		border-color: rgba(75, 184, 221, 0.28) !important;
	}
}

/* Mobile drawer quick actions. */
.berke-mobile-quick-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem;
	margin-block-end: 0.62rem;
}

.berke-mobile-tool,
.berke-mobile-tool:hover,
.berke-mobile-tool:focus,
.berke-mobile-tool:focus-visible,
.berke-mobile-tool:active {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.48rem;
	min-height: 3rem;
	padding: 0.65rem 0.72rem !important;
	color: #223d65 !important;
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none !important;
	background: #eef6f9 !important;
	background-image: none !important;
	border: 1px solid rgba(34, 61, 101, 0.11) !important;
	border-radius: 0.82rem !important;
	box-shadow: none !important;
	appearance: none;
	cursor: pointer;
}

.berke-mobile-tool:hover,
.berke-mobile-tool:focus-visible {
	color: #173f55 !important;
	background: #e4f2f7 !important;
	border-color: rgba(75, 184, 221, 0.36) !important;
}

.berke-mobile-tool__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.85rem;
	height: 1.85rem;
	color: #187ca1;
	background: #ffffff;
	border-radius: 0.55rem;
}

.berke-mobile-tool svg {
	width: 0.95rem;
	height: 0.95rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Search dialog. */
body.berke-search-open {
	overflow: hidden;
}

.berke-search-dialog[hidden] {
	display: none !important;
}

.berke-search-dialog {
	position: fixed;
	z-index: 100250;
	inset: 0;
	display: grid;
	align-items: start;
	justify-items: center;
	padding:
		calc(var(--berke-admin-bar-offset, 0px) + clamp(4.8rem, 11vh, 7.5rem))
		1rem
		1rem;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.berke-search-dialog__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(15, 36, 57, 0.78);
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
	opacity: 0;
	transition: opacity 180ms ease;
}

.berke-search-dialog__panel {
	position: relative;
	z-index: 1;
	width: min(44rem, 100%);
	padding: clamp(1.35rem, 3.2vw, 2.3rem);
	color: #173f55;
	background:
		radial-gradient(
			circle at 10% 10%,
			rgba(75, 184, 221, 0.14),
			transparent 34%
		),
		#ffffff;
	border: 1px solid rgba(34, 61, 101, 0.12);
	border-radius: 1.35rem;
	box-shadow: 0 2rem 5rem rgba(9, 29, 47, 0.28);
	opacity: 0;
	transform: translateY(-0.75rem) scale(0.985);
	transition:
		opacity 180ms ease,
		transform 180ms ease;
}

.berke-search-dialog.is-open .berke-search-dialog__backdrop {
	opacity: 1;
}

.berke-search-dialog.is-open .berke-search-dialog__panel {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.berke-search-dialog__close,
.berke-search-dialog__close:hover,
.berke-search-dialog__close:focus,
.berke-search-dialog__close:focus-visible,
.berke-search-dialog__close:active {
	position: absolute;
	top: 0.9rem;
	inset-inline-end: 0.9rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	padding: 0 !important;
	color: #223d65 !important;
	background: #eef5f8 !important;
	background-image: none !important;
	border: 1px solid rgba(34, 61, 101, 0.1) !important;
	border-radius: 0.8rem !important;
	box-shadow: none !important;
	appearance: none;
	cursor: pointer;
}

.berke-search-dialog__close span {
	position: absolute;
	width: 1.05rem;
	height: 2px;
	background: currentColor;
	border-radius: 99px;
}

.berke-search-dialog__close span:first-child {
	transform: rotate(45deg);
}

.berke-search-dialog__close span:last-child {
	transform: rotate(-45deg);
}

.berke-search-dialog__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 1.8rem;
	padding-inline: 0.68rem;
	margin-block-end: 0.72rem;
	color: #223d65;
	font-size: 0.7rem;
	font-weight: 700;
	background: rgba(75, 184, 221, 0.14);
	border: 1px solid rgba(75, 184, 221, 0.25);
	border-radius: 999px;
}

.berke-search-dialog h2 {
	max-width: calc(100% - 3.2rem);
	margin: 0;
	color: #173f55;
	font-size: clamp(1.3rem, 2.8vw, 1.9rem);
	font-weight: 800;
	line-height: 1.55;
	letter-spacing: -0.025em;
}

.berke-search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.65rem;
	margin-block-start: 1.35rem;
}

.berke-search-form__field {
	width: 100%;
	min-width: 0;
	min-height: 3.55rem;
	padding: 0.78rem 1rem;
	color: #173f55;
	background: #f7fafc;
	border: 1px solid rgba(34, 61, 101, 0.15);
	border-radius: 0.92rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.berke-search-form__field::placeholder {
	color: #78909f;
	opacity: 1;
}

.berke-search-form__field:focus {
	background: #ffffff;
	border-color: #4bb8dd;
	box-shadow: 0 0 0 0.23rem rgba(75, 184, 221, 0.12);
}

.berke-search-form__submit,
.berke-search-form__submit:hover,
.berke-search-form__submit:focus,
.berke-search-form__submit:focus-visible,
.berke-search-form__submit:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.48rem;
	min-height: 3.55rem;
	padding: 0.72rem 1.08rem !important;
	color: #ffffff !important;
	font-weight: 800;
	background: #223d65 !important;
	background-image: none !important;
	border: 1px solid #223d65 !important;
	border-radius: 0.92rem !important;
	box-shadow: 0 0.7rem 1.4rem rgba(34, 61, 101, 0.18) !important;
	appearance: none;
	cursor: pointer;
}

.berke-search-form__submit:hover,
.berke-search-form__submit:focus-visible {
	background: #182d4c !important;
}

.berke-search-form__submit > span:first-child {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.berke-search-form__submit svg {
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.berke-search-dialog__hint {
	margin: 0.78rem 0 0;
	color: #6b8392;
	font-size: 0.74rem;
	line-height: 1.75;
}

/* Footer trust principles. */
.berke-footer-principles {
	color: #ffffff;
	background: #102b43;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.berke-footer-principles__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.berke-footer-principle {
	display: grid;
	grid-template-columns: 2.7rem minmax(0, 1fr);
	align-items: center;
	gap: 0.75rem;
	min-height: 6rem;
	padding: 1rem clamp(1rem, 2.4vw, 1.7rem);
	border-inline-start: 1px solid rgba(255, 255, 255, 0.08);
}

.berke-footer-principle:first-child {
	border-inline-start: 0;
}

.berke-footer-principle__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.7rem;
	height: 2.7rem;
	color: #4bb8dd;
	background: rgba(75, 184, 221, 0.09);
	border: 1px solid rgba(75, 184, 221, 0.13);
	border-radius: 0.78rem;
}

.berke-footer-principle svg {
	width: 1.18rem;
	height: 1.18rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.berke-footer-principle > div {
	display: grid;
	gap: 0.15rem;
}

.berke-footer-principle strong {
	color: #ffffff;
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1.6;
}

.berke-footer-principle > div > span {
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.68rem;
	line-height: 1.65;
}

/* Back to top. */
.berke-back-to-top,
.berke-back-to-top:hover,
.berke-back-to-top:focus,
.berke-back-to-top:focus-visible,
.berke-back-to-top:active {
	position: fixed;
	z-index: 9990;
	inset-inline-start: max(1rem, env(safe-area-inset-left));
	inset-block-end: max(1rem, env(safe-area-inset-bottom));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.95rem;
	height: 2.95rem;
	padding: 0 !important;
	color: #ffffff !important;
	background: #223d65 !important;
	background-image: none !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-radius: 0.9rem !important;
	box-shadow: 0 0.85rem 1.8rem rgba(15, 36, 57, 0.24) !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(0.7rem);
	appearance: none;
	cursor: pointer;
	transition:
		opacity 180ms ease,
		visibility 180ms ease,
		transform 180ms ease,
		background 160ms ease !important;
}

.berke-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.berke-back-to-top:hover,
.berke-back-to-top:focus-visible {
	background: #4bb8dd !important;
}

.berke-back-to-top svg {
	width: 1.12rem;
	height: 1.12rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.berke-mobile-menu-open .berke-back-to-top,
body.berke-search-open .berke-back-to-top {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

body.berke-font-iranyekan .berke-search-dialog,
body.berke-font-iranyekan .berke-search-dialog *:not(svg):not(path),
body.berke-font-iranyekan .berke-footer-principles,
body.berke-font-iranyekan .berke-footer-principles *:not(svg):not(path),
body.berke-font-iranyekan .berke-header-actions,
body.berke-font-iranyekan .berke-mobile-quick-actions {
	font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
}

/* Header tools are desktop-only; mobile/tablet tools live inside the drawer. */
@media (max-width: 63.999rem) {
	.berke-header-actions {
		display: none !important;
	}

	.berke-footer-principles__grid {
		grid-template-columns: 1fr;
		padding-block: 0.35rem;
	}

	.berke-footer-principle {
		min-height: 4.8rem;
		border-inline-start: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	}

	.berke-footer-principle:last-child {
		border-bottom: 0;
	}
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
	.berke-footer-principles__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding-block: 0;
	}

	.berke-footer-principle {
		grid-template-columns: 2.45rem minmax(0, 1fr);
		min-height: 6.2rem;
		padding-inline: 0.8rem;
		border-inline-start: 1px solid rgba(255, 255, 255, 0.07);
		border-bottom: 0;
	}

	.berke-footer-principle:first-child {
		border-inline-start: 0;
	}

	.berke-footer-principle__icon {
		width: 2.45rem;
		height: 2.45rem;
	}

	.berke-footer-principle > div > span {
		display: none;
	}
}

@media (max-width: 47.999rem) {
	.berke-search-dialog {
		padding:
			calc(var(--berke-admin-bar-offset, 0px) + 4.4rem)
			0.7rem
			0.7rem;
	}

	.berke-search-dialog__panel {
		padding: 1.25rem;
		border-radius: 1.1rem;
	}

	.berke-search-dialog h2 {
		font-size: 1.22rem;
	}

	.berke-search-form {
		grid-template-columns: 1fr;
	}

	.berke-search-form__field,
	.berke-search-form__submit {
		min-height: 3.35rem;
	}

	.berke-back-to-top,
	.berke-back-to-top:hover,
	.berke-back-to-top:focus,
	.berke-back-to-top:focus-visible,
	.berke-back-to-top:active {
		width: 2.65rem;
		height: 2.65rem;
		border-radius: 0.78rem !important;
	}
}

@media (max-width: 23.5rem) {
	.berke-mobile-quick-actions {
		grid-template-columns: 1fr;
	}

	.berke-search-dialog__hint {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.berke-header-tool,
	.berke-search-dialog__backdrop,
	.berke-search-dialog__panel,
	.berke-back-to-top {
		transition: none !important;
	}
}


/* berke-child */
/*
Theme Name: Berke Child
Theme URI: https://berke.ir/
Description: Code-first child theme for Berke.
Author: Berke
Author URI: https://berke.ir/
Template: hello-elementor
Version: 0.24.0
Text Domain: berke
Requires at least: 6.4
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/


/* berke-ui-polish-v0400 */
/**
 * Berke 0.3.20 — site-wide typography and restrained UI polish.
 * Loaded last under a release-specific filename to prevent stale mixed assets.
 */

body.berke-release-0320 {
	--berke-text-xs: 0.84rem;
	--berke-text-sm: 0.95rem;
	--berke-text-base: 1.05rem;
	--berke-text-lg: 1.18rem;
	--berke-leading-body: 1.84;
	--berke-transition-fast: 150ms cubic-bezier(.2,.7,.2,1);
	--berke-transition-smooth: 260ms cubic-bezier(.2,.75,.2,1);
	font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
	font-synthesis: none;
	text-rendering: optimizeLegibility;
}

body.berke-release-0320 :where(
	.berke-site-header,
	.berke-site-header *,
	.berke-site-footer,
	.berke-site-footer *,
	.berke-home,
	.berke-home *
) {
	font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
	font-synthesis: none;
}

/* Persian typography reads better without artificial tracking. */
body.berke-release-0320 :where(
	.berke-site-header,
	.berke-site-footer,
	.berke-home
) :where(h1,h2,h3,h4,h5,h6,p,a,button,span,small,strong,li,dt,dd) {
	letter-spacing: normal !important;
}

/* Header — clearer hierarchy, comfortable navigation, restrained glass surface. */
body.berke-release-0320 .berke-site-header {
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 0.35rem 1.6rem rgba(15, 36, 57, 0.075);
	backdrop-filter: blur(14px) saturate(125%);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
}

body.berke-release-0320 .berke-site-branding__title {
	font-size: 1.08rem !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}

body.berke-release-0320 .berke-site-branding__tagline {
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	line-height: 1.65 !important;
	color: #536f80 !important;
}

body.berke-release-0320 :where(.berke-menu > li > a, .berke-mega-menu__trigger) {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1.55 !important;
}

body.berke-release-0320 .berke-header-cta {
	min-block-size: 2.85rem;
	padding-inline: 1.15rem !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	box-shadow: 0 0.55rem 1.3rem rgba(34, 61, 101, 0.14);
	transition: transform var(--berke-transition-fast), box-shadow var(--berke-transition-fast), background-color var(--berke-transition-fast);
}

body.berke-release-0320 .berke-header-cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 0.75rem 1.65rem rgba(34, 61, 101, 0.19);
}

body.berke-release-0320 .berke-header-tool {
	transition: transform var(--berke-transition-fast), background-color var(--berke-transition-fast), border-color var(--berke-transition-fast);
}

body.berke-release-0320 .berke-header-tool:hover {
	transform: translateY(-1px);
	border-color: rgba(75, 184, 221, 0.48);
	background: #f5fbfd;
}

body.berke-release-0320 .berke-mega-menu__title {
	font-size: 1.08rem !important;
	font-weight: 700 !important;
}

body.berke-release-0320 .berke-mega-menu__overview-copy strong {
	font-size: 1rem !important;
	font-weight: 700 !important;
}

body.berke-release-0320 .berke-mega-menu__overview-copy small,
body.berke-release-0320 .berke-mega-menu__description {
	font-size: 0.86rem !important;
	font-weight: 500 !important;
	line-height: 1.75 !important;
}

body.berke-release-0320 .berke-mega-menu__item-copy strong {
	font-size: 0.94rem !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
}

body.berke-release-0320 .berke-mega-menu__item-copy span {
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	line-height: 1.65 !important;
}

body.berke-release-0320 :where(.berke-mobile-drawer__heading strong, .berke-mobile-tool, .berke-mobile-cta) {
	font-weight: 700 !important;
}

body.berke-release-0320 .berke-mobile-drawer__heading span {
	font-size: 0.82rem !important;
	font-weight: 500 !important;
}

/* Footer — raise minimum readable sizes and give links a more deliberate feel. */
body.berke-release-0320 .berke-footer-eyebrow {
	font-size: 0.82rem !important;
	font-weight: 700 !important;
}

body.berke-release-0320 .berke-footer-cta h2 {
	font-weight: 800 !important;
	line-height: 1.48 !important;
}

body.berke-release-0320 .berke-footer-cta p {
	font-size: 0.98rem !important;
	font-weight: 500 !important;
	line-height: 1.9 !important;
}

body.berke-release-0320 .berke-footer-call {
	transition: transform var(--berke-transition-smooth), box-shadow var(--berke-transition-smooth), border-color var(--berke-transition-smooth);
}

body.berke-release-0320 .berke-footer-call:hover {
	transform: translateY(-2px);
	box-shadow: 0 1rem 2.3rem rgba(15, 36, 57, 0.18);
}

body.berke-release-0320 .berke-footer-call__copy small {
	font-size: 0.82rem !important;
	font-weight: 500 !important;
}

body.berke-release-0320 .berke-footer-principle strong {
	font-size: 0.96rem !important;
	font-weight: 700 !important;
}

body.berke-release-0320 .berke-footer-principle span:not(.berke-footer-principle__icon) {
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	line-height: 1.75 !important;
}

body.berke-release-0320 .berke-footer-brand__description {
	font-size: 0.94rem !important;
	font-weight: 500 !important;
	line-height: 1.9 !important;
}

body.berke-release-0320 .berke-footer-brand__promise {
	font-size: 0.86rem !important;
	font-weight: 600 !important;
	line-height: 1.8 !important;
}

body.berke-release-0320 .berke-footer-section h2 {
	font-size: 1.02rem !important;
	font-weight: 800 !important;
}

body.berke-release-0320 :where(.berke-footer-scope-list li, .berke-footer-guides a, .berke-footer-contact li) {
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	line-height: 1.85 !important;
}

body.berke-release-0320 .berke-footer-guides a {
	position: relative;
	transition: color var(--berke-transition-fast), transform var(--berke-transition-fast);
}

body.berke-release-0320 .berke-footer-guides a:hover {
	color: #ffffff;
	transform: translateX(-2px);
}

body.berke-release-0320 .berke-footer-contact small {
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	line-height: 1.65 !important;
}

body.berke-release-0320 .berke-footer-bottom p {
	font-size: 0.78rem !important;
	font-weight: 500 !important;
	line-height: 1.75 !important;
}

body.berke-release-0320 :where(.berke-footer-contact__icon, .berke-footer-principle__icon) {
	transition: transform var(--berke-transition-fast), background-color var(--berke-transition-fast), border-color var(--berke-transition-fast);
}

body.berke-release-0320 .berke-footer-contact li:hover .berke-footer-contact__icon,
body.berke-release-0320 .berke-footer-principle:hover .berke-footer-principle__icon {
	transform: translateY(-2px);
	border-color: rgba(75, 184, 221, 0.42);
}

/* Focus quality across coded UI. */
body.berke-release-0320 :where(
	.berke-site-header a,
	.berke-site-header button,
	.berke-site-footer a,
	.berke-site-footer button
):focus-visible {
	outline: 3px solid rgba(75, 184, 221, 0.44) !important;
	outline-offset: 3px !important;
}

@media (max-width: 63.999rem) {
	body.berke-release-0320 .berke-menu > li > a,
	body.berke-release-0320 .berke-mega-menu__trigger {
		font-size: 0.98rem !important;
	}

	body.berke-release-0320 .berke-mobile-tool {
		font-size: 0.92rem !important;
	}
}

@media (max-width: 35rem) {
	body.berke-release-0320 {
		--berke-text-xs: 0.82rem;
		--berke-text-sm: 0.93rem;
		--berke-text-base: 1.02rem;
	}

	body.berke-release-0320 .berke-footer-cta p,
	body.berke-release-0320 .berke-footer-brand__description {
		font-size: 0.95rem !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.berke-release-0320 :where(.berke-site-header *, .berke-site-footer *) {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}


/* ==========================================================
 * Berke 0.3.20 — Global UI refinement / Typography System 2.0
 * ========================================================== */
body.berke-release-0320 {
    --berke-text-xs: 0.90rem;
    --berke-text-sm: 0.99rem;
    --berke-text-base: 1.075rem;
    --berke-text-lg: 1.22rem;
    --berke-leading-body: 1.9;
    --berke-ui-border: rgba(34, 61, 101, 0.13);
    --berke-ui-border-active: rgba(75, 184, 221, 0.42);
    --berke-ui-shadow-soft: 0 0.85rem 2.5rem rgba(15, 36, 57, 0.07);
    --berke-ui-shadow-raised: 0 1.15rem 3rem rgba(15, 36, 57, 0.11);
}

/* Guarantee readable Persian text and real installed font weights. */
body.berke-release-0320 :where(.berke-site-header, .berke-site-footer, .berke-home) {
    font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
    font-synthesis: none !important;
}

body.berke-release-0320 :where(
    .berke-site-header p, .berke-site-header a, .berke-site-header button,
    .berke-site-footer p, .berke-site-footer a, .berke-site-footer li,
    .berke-site-footer small, .berke-home p, .berke-home a, .berke-home small,
    .berke-home dt, .berke-home dd
) {
    text-rendering: optimizeLegibility;
}

/* Header: more comfortable scale and a clearer interaction surface. */
body.berke-release-0320 .berke-site-header {
    border-bottom-color: rgba(34, 61, 101, 0.10);
    box-shadow: 0 0.55rem 1.8rem rgba(15, 36, 57, 0.065);
}

body.berke-release-0320 .berke-site-branding__title {
    font-size: 1.14rem !important;
    font-weight: 800 !important;
}

body.berke-release-0320 .berke-site-branding__tagline {
    font-size: 0.86rem !important;
    font-weight: 500 !important;
    color: #49697b !important;
}

body.berke-release-0320 :where(.berke-menu > li > a, .berke-mega-menu__trigger) {
    min-block-size: 3.15rem !important;
    padding-inline: 0.78rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    border-radius: 0.78rem !important;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease !important;
}

body.berke-release-0320 :where(.berke-menu > li > a, .berke-mega-menu__trigger):hover,
body.berke-release-0320 :where(.berke-menu > li > a, .berke-mega-menu__trigger):focus-visible,
body.berke-release-0320 .berke-mega-menu__trigger[aria-expanded="true"] {
    background: #f3f9fc !important;
    transform: translateY(-1px);
}

body.berke-release-0320 .berke-header-tool {
    width: 3.05rem !important;
    height: 3.05rem !important;
    min-width: 3.05rem !important;
    min-height: 3.05rem !important;
    border-radius: 0.9rem !important;
    box-shadow: 0 0.35rem 1rem rgba(15, 36, 57, 0.05) !important;
}

body.berke-release-0320 .berke-header-tool svg {
    width: 1.22rem !important;
    height: 1.22rem !important;
}

body.berke-release-0320 .berke-header-cta {
    min-block-size: 3.15rem !important;
    padding-inline: 1.3rem !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, #223d65, #182d4c) !important;
    border-color: rgba(34, 61, 101, 0.88) !important;
    box-shadow: 0 0.7rem 1.65rem rgba(34, 61, 101, 0.18) !important;
}

body.berke-release-0320 .berke-header-cta:hover,
body.berke-release-0320 .berke-header-cta:focus-visible {
    background: linear-gradient(135deg, #182d4c, #132c46) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 0.95rem 2rem rgba(34, 61, 101, 0.24) !important;
}

body.berke-release-0320 .berke-mega-menu__title {
    font-size: 1.12rem !important;
}

body.berke-release-0320 .berke-mega-menu__overview-copy small,
body.berke-release-0320 .berke-mega-menu__description,
body.berke-release-0320 .berke-mega-menu__item-copy span {
    font-size: 0.90rem !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
}

body.berke-release-0320 .berke-mega-menu__item-copy strong {
    font-size: 0.98rem !important;
}

body.berke-release-0320 .berke-mega-menu__list a {
    transition: background-color 170ms ease, border-color 170ms ease, transform 170ms ease !important;
}

body.berke-release-0320 .berke-mega-menu__list a:hover,
body.berke-release-0320 .berke-mega-menu__list a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(75, 184, 221, 0.28) !important;
}

/* Footer: increase legibility and visual hierarchy without turning it into cards. */
body.berke-release-0320 .berke-footer-cta {
    padding-block: clamp(2rem, 4vw, 3.2rem);
    background:
        radial-gradient(circle at 12% 18%, rgba(75, 184, 221, 0.23), transparent 34%),
        linear-gradient(135deg, #f7fcfe, #eaf5f9);
}

body.berke-release-0320 .berke-footer-eyebrow {
    font-size: 0.88rem !important;
    min-block-size: 2rem;
    padding-inline: 0.85rem;
}

body.berke-release-0320 .berke-footer-cta h2 {
    font-size: clamp(1.7rem, 2.7vw, 2.35rem) !important;
    font-weight: 800 !important;
}

body.berke-release-0320 .berke-footer-cta p {
    font-size: 1.03rem !important;
    font-weight: 500 !important;
    color: #415f72 !important;
}

body.berke-release-0320 .berke-footer-call {
    min-inline-size: min(100%, 20rem);
    padding: 0.95rem 1rem;
    border-radius: 1.15rem;
    box-shadow: 0 0.95rem 2.2rem rgba(34, 61, 101, 0.19);
}

body.berke-release-0320 .berke-footer-call__icon {
    width: 2.9rem;
    height: 2.9rem;
}

body.berke-release-0320 .berke-footer-call__copy small {
    font-size: 0.88rem !important;
    font-weight: 500 !important;
}

body.berke-release-0320 .berke-footer-call__copy strong {
    font-size: 1.08rem !important;
}

body.berke-release-0320 .berke-footer-principles {
    background:
        linear-gradient(90deg, rgba(75, 184, 221, 0.035), transparent 50%),
        #102b43;
}

body.berke-release-0320 .berke-footer-principle {
    min-block-size: 6.8rem;
    padding: 1.15rem clamp(1rem, 2.6vw, 1.9rem);
    transition: background-color 180ms ease, border-color 180ms ease;
}

body.berke-release-0320 .berke-footer-principle:hover {
    background: rgba(255, 255, 255, 0.025);
}

body.berke-release-0320 .berke-footer-principle__icon {
    width: 2.95rem;
    height: 2.95rem;
    border-radius: 0.86rem;
}

body.berke-release-0320 .berke-footer-principle strong {
    font-size: 1rem !important;
    font-weight: 700 !important;
}

body.berke-release-0320 .berke-footer-principle > div > span {
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    line-height: 1.78 !important;
    color: rgba(255, 255, 255, 0.68) !important;
}

body.berke-release-0320 .berke-footer-main {
    padding-block: clamp(3rem, 6vw, 5rem);
}

body.berke-release-0320 .berke-footer-brand__identity h2 {
    font-size: 1.28rem !important;
}

body.berke-release-0320 .berke-footer-brand__identity > div > span {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
}

body.berke-release-0320 .berke-footer-brand__description {
    font-size: 0.98rem !important;
    font-weight: 500 !important;
    line-height: 1.95 !important;
    color: rgba(255, 255, 255, 0.76) !important;
}

body.berke-release-0320 .berke-footer-brand__promise {
    font-size: 0.91rem !important;
    font-weight: 600 !important;
    line-height: 1.85 !important;
    padding: 0.95rem 1rem;
    border-color: rgba(75, 184, 221, 0.16);
    background: rgba(255, 255, 255, 0.065);
}

body.berke-release-0320 .berke-footer-section h2 {
    font-size: 1.09rem !important;
    font-weight: 800 !important;
    padding-block-end: 0.9rem;
}

body.berke-release-0320 .berke-footer-section h2::after {
    width: 2.8rem;
    height: 3px;
}

body.berke-release-0320 :where(.berke-footer-scope-list li, .berke-footer-guides a) {
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
}

body.berke-release-0320 .berke-footer-guides a {
    min-block-size: 3.25rem;
    padding-inline: 0.15rem;
}

body.berke-release-0320 .berke-footer-guides a:hover,
body.berke-release-0320 .berke-footer-guides a:focus-visible {
    transform: translateX(-3px);
}

body.berke-release-0320 .berke-footer-link-arrow {
    width: 1.9rem;
    height: 1.9rem;
    transition: transform 170ms ease, background-color 170ms ease;
}

body.berke-release-0320 .berke-footer-guides a:hover .berke-footer-link-arrow,
body.berke-release-0320 .berke-footer-guides a:focus-visible .berke-footer-link-arrow {
    transform: translateX(-2px);
    background: rgba(75, 184, 221, 0.15);
}

body.berke-release-0320 .berke-footer-contact li {
    min-block-size: 3.55rem;
    gap: 0.8rem;
}

body.berke-release-0320 .berke-footer-contact__icon {
    width: 2.4rem;
    height: 2.4rem;
}

body.berke-release-0320 .berke-footer-contact small {
    font-size: 0.84rem !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.58) !important;
}

body.berke-release-0320 :where(.berke-footer-contact li > div > span, .berke-footer-contact a) {
    font-size: 0.93rem !important;
    font-weight: 500 !important;
    line-height: 1.82 !important;
}

body.berke-release-0320 .berke-footer-bottom p {
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.62) !important;
}

/* Mobile/tablet typography must not collapse back to tiny legacy values. */
@media (max-width: 63.999rem) {
    body.berke-release-0320 .berke-site-branding__tagline {
        font-size: 0.84rem !important;
    }

    body.berke-release-0320 :where(.berke-mobile-tool, .berke-mobile-cta) {
        font-size: 0.96rem !important;
        font-weight: 700 !important;
    }

    body.berke-release-0320 .berke-mobile-drawer__heading span {
        font-size: 0.88rem !important;
    }
}

@media (max-width: 47.999rem) {
    body.berke-release-0320 {
        --berke-text-xs: 0.88rem;
        --berke-text-sm: 0.97rem;
        --berke-text-base: 1.04rem;
    }

    body.berke-release-0320 .berke-footer-cta h2 {
        font-size: 1.55rem !important;
    }

    body.berke-release-0320 .berke-footer-cta p,
    body.berke-release-0320 .berke-footer-brand__description {
        font-size: 0.98rem !important;
    }

    body.berke-release-0320 :where(.berke-footer-scope-list li, .berke-footer-guides a) {
        font-size: 0.96rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.berke-release-0320 *,
    body.berke-release-0320 *::before,
    body.berke-release-0320 *::after {
        scroll-behavior: auto !important;
    }
}

:root{--berke-font-family:"IRANYekanX",Tahoma,Arial,sans-serif;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-Regular.ttf?berke_font_release=0400") format("truetype");font-style:normal;font-weight:400;font-display:swap;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-Medium.ttf?berke_font_release=0400") format("truetype");font-style:normal;font-weight:500;font-display:swap;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-DemiBold.ttf?berke_font_release=0400") format("truetype");font-style:normal;font-weight:600;font-display:swap;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-Bold.ttf?berke_font_release=0400") format("truetype");font-style:normal;font-weight:700;font-display:swap;}@font-face{font-family:"IRANYekanX";src:url("https://berke.ir/wp-content/uploads/berke/fonts/iranyekan/IRANYekanX-ExtraBold.ttf?berke_font_release=0400") format("truetype");font-style:normal;font-weight:800;font-display:swap;}
/* berke-cta-hotfix-v0400 */
/**
 * Berke 0.3.21 — primary request CTA hover hotfix.
 * Keeps the approved navy/blue palette and preserves accessible focus feedback.
 */
body.berke-release-0321 .berke-header-cta,
body.berke-release-0321 .berke-mobile-cta,
body.berke-release-0321 .berke-home-actions .berke-ui-button--primary {
    color: #ffffff !important;
    background: linear-gradient(135deg, #223d65, #182d4c) !important;
    border-color: #223d65 !important;
    box-shadow: 0 0.72rem 1.65rem rgba(34, 61, 101, 0.18) !important;
    transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

body.berke-release-0321 .berke-header-cta:hover,
body.berke-release-0321 .berke-header-cta:focus-visible,
body.berke-release-0321 .berke-mobile-cta:hover,
body.berke-release-0321 .berke-mobile-cta:focus-visible,
body.berke-release-0321 .berke-home-actions .berke-ui-button--primary:hover,
body.berke-release-0321 .berke-home-actions .berke-ui-button--primary:focus-visible {
    color: #ffffff !important;
    background: linear-gradient(135deg, #182d4c, #132c46) !important;
    border-color: #132c46 !important;
    box-shadow: 0 0.95rem 2rem rgba(19, 44, 70, 0.24) !important;
    transform: translateY(-1px) !important;
}

body.berke-release-0321 .berke-header-cta:active,
body.berke-release-0321 .berke-mobile-cta:active,
body.berke-release-0321 .berke-home-actions .berke-ui-button--primary:active {
    background: #0f2439 !important;
    border-color: #0f2439 !important;
    box-shadow: 0 0.45rem 1rem rgba(15, 36, 57, 0.2) !important;
    transform: translateY(0) !important;
}

body.berke-release-0321 .berke-header-cta:focus-visible,
body.berke-release-0321 .berke-mobile-cta:focus-visible,
body.berke-release-0321 .berke-home-actions .berke-ui-button--primary:focus-visible {
    outline: 3px solid rgba(75, 184, 221, 0.55) !important;
    outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
    body.berke-release-0321 .berke-header-cta,
    body.berke-release-0321 .berke-mobile-cta,
    body.berke-release-0321 .berke-home-actions .berke-ui-button--primary {
        transition: none !important;
    }
}


/* berke-core-pages-v0400 */
/** Berke Core Pages — 0.4.0 */
body.berke-release-0400 .berke-core-page,
body.berke-release-0400 .berke-core-page *,
body.berke-release-0400 .berke-request-page,
body.berke-release-0400 .berke-request-page *{
	box-sizing:border-box;
	font-family:"IRANYekanX",Tahoma,Arial,sans-serif!important;
	font-style:normal;
	font-synthesis:none;
	letter-spacing:normal;
}
.berke-core-page{direction:rtl;color:#173f55;background:#fff;font-size:1.06rem;line-height:1.9;overflow:hidden}
.berke-core-page h1,.berke-core-page h2,.berke-core-page h3,.berke-core-page p{margin-top:0}
.berke-core-page a{text-underline-offset:.2em}
.berke-core-container{width:min(88rem,calc(100% - 48px));margin-inline:auto}
.berke-core-section{padding:clamp(4.75rem,8vw,8rem) 0}
.berke-core-section--soft{background:linear-gradient(180deg,#f7fbfd 0%,#eff8fb 100%)}
.berke-core-section--dark{color:#fff;background:linear-gradient(135deg,#0f2439 0%,#132c46 70%,#183c57 100%)}
.berke-core-kicker{margin:0 0 .72rem;color:#2585ac;font-size:.88rem;font-weight:800;line-height:1.65}
.berke-core-section--dark .berke-core-kicker,.berke-core-final .berke-core-kicker{color:#72c9e6}
.berke-core-heading{max-width:47rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.berke-core-heading--wide{max-width:62rem}
.berke-core-heading h2{margin:0;color:#0f2439;font-size:clamp(2rem,3.7vw,3.35rem);font-weight:800;line-height:1.34}
.berke-core-heading p:last-child{margin:.9rem 0 0;color:#587083;font-size:1.04rem;line-height:1.95}
.berke-core-section--dark .berke-core-heading h2{color:#fff}.berke-core-section--dark .berke-core-heading p:last-child{color:#c9dce7}
.berke-core-lead{max-width:51rem;margin:1.15rem 0 0;color:#4d6678;font-size:1.11rem;font-weight:500;line-height:2}
.berke-core-actions{display:flex;flex-wrap:wrap;gap:.78rem;margin-top:1.7rem}
.berke-core-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.35rem;padding:.78rem 1.3rem;border:1px solid transparent;border-radius:999px;font-size:.96rem;font-weight:800;line-height:1.5;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.berke-core-button:hover{transform:translateY(-1px)}
.berke-core-button:focus-visible{outline:3px solid rgba(75,184,221,.38);outline-offset:3px}
.berke-core-button--primary{color:#fff;background:#223d65;box-shadow:0 12px 30px rgba(19,44,70,.18)}
.berke-core-button--primary:hover{color:#fff;background:#132c46}
.berke-core-button--secondary{color:#173f55;background:#fff;border-color:#cbdde6}.berke-core-button--secondary:hover{color:#132c46;border-color:#4bb8dd;background:#f8fcfd}
.berke-core-button--light{color:#102d47;background:#fff}.berke-core-button--light:hover{color:#102d47;background:#eef8fb}
.berke-core-button--ghost{color:#fff;background:transparent;border-color:rgba(255,255,255,.34)}.berke-core-button--ghost:hover{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.64)}
.berke-core-text-link{display:inline-flex;align-items:center;min-height:2.7rem;color:#1d789d;font-weight:800;text-decoration:none}.berke-core-text-link:hover{color:#132c46}
.berke-core-number{display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:1rem;border-radius:50%;color:#187ca4;background:#e8f6fb;font-size:.9rem;font-weight:800}
.berke-core-label{display:inline-flex;padding:.38rem .68rem;border-radius:999px;color:#1d789d;background:#eaf7fb;font-size:.78rem;font-weight:800}
.berke-core-checks{display:grid;gap:.62rem;margin:1.4rem 0 1.7rem;padding:0;list-style:none}.berke-core-checks li{position:relative;padding-inline-start:1.7rem}.berke-core-checks li::before{content:"✓";position:absolute;inset-inline-start:0;top:.05rem;color:#4bb8dd;font-weight:900}
.berke-core-media{position:relative;overflow:hidden;border:1px solid rgba(34,61,101,.12);border-radius:1.75rem;background:#eef8fb;box-shadow:0 28px 70px rgba(15,36,57,.09)}
.berke-core-media__image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.berke-core-media__caption{position:static;display:grid;gap:.15rem;padding:.9rem 1rem;border:0;border-top:1px solid #dce8ee;border-radius:0;background:#fff}
.berke-core-media__caption strong{color:#102d47;font-size:.93rem}.berke-core-media__caption span{color:#607788;font-size:.78rem}
.berke-core-media--dark{border-color:rgba(255,255,255,.14);box-shadow:none}
.berke-core-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.15rem;color:#718493;font-size:.82rem}.berke-core-breadcrumb a{color:#497086;text-decoration:none}.berke-core-breadcrumb a:hover{color:#223d65}
.berke-core-page-hero{padding:clamp(3.8rem,7vw,6.8rem) 0 clamp(4rem,7vw,6.5rem);background:radial-gradient(circle at 9% 10%,rgba(75,184,221,.12),transparent 25rem),linear-gradient(145deg,#f7fbfd 0%,#fff 62%,#eef8fb 100%)}
.berke-core-page-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(19rem,.65fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.berke-core-page-hero h1{max-width:58rem;margin:0;color:#0f2439;font-size:clamp(2.5rem,5vw,4.65rem);font-weight:800;line-height:1.2}
.berke-core-side-note{padding:1.5rem 1.6rem;border:1px solid #d7e7ee;border-radius:1.5rem;background:rgba(255,255,255,.94);box-shadow:0 22px 55px rgba(15,36,57,.07)}
.berke-core-side-note strong{color:#102d47;font-size:1.05rem}.berke-core-side-note p{margin:.65rem 0;color:#5f7585;font-size:.91rem}.berke-core-side-note a{color:#1c769b;font-size:.9rem;font-weight:800;text-decoration:none}
.berke-core-more{display:flex;justify-content:center;margin-top:2rem}
.berke-core-final{padding:clamp(3.5rem,6vw,5rem) 0;color:#fff;background:linear-gradient(120deg,#0f2439,#173b5d)}
.berke-core-final__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}.berke-core-final h2{margin:0;color:#fff;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.4}.berke-core-final p:last-child{max-width:48rem;margin:.75rem 0 0;color:#c9dce7}.berke-core-final .berke-core-actions{margin-top:0;justify-content:flex-end}

/* Home shared structures. */
.berke-home-families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.berke-home-families article{padding:clamp(1.4rem,2.3vw,2rem);border:1px solid #dce8ee;border-radius:1.4rem;background:#fff}.berke-home-families h3{margin:0;color:#132c46;font-size:1.3rem;line-height:1.55}.berke-home-families p{margin:.7rem 0 1rem;color:#607688;font-size:.95rem}.berke-home-families a{color:#217ca0;font-weight:800;text-decoration:none}
.berke-home-service-layout{display:grid;grid-template-columns:minmax(17rem,.52fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);align-items:start}.berke-core-heading--sticky{position:sticky;top:8rem}.berke-home-service-list{border-top:1px solid #dce7ec}.berke-home-service-row{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.35rem .4rem;color:inherit;text-decoration:none;border-bottom:1px solid #dce7ec;transition:padding .18s ease,background .18s ease}.berke-home-service-row:hover{padding-inline:1rem;background:#f7fbfd}.berke-home-service-row__num{color:#4b788e;font-size:.78rem;font-weight:800}.berke-home-service-row h3{margin:0;color:#102d47;font-size:1.18rem}.berke-home-service-row p{margin:.25rem 0 0;color:#657b8c;font-size:.9rem;line-height:1.8}.berke-home-service-row__arrow{color:#2b83a6;font-size:1.35rem}
.berke-home-diagnosis{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.berke-home-diagnosis__copy h2{margin:0;color:#fff;font-size:clamp(2.1rem,3.8vw,3.35rem);line-height:1.35}.berke-home-diagnosis__copy>p:not(.berke-core-kicker){margin:1rem 0 0;color:#c8dbe6}.berke-home-diagnosis .berke-core-checks{color:#eef7fb}
.berke-home-evidence-model{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1rem;align-items:center;padding:1.4rem;border:1px solid #dce9ef;border-radius:1.5rem;background:#f9fcfd}.berke-home-evidence-model>div{display:grid;gap:.25rem;min-height:7.5rem;padding:1.1rem;border-radius:1rem;background:#fff}.berke-home-evidence-model strong{color:#132c46}.berke-home-evidence-model span{color:#687d8d;font-size:.87rem}.berke-home-evidence-model>span{color:#4bb8dd;font-size:1.5rem;font-weight:900}.berke-home-projects-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.4rem}.berke-home-projects-preview article{padding:1.35rem;border:1px solid #dce8ee;border-radius:1.2rem}.berke-home-projects-preview h3{margin:.8rem 0 .4rem;color:#102d47}.berke-home-projects-preview p{margin:0;color:#657b8c;font-size:.9rem}
.berke-core-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none}.berke-core-process li{padding:1.25rem;border-top:3px solid #4bb8dd;background:#fff;border-radius:0 0 1.1rem 1.1rem;box-shadow:0 12px 32px rgba(15,36,57,.055)}.berke-core-process li>span{display:inline-block;margin-bottom:.9rem;color:#277d9e;font-size:.78rem;font-weight:800}.berke-core-process h3{margin:0;color:#132c46;font-size:1.02rem}.berke-core-process p{margin:.45rem 0 0;color:#657b8c;font-size:.88rem;line-height:1.8}

/* Services hub. */
.berke-service-family-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.berke-service-family-nav a{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;row-gap:.15rem;padding:1.35rem;color:inherit;text-decoration:none;border:1px solid #dce8ee;border-radius:1.3rem;background:#fff}.berke-service-family-nav a>span{grid-row:1/3;display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;color:#1d789d;background:#eaf7fb;font-size:.8rem;font-weight:800}.berke-service-family-nav strong{color:#132c46}.berke-service-family-nav small{color:#667c8d;line-height:1.75}
.berke-service-family{display:grid;grid-template-columns:minmax(17rem,.58fr) minmax(0,1.25fr);gap:clamp(2rem,6vw,6rem);align-items:start}.berke-service-family__intro h2{margin:0;color:#102d47;font-size:clamp(2rem,3vw,2.8rem)}.berke-service-family__intro>p:last-child{color:#61788a}.berke-service-family__items{display:grid;gap:.75rem}.berke-service-family__items>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.2rem 1.25rem;color:inherit;text-decoration:none;border:1px solid #dce8ee;border-radius:1.1rem;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.berke-service-family__items>a:hover{transform:translateY(-1px);border-color:#bddde9;box-shadow:0 12px 32px rgba(15,36,57,.06)}.berke-service-family__items h3{margin:0;color:#132c46;font-size:1.08rem}.berke-service-family__items p{margin:.25rem 0 0;color:#687e8e;font-size:.88rem}.berke-service-family__items>a>span{color:#2a85a8;font-size:1.25rem}.berke-services-decision{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}.berke-services-decision h2{margin:0;color:#fff;font-size:clamp(2rem,3.5vw,3rem);line-height:1.4}.berke-services-decision p:last-child{max-width:52rem;margin:.8rem 0 0;color:#c9dce7}

/* About. */
.berke-about-definition{display:grid;grid-template-columns:minmax(18rem,.7fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}.berke-about-definition h2{margin:0;color:#102d47;font-size:clamp(2rem,3.4vw,3rem);line-height:1.45}.berke-about-definition>div:last-child{max-width:48rem;color:#566f82}.berke-about-realms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.berke-about-realms article{position:relative;padding:2rem;border:1px solid #dce8ee;border-radius:1.5rem;background:#fff}.berke-about-realms article>span{position:absolute;top:1rem;left:1.2rem;color:#c2dbe5;font-size:2rem;font-weight:800}.berke-about-realms h3{margin:0;color:#102d47;font-size:1.35rem}.berke-about-realms p{margin:.65rem 0 0;color:#63798a}.berke-about-principles{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem)}.berke-about-principles h2{margin:0;color:#fff;font-size:clamp(2rem,3.5vw,3rem);line-height:1.4}.berke-about-principles ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0;padding:0;list-style:none}.berke-about-principles li{display:grid;grid-template-columns:3rem 1fr;gap:.75rem;padding:1.15rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:rgba(255,255,255,.05)}.berke-about-principles li>span{color:#6ec7e5;font-size:.78rem;font-weight:800}.berke-about-principles h3{margin:0;color:#fff;font-size:1rem}.berke-about-principles p{margin:.3rem 0 0;color:#bfd2de;font-size:.87rem}.berke-about-scope__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.berke-about-scope__grid>div{padding:1.35rem;border-inline-start:3px solid #4bb8dd;background:#f8fbfc}.berke-about-scope__grid strong{color:#132c46}.berke-about-scope__grid p{margin:.4rem 0 0;color:#62798a;font-size:.9rem}.berke-about-evidence{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}.berke-about-evidence h2{margin:0;color:#102d47;font-size:clamp(1.8rem,3vw,2.6rem)}.berke-about-evidence p:last-child{margin:.6rem 0 0;color:#62798a}

/* Contact. */
.berke-contact-hero .berke-core-container{max-width:64rem}.berke-contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.25rem}.berke-contact-primary{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:22rem;padding:2rem;color:#fff;text-decoration:none;border-radius:1.6rem;background:linear-gradient(135deg,#132c46,#223d65);box-shadow:0 24px 60px rgba(15,36,57,.16)}.berke-contact-icon{display:grid;place-items:center;width:3.25rem;height:3.25rem;margin-bottom:1.2rem;border-radius:50%;background:rgba(255,255,255,.1)}.berke-contact-icon svg,.berke-contact-details svg{width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.berke-contact-primary small{color:#9bd8ec}.berke-contact-primary strong{margin:.2rem 0;color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);direction:ltr}.berke-contact-primary p{margin:.7rem 0 0;color:#d3e3ec}.berke-contact-details{display:grid;gap:.8rem}.berke-contact-details>div{display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:center;min-height:6.6rem;padding:1.2rem 1.35rem;border:1px solid #dce8ee;border-radius:1.25rem;background:#fff}.berke-contact-details>div>span{display:grid;place-items:center;width:3rem;height:3rem;color:#247ca0;border-radius:50%;background:#eaf7fb}.berke-contact-details small{display:block;color:#738796;font-size:.8rem}.berke-contact-details strong{color:#173f55;font-size:1rem}.berke-contact-request{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,.55fr);gap:clamp(2rem,6vw,5rem);align-items:center}.berke-contact-request h2{margin:0;color:#102d47;font-size:clamp(2rem,3.5vw,3rem);line-height:1.4}.berke-contact-request>div>p:not(.berke-core-kicker){margin:.8rem 0 0;color:#607789}.berke-contact-request__action{display:grid;gap:.8rem;padding:1.4rem;border:1px solid #d5e5ec;border-radius:1.4rem;background:#fff}.berke-contact-request__action small{color:#718594;line-height:1.7}.berke-contact-paths{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}.berke-contact-paths h2{margin:0;color:#102d47;font-size:clamp(1.8rem,3vw,2.5rem)}.berke-contact-paths p{margin:.5rem 0 0;color:#62798a}

/* Projects. */
.berke-project-grid{display:grid;gap:1.5rem}.berke-project-card{display:grid;grid-template-columns:minmax(18rem,.7fr) minmax(0,1fr);overflow:hidden;border:1px solid #dce8ee;border-radius:1.5rem;background:#fff}.berke-project-card>img{width:100%;height:100%;min-height:28rem;object-fit:cover}.berke-project-card>div{padding:clamp(1.5rem,3vw,2.5rem)}.berke-project-card h2{margin:.75rem 0 .5rem;color:#102d47;font-size:clamp(1.6rem,2.6vw,2.3rem)}.berke-project-card>div>p{color:#617889}.berke-project-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.4rem 0}.berke-project-card dl>div{padding:.9rem;border-radius:.85rem;background:#f6fafc}.berke-project-card dt{color:#738694;font-size:.75rem;font-weight:700}.berke-project-card dd{margin:.25rem 0 0;color:#173f55;font-size:.9rem}.berke-projects-empty{max-width:64rem;margin-inline:auto;text-align:center}.berke-projects-empty h2{margin:0;color:#102d47;font-size:clamp(2rem,3.5vw,3rem)}.berke-projects-empty>p:not(.berke-core-kicker){margin:1rem auto 2rem;color:#607789}.berke-projects-empty__seo{font-size:.82rem!important;color:#7a8d9b!important}.berke-project-method{display:grid;grid-template-columns:minmax(18rem,.7fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem)}.berke-project-method h2{margin:0;color:#102d47;font-size:clamp(1.9rem,3vw,2.6rem)}.berke-project-method ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;padding:0;list-style:none}.berke-project-method li{padding:.9rem 1rem;border-inline-start:3px solid #4bb8dd;background:#fff;color:#506b7d}

@media(max-width:64rem){
	.berke-core-container{width:min(100% - 36px,72rem)}
	.berke-core-page-hero__grid,.berke-home-service-layout,.berke-home-diagnosis,.berke-service-family,.berke-about-definition,.berke-about-principles,.berke-contact-request,.berke-project-method{grid-template-columns:1fr}
	.berke-core-heading--sticky{position:static}
	.berke-home-families,.berke-service-family-nav,.berke-about-scope__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.berke-core-process{grid-template-columns:repeat(2,minmax(0,1fr))}
	.berke-core-final__inner,.berke-services-decision,.berke-about-evidence,.berke-contact-paths{grid-template-columns:1fr}.berke-core-final .berke-core-actions{justify-content:flex-start}
	.berke-contact-grid{grid-template-columns:1fr}.berke-contact-primary{min-height:16rem}
	.berke-project-card{grid-template-columns:1fr}.berke-project-card>img{min-height:0;aspect-ratio:16/9}
}
@media(max-width:48rem){
	.berke-core-page{font-size:1.02rem}.berke-core-container{width:min(100% - 28px,45rem)}.berke-core-section{padding:3.8rem 0}.berke-core-page-hero{padding:3rem 0 3.6rem}.berke-core-page-hero h1{font-size:clamp(2.15rem,10vw,3.2rem)}.berke-core-heading h2{font-size:clamp(1.8rem,8vw,2.55rem)}.berke-core-lead{font-size:1.02rem}
	.berke-core-actions{display:grid;grid-template-columns:1fr}.berke-core-button{width:100%}
	.berke-home-families,.berke-service-family-nav,.berke-about-realms,.berke-about-principles ol,.berke-about-scope__grid,.berke-core-process,.berke-project-method ul{grid-template-columns:1fr}
	.berke-home-evidence-model{grid-template-columns:1fr}.berke-home-evidence-model>span{transform:rotate(-90deg);justify-self:center}.berke-home-evidence-model>div{min-height:0}
	.berke-home-service-row{grid-template-columns:2.4rem minmax(0,1fr) auto;gap:.6rem;padding-block:1.1rem}.berke-home-service-row p{font-size:.86rem}
		.berke-contact-details>div{grid-template-columns:2.7rem 1fr;padding:1rem}.berke-contact-details>div>span{width:2.7rem;height:2.7rem}
	.berke-project-card dl{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.berke-core-button,.berke-home-service-row,.berke-service-family__items>a{transition:none!important}.berke-core-button:hover,.berke-service-family__items>a:hover{transform:none!important}}

/* Core pages own their conversion close; avoid a duplicated generic footer CTA. */
body.berke-core-v0400 .berke-footer-cta,
body.berke-universal-request-v0400 .berke-footer-cta{display:none!important}


/* berke-service-intake-v0400 */
/* Berke universal service intake — 0.4.0 */
.berke-universal-request-v0400 .berke-request-page,
.berke-universal-request-v0400 .berke-request-page *,
.berke-intake-form,
.berke-intake-form *{box-sizing:border-box;font-family:"IRANYekanX",Tahoma,Arial,sans-serif!important;letter-spacing:normal!important;font-synthesis:none}
.berke-request-page{direction:rtl;color:#132c46;background:#fff;font-size:1.05rem;line-height:1.9}
.berke-request-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.berke-request-hero{position:relative;overflow:hidden;padding:clamp(4.2rem,8vw,7rem) 0 clamp(4rem,7vw,6rem);background:linear-gradient(145deg,#f5fbfd 0%,#fff 58%,#eef8fb 100%)}
.berke-request-hero::before{content:"";position:absolute;inset:-20% auto auto -8%;width:30rem;height:30rem;border-radius:50%;background:radial-gradient(circle,rgba(75,184,221,.14),rgba(75,184,221,0) 68%);pointer-events:none}
.berke-request-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.14fr) minmax(330px,.72fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.berke-request-hero__copy{max-width:800px}.berke-request-kicker{margin:0 0 .75rem;color:#247fa7;font-size:.91rem;font-weight:800}.berke-request-page h1{margin:0;color:#0f2439;font-size:clamp(2.5rem,5.2vw,4.7rem);line-height:1.18;font-weight:800;letter-spacing:-.02em!important}.berke-request-lead{max-width:760px;margin:1.35rem 0 0;color:#405b70;font-size:1.13rem;font-weight:500;line-height:1.95}
.berke-request-scope{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.55rem}.berke-request-scope span{padding:.58rem .9rem;border:1px solid #d6e8ef;border-radius:999px;background:rgba(255,255,255,.88);color:#274a63;font-size:.91rem;font-weight:700}
.berke-request-phone{display:inline-flex;align-items:center;gap:.85rem;margin-top:1.65rem;padding:.75rem 0;text-decoration:none;color:#173b5d}.berke-request-phone span{font-size:.9rem;color:#5b7183}.berke-request-phone b{font-size:1.14rem;color:#223d65}.berke-request-phone:hover b{text-decoration:underline}
.berke-request-hero__card{padding:1.75rem 1.8rem;border:1px solid #d9e9ef;border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 28px 70px rgba(19,44,70,.1)}.berke-request-card-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:1rem;border-radius:13px;background:#e7f6fb;color:#16789f;font-weight:900}.berke-request-hero__card>strong{font-size:1.16rem;color:#102d47}.berke-request-hero__card ol{display:grid;gap:.15rem;margin:1rem 0 0;padding:0;list-style:none}.berke-request-hero__card li{display:grid;grid-template-columns:34px 1fr;gap:.8rem;padding:.8rem 0;border-bottom:1px solid #e8f0f3}.berke-request-hero__card li:last-child{border-bottom:0}.berke-request-hero__card li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f0f7fa;color:#277b9c;font-size:.83rem;font-weight:800}.berke-request-hero__card b{display:block;color:#203f58;font-size:.96rem}.berke-request-hero__card small{display:block;margin-top:.15rem;color:#687d8d;font-size:.84rem;line-height:1.75}
.berke-request-form-section{padding:clamp(4.5rem,8vw,7rem) 0 clamp(5.5rem,9vw,8.5rem);background:#fff}.berke-request-form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:clamp(2rem,4vw,4rem);align-items:start}.berke-request-form-main{min-width:0}.berke-request-form-heading{max-width:760px;margin-bottom:1.5rem}.berke-request-form-heading h2{margin:.1rem 0 .6rem;color:#102d47;font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.35}.berke-request-form-heading p:last-child{margin:0;color:#617588}
.berke-intake-form{max-width:none;margin:0;padding:clamp(1.2rem,2.4vw,2rem);border:1px solid #dce8ee;border-radius:26px;background:#fff;box-shadow:0 22px 60px rgba(19,44,70,.075)}
.berke-intake-step{padding:1.3rem 0}.berke-intake-step:first-of-type{padding-top:.25rem}.berke-intake-step+.berke-intake-step{border-top:1px solid #e6eef2}.berke-intake-step__head{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:1rem}.berke-intake-step__head>span{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#eaf7fb;color:#166d93;font-weight:800}.berke-intake-step__head strong{display:block;color:#132c46;font-size:1.08rem}.berke-intake-step__head small{display:block;margin-top:.18rem;color:#687c8d;font-size:.86rem}
.berke-intake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.berke-intake-field{display:grid;gap:.45rem;color:#203f58;font-weight:650}.berke-intake-field--wide{grid-column:1/-1}.berke-intake-field span{font-size:.92rem}.berke-intake-field input,.berke-intake-field select,.berke-intake-field textarea{width:100%;min-height:50px;padding:.78rem .9rem;border:1px solid #cbdce5;border-radius:13px;background:#fff;color:#132c46;font-family:"IRANYekanX",Tahoma,Arial,sans-serif!important;font-size:1rem;font-weight:500;line-height:1.6;outline:none}.berke-intake-field select option,.berke-intake-field select optgroup{font-family:"IRANYekanX",Tahoma,Arial,sans-serif!important}.berke-intake-field textarea{min-height:138px;resize:vertical}.berke-intake-field input[name="phone"]{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}.berke-intake-field input:focus,.berke-intake-field select:focus,.berke-intake-field textarea:focus{border-color:#4bb8dd;box-shadow:0 0 0 3px rgba(75,184,221,.15)}
.berke-intake-submit{display:inline-flex;justify-content:center;align-items:center;gap:.55rem;width:100%;min-height:56px;margin-top:1.2rem;border:0;border-radius:14px;background:#223d65;color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.berke-intake-submit:hover{background:#132c46;transform:translateY(-1px);box-shadow:0 10px 24px rgba(19,44,70,.18)}.berke-intake-submit:focus-visible{outline:3px solid rgba(75,184,221,.38);outline-offset:3px}.berke-intake-submit:disabled{opacity:.65;cursor:wait;transform:none}.berke-intake-status{min-height:1.7rem;margin-top:.8rem;font-size:.92rem;font-weight:650}.berke-intake-status[data-state="success"]{color:#166534}.berke-intake-status[data-state="error"]{color:#991b1b}.berke-intake-status[data-state="loading"]{color:#365b77}.berke-intake-privacy{margin:.55rem 0 0;color:#718292;font-size:.82rem;line-height:1.75}.berke-intake-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.berke-request-side{position:sticky;top:120px;display:grid;gap:1rem}.berke-request-side__block{padding:1.35rem 1.4rem;border:1px solid #dfeaf0;border-radius:20px;background:#f9fcfd}.berke-request-side__block strong{color:#14344f;font-size:1rem}.berke-request-side__block ul{display:grid;gap:.5rem;margin:.8rem 0 0;padding:0 1.15rem 0 0;color:#526a7d;font-size:.9rem}.berke-request-side__block--accent{background:#102d47;color:#fff;border-color:#102d47}.berke-request-side__block--accent strong{color:#fff}.berke-request-side__block--accent p{margin:.55rem 0 0;color:#d8e8f1;font-size:.9rem;line-height:1.8}.berke-request-side__note{margin:.15rem .2rem 0;color:#708393;font-size:.82rem;line-height:1.8}
@media(max-width:64rem){.berke-request-hero__grid{grid-template-columns:1fr}.berke-request-hero__card{max-width:720px}.berke-request-form-layout{grid-template-columns:1fr}.berke-request-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.berke-request-side__note{grid-column:1/-1}.berke-request-page h1{font-size:clamp(2.3rem,7vw,3.8rem)}}
@media(max-width:48rem){.berke-request-container{width:min(100% - 28px,760px)}.berke-request-hero{padding:3.2rem 0 3.4rem}.berke-request-page{font-size:1.02rem}.berke-request-page h1{font-size:clamp(2.05rem,10vw,3rem);letter-spacing:normal!important}.berke-request-lead{font-size:1.02rem}.berke-request-scope{display:grid;grid-template-columns:1fr}.berke-request-scope span{text-align:center}.berke-request-phone{display:flex;justify-content:space-between;padding:1rem 0}.berke-request-hero__card{padding:1.25rem;border-radius:21px}.berke-request-form-section{padding-top:3.5rem}.berke-intake-form{padding:1rem;border-radius:20px}.berke-intake-grid{grid-template-columns:1fr}.berke-intake-field--wide{grid-column:auto}.berke-intake-step__head small{font-size:.84rem}.berke-request-side{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.berke-intake-submit{transition:none!important}}

/* 0.4.0 — native-select typography hardening */
.berke-intake-field select,
.berke-intake-field select option,
.berke-intake-field select option[data-berke-service-group="true"]{
	font-family:"IRANYekanX",Tahoma,Arial,sans-serif!important;
	font-style:normal!important;
	font-synthesis:none!important;
}
.berke-intake-field select option[data-berke-service-group="true"]{
	font-weight:800!important;
	color:#294a63;
}

/* 0.4.0 — conversion-hub alignment */
.berke-request-page--v0400 .berke-core-breadcrumb{margin-bottom:1.15rem}
.berke-request-page--v0400 .berke-request-hero__card{border-color:#d3e5ed;box-shadow:0 24px 64px rgba(15,36,57,.085)}
.berke-request-page--v0400 .berke-intake-form{box-shadow:0 20px 56px rgba(15,36,57,.065)}
.berke-request-page--v0400 .berke-request-side__block--accent .berke-core-button{margin-top:1rem;width:100%}
.berke-intake-field select option[data-berke-service-group="true"]{font-style:normal!important;font-weight:800!important}


/* berke-header-intake-v0400 */
/** Header AJAX Intake — 0.4.0 */
.berke-intake-dialog{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);direction:rtl}
.berke-intake-dialog[hidden]{display:none!important}
.berke-intake-dialog__backdrop{position:absolute;inset:0;background:rgba(10,28,44,.68);backdrop-filter:blur(5px)}
.berke-intake-dialog__panel{position:relative;width:min(58rem,100%);max-height:min(90vh,58rem);overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:1.75rem;background:#f8fbfc;box-shadow:0 36px 100px rgba(5,20,33,.34);outline:0}
.berke-intake-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;border-bottom:1px solid #dce8ee;background:#fff}
.berke-intake-dialog__header p{margin:0 0 .2rem;color:#2782a5;font-size:.78rem;font-weight:800}.berke-intake-dialog__header h2{margin:0;color:#102d47;font-family:"IRANYekanX",Tahoma,Arial,sans-serif!important;font-size:clamp(1.35rem,2.6vw,1.9rem);font-style:normal;font-weight:800;line-height:1.45}.berke-intake-dialog__header span{display:block;margin-top:.25rem;color:#6b8090;font-family:"IRANYekanX",Tahoma,Arial,sans-serif!important;font-size:.82rem}
.berke-intake-dialog__close{display:grid;place-items:center;flex:0 0 2.8rem;width:2.8rem;height:2.8rem;padding:0;color:#173f55;background:#eef6f9;border:1px solid #d4e5ec;border-radius:50%;font-family:"IRANYekanX",Tahoma,Arial,sans-serif!important;font-size:1.7rem;line-height:1;cursor:pointer}.berke-intake-dialog__close:hover{background:#e2f2f7}.berke-intake-dialog__close:focus-visible{outline:3px solid rgba(75,184,221,.38);outline-offset:2px}
.berke-intake-dialog__body{max-height:calc(90vh - 7rem);padding:1rem;overflow:auto;overscroll-behavior:contain}.berke-intake-dialog .berke-intake-form{box-shadow:none;background:#fff}.berke-intake-modal-open{overflow:hidden!important}
@media(max-width:48rem){.berke-intake-dialog{padding:0;align-items:stretch}.berke-intake-dialog__panel{width:100%;max-height:100dvh;border:0;border-radius:0}.berke-intake-dialog__header{position:sticky;top:0;z-index:2;padding:1rem}.berke-intake-dialog__header span{display:none}.berke-intake-dialog__body{max-height:calc(100dvh - 5.7rem);padding:.65rem}.berke-intake-dialog .berke-intake-form{border-radius:1rem}.berke-intake-dialog__close{width:2.7rem;height:2.7rem;flex-basis:2.7rem}}
@media(prefers-reduced-motion:reduce){.berke-intake-dialog *{scroll-behavior:auto!important}}


