@font-face {
	font-family: "Darmangar AzarMehr";
	src: url("../fonts/AzarMehr-VF.woff2") format("woff2");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

:root {
	--db-background: var(--wp--preset--color--background, #f7f6f8);
	--db-surface: var(--wp--preset--color--surface, #fff);
	--db-text: var(--wp--preset--color--text, #1b1c20);
	--db-muted: var(--wp--preset--color--muted, #676a73);
	--db-accent: var(--wp--preset--color--accent, #1f4e79);
	--db-accent-dark: var(--wp--preset--color--accent-dark, #173a5e);
	--db-accent-soft: var(--wp--preset--color--accent-soft, #eaf2f8);
	--db-accent-border: #7fa3c2;
	--db-accent-on-dark: #b8d4ea;
	--db-focus-color: #4a7ba7;
	--db-focus-ring: rgba(31, 78, 121, 0.24);
	--db-border: var(--wp--preset--color--border, #e5e3e8);
	--db-dark: var(--wp--preset--color--dark-surface, #202126);
	--db-radius-sm: 10px;
	--db-radius: 18px;
	--db-radius-lg: 24px;
	--db-shadow: 0 18px 50px rgba(32, 33, 38, 0.07);
	--db-shell: 1180px;
	--db-readable: 760px;
}

.darmangar-color-scheme--navy {
	--db-accent: #1f4e79;
	--db-accent-dark: #173a5e;
	--db-accent-soft: #eaf2f8;
	--db-accent-border: #7fa3c2;
	--db-accent-on-dark: #b8d4ea;
	--db-focus-color: #4a7ba7;
	--db-focus-ring: rgba(31, 78, 121, 0.24);
}

.darmangar-color-scheme--blue {
	--db-accent: #2563a6;
	--db-accent-dark: #1b4776;
	--db-accent-soft: #eaf3fc;
	--db-accent-border: #80a9d3;
	--db-accent-on-dark: #bdd9f2;
	--db-focus-color: #4f83ba;
	--db-focus-ring: rgba(37, 99, 166, 0.24);
}

.darmangar-color-scheme--teal {
	--db-accent: #0f766e;
	--db-accent-dark: #0b554f;
	--db-accent-soft: #e6f5f3;
	--db-accent-border: #6faaa5;
	--db-accent-on-dark: #a9ded9;
	--db-focus-color: #3c918a;
	--db-focus-ring: rgba(15, 118, 110, 0.24);
}

.darmangar-color-scheme--green {
	--db-accent: #3f6f3f;
	--db-accent-dark: #2d512d;
	--db-accent-soft: #edf5ea;
	--db-accent-border: #8bad88;
	--db-accent-on-dark: #c0dbbc;
	--db-focus-color: #668e63;
	--db-focus-ring: rgba(63, 111, 63, 0.24);
}

.darmangar-color-scheme--burgundy {
	--db-accent: #8a2945;
	--db-accent-dark: #641e33;
	--db-accent-soft: #faeaf0;
	--db-accent-border: #bf8294;
	--db-accent-on-dark: #ecc0cc;
	--db-focus-color: #a75169;
	--db-focus-ring: rgba(138, 41, 69, 0.24);
}

.darmangar-color-scheme--violet {
	--db-accent: #6b4fa1;
	--db-accent-dark: #4f3a77;
	--db-accent-soft: #f1ecfa;
	--db-accent-border: #a592c7;
	--db-accent-on-dark: #d1c2eb;
	--db-focus-color: #8870b4;
	--db-focus-ring: rgba(107, 79, 161, 0.24);
}

.darmangar-color-scheme--warm {
	--db-accent: #a6572a;
	--db-accent-dark: #793f20;
	--db-accent-soft: #faefe7;
	--db-accent-border: #ca9677;
	--db-accent-on-dark: #edc9b2;
	--db-focus-color: #bb7650;
	--db-focus-ring: rgba(166, 87, 42, 0.24);
}

html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; overflow-x: hidden; background: var(--db-background); color: var(--db-text); font-family: "Darmangar AzarMehr", Tahoma, sans-serif; font-size: 16px; line-height: 1.85; }
body, button, input, select, textarea { font-family: "Darmangar AzarMehr", Tahoma, sans-serif; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--db-accent-dark); }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 0; box-shadow: 0 0 0 4px var(--db-focus-ring); }
h1, h2, h3 { margin-block: 0; color: var(--db-text); font-weight: 850; line-height: 1.45; }
p { margin-block: 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus { z-index: 10000; top: 12px; right: 12px; width: auto; height: auto; margin: 0; padding: 10px 14px; clip: auto; clip-path: none; border-radius: 8px; background: var(--db-dark); color: #fff; }
.site-shell { width: min(calc(100% - 40px), var(--db-shell)); margin-inline: auto; }
.readable-content { max-width: var(--db-readable); }
.site-section { padding-block: clamp(56px, 7vw, 96px); }
.site-main { min-height: 55vh; }
.eyebrow { margin-bottom: 6px; color: var(--db-accent-dark); font-size: 13px; font-weight: 800; letter-spacing: 0.02em; }
.section-heading { margin-bottom: 28px; }
.section-heading h2 { font-size: clamp(28px, 4vw, 42px); }
.section-heading > p:last-child { margin-top: 8px; color: var(--db-muted); }
.section-heading--center { max-width: 650px; margin-inline: auto; text-align: center; }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 10px 20px; border: 1px solid transparent; border-radius: 12px; cursor: pointer; font-size: 14px; font-weight: 800; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease; }
.button:hover { transform: translateY(-1px); }
.button--primary { background: var(--db-accent); color: #fff; }
.button--primary:hover { background: var(--db-accent-dark); color: #fff; }
.button--secondary { border-color: var(--db-border); background: var(--db-surface); color: var(--db-text); }

.site-header { position: relative; z-index: 50; border-bottom: 1px solid rgba(229, 227, 232, 0.8); background: rgba(247, 246, 248, 0.96); }
.site-header__inner { display: grid; min-height: 84px; grid-template-columns: minmax(170px, 1fr) auto auto; align-items: center; gap: 28px; }
.site-brand { min-width: 0; }
.site-brand__name { display: block; overflow: hidden; color: var(--db-text); font-size: 19px; font-weight: 900; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.site-brand__title { display: block; margin-top: -2px; overflow: hidden; color: var(--db-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { width: auto; max-width: 190px; max-height: 52px; }
.primary-nav { display: flex; align-items: center; gap: 22px; }
.primary-nav a { color: var(--db-muted); font-size: 13px; font-weight: 700; text-decoration: none; }
.primary-nav a:hover { color: var(--db-accent-dark); }
.button--header { min-height: 42px; padding-inline: 17px; background: var(--db-accent); color: #fff; }
.button--header:hover { background: var(--db-accent-dark); color: #fff; }
.nav-toggle { display: none; width: 44px; height: 44px; place-items: center; gap: 4px; padding: 10px; border: 1px solid var(--db-border); border-radius: 11px; background: var(--db-surface); cursor: pointer; }
.nav-toggle span { display: block; width: 20px; height: 2px; border-radius: 2px; background: var(--db-text); }

.hero { padding-block: clamp(56px, 8vw, 110px); }
.hero__inner { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr); align-items: center; gap: clamp(48px, 8vw, 100px); }
.hero--without-image .hero__inner { grid-template-columns: minmax(0, 860px); justify-content: center; }
.hero--without-image .hero__content { width: 100%; }
.hero__content h1 { max-width: 780px; font-size: clamp(40px, 5.8vw, 72px); letter-spacing: -0.035em; }
.hero__title { margin-top: 8px; color: var(--db-accent-dark); font-size: clamp(19px, 2vw, 25px); font-weight: 750; }
.hero__bio { max-width: 690px; margin-top: 20px; color: var(--db-muted); font-size: clamp(15px, 1.5vw, 18px); line-height: 2; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.hero__media { position: relative; margin: 0; }
.hero__media::before { position: absolute; inset: -18px 18px 18px -18px; z-index: -1; border-radius: 28px; background: var(--db-accent-soft); content: ""; }
.hero__image { width: 100%; aspect-ratio: 4 / 5; border-radius: var(--db-radius-lg); object-fit: cover; box-shadow: var(--db-shadow); }

.about-section { background: var(--db-surface); }
.about-section__inner { display: grid; grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.1fr) minmax(230px, 0.65fr); gap: 36px; align-items: start; }
.about-section__bio { color: var(--db-muted); font-size: 17px; }
.about-section__bio p + p { margin-top: 14px; }
.about-meta { display: grid; gap: 10px; margin: 0; }
.about-meta div { padding: 13px 15px; border: 1px solid var(--db-border); border-radius: var(--db-radius-sm); background: var(--db-background); }
.about-meta dt { color: var(--db-muted); font-size: 11px; font-weight: 700; }
.about-meta dd { margin: 2px 0 0; font-size: 13px; font-weight: 750; overflow-wrap: anywhere; }

.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.service-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--db-border); border-radius: var(--db-radius); background: var(--db-surface); box-shadow: 0 10px 30px rgba(32, 33, 38, 0.035); }
.service-card__media { overflow: hidden; }
.service-card__image { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform 220ms ease; }
.service-card:hover .service-card__image { transform: scale(1.015); }
.service-card__body { display: flex; min-height: 210px; flex: 1; flex-direction: column; padding: 22px; }
.service-card h3 { font-size: 20px; }
.service-card p { margin-top: 9px; color: var(--db-muted); font-size: 14px; }
.text-link { width: fit-content; margin-top: auto; padding-top: 20px; font-size: 13px; font-weight: 850; text-decoration: none; }

.contact-section { padding-top: 20px; }
.contact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.contact-card { display: flex; min-width: 0; min-height: 96px; align-items: center; gap: 12px; padding: 16px; border: 1px solid var(--db-border); border-radius: var(--db-radius); background: var(--db-surface); color: var(--db-text); text-decoration: none; }
.contact-card[href]:hover { border-color: var(--db-accent-border); }
.contact-card__icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 10px; background: var(--db-accent-soft); color: var(--db-accent-dark); font-weight: 900; }
.contact-card strong, .contact-card small { display: block; }
.contact-card strong { font-size: 13px; }
.contact-card small { margin-top: 2px; overflow: hidden; color: var(--db-muted); font-size: 11px; text-overflow: ellipsis; overflow-wrap: anywhere; }

.request-section { padding-block: clamp(64px, 8vw, 110px); background: var(--db-dark); color: #fff; }
.request-section__inner { display: grid; grid-template-columns: minmax(230px, 0.62fr) minmax(0, 1.38fr); gap: clamp(32px, 6vw, 78px); align-items: start; }
.request-section .eyebrow { color: var(--db-accent-on-dark); }
.request-section__intro h2 { color: #fff; font-size: clamp(30px, 4vw, 46px); }
.request-section__intro > p:last-child { margin-top: 10px; color: #b9bac0; }
.request-section__form { min-width: 0; }
.darmangar-request-form { width: 100%; margin: 0; padding: 28px; border: 1px solid #3b3c43; border-radius: var(--db-radius); background: #292a30; color: #fff; }
.darmangar-request-form, .darmangar-request-form * { box-sizing: border-box; }
.darmangar-request-form__header { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); }
.darmangar-request-form__body { display: grid; gap: 18px; }
.darmangar-request-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; align-items: start; }
.darmangar-request-form__field { display: grid; min-width: 0; gap: 6px; align-self: start; }
.darmangar-request-contact { min-width: 0; margin: 0; padding: 0; border: 0; }
.darmangar-request-contact legend { margin-bottom: 10px; padding: 0; color: #f8f8f9; font-size: 14px; font-weight: 800; }
.darmangar-request-form label { color: #f8f8f9; font-size: 13px; font-weight: 750; }
.darmangar-request-form input, .darmangar-request-form select, .darmangar-request-form textarea, .darmangar-request-form button { max-width: 100%; font: inherit; }
.darmangar-request-form input[type="text"], .darmangar-request-form input[type="tel"], .darmangar-request-form input[type="date"], .darmangar-request-form select, .darmangar-request-form textarea { width: 100%; min-height: 48px; margin: 0; padding: 10px 12px; border: 1px solid #505159; border-radius: 10px; background: #222329; color: #fff; color-scheme: dark; }
.darmangar-request-form textarea { min-height: 118px; resize: vertical; }
.darmangar-request-composer label { font-size: 15px; }
.darmangar-request-composer textarea { min-height: 150px; padding: 16px; border-radius: var(--db-radius); font-size: 16px; line-height: 1.85; }
.darmangar-request-composer textarea::placeholder { color: #9698a0; opacity: 1; }
.darmangar-request-form input:focus, .darmangar-request-form select:focus, .darmangar-request-form textarea:focus { border-color: var(--db-focus-color); outline: 0; box-shadow: 0 0 0 3px var(--db-focus-ring); }
.darmangar-request-form input[aria-invalid="true"], .darmangar-request-form select[aria-invalid="true"], .darmangar-request-form textarea[aria-invalid="true"] { border-color: #d77c84; }
.darmangar-request-form input[aria-invalid="true"]:focus, .darmangar-request-form select[aria-invalid="true"]:focus, .darmangar-request-form textarea[aria-invalid="true"]:focus { border-color: #efa1a7; box-shadow: 0 0 0 3px rgba(239, 161, 167, 0.18); }
.darmangar-request-help { margin: 0; color: #aeb0b7; font-size: 11px; line-height: 1.8; }
.darmangar-request-field__error { margin: 0; color: #f0a9af; font-size: 11px; font-weight: 700; line-height: 1.7; }
.darmangar-request-optional { border: 1px solid #45464e; border-radius: var(--db-radius-sm); background: #26272d; }
.darmangar-request-optional summary { padding: 12px 14px; color: #d7d8dc; cursor: pointer; font-size: 13px; font-weight: 750; }
.darmangar-request-optional summary span { margin-inline-start: 6px; color: #9698a0; font-size: 11px; font-weight: 500; }
.darmangar-request-optional[open] summary { border-bottom: 1px solid #45464e; }
.darmangar-request-optional__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; padding: 15px; align-items: start; }
.darmangar-request-consent { display: flex; align-items: flex-start; gap: 8px; color: #d7d8dc !important; font-size: 12px !important; line-height: 1.9; }
.darmangar-request-consent input { flex: 0 0 auto; margin-top: 7px; accent-color: var(--db-accent); }
.darmangar-request-form__actions { display: flex; justify-content: flex-start; }
.darmangar-request-submit { min-height: 48px; padding: 10px 25px; border: 0; border-radius: 11px; background: var(--db-accent); color: #fff; cursor: pointer; font-weight: 850; }
.darmangar-request-submit:hover { background: var(--db-accent-dark); }
.darmangar-request-form__notice { margin-bottom: 18px; padding: 12px 14px; border-radius: 10px; font-size: 13px; }
.darmangar-request-notice--success { background: #163d2f; color: #c9f0df; }
.darmangar-request-notice--error, .darmangar-request-notice--validation { border: 1px solid #744047; background: #4a2428; color: #ffd7db; }
.darmangar-request-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.darmangar-empty-message { padding: 18px; border: 1px solid #3b3c43; border-radius: var(--db-radius); color: #c9cad0; }

.content-surface { padding: clamp(24px, 5vw, 48px); border: 1px solid var(--db-border); border-radius: var(--db-radius); background: var(--db-surface); }
.content-header { margin-bottom: 26px; }
.content-header h1, .error-page h1 { font-size: clamp(32px, 5vw, 52px); }
.entry-content > * { max-width: 100%; }
.entry-content p + p { margin-top: 1em; }
.error-page { text-align: center; }
.error-page p:not(.eyebrow) { margin: 10px 0 24px; color: var(--db-muted); }
.fallback-entry + .fallback-entry { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--db-border); }

.site-footer { padding-block: 42px; background: var(--db-dark); color: #fff; }
.site-footer__inner { display: grid; grid-template-columns: minmax(200px, 1fr) auto auto; align-items: center; gap: 28px; }
.site-footer p { color: #aaabb1; font-size: 12px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 16px; }
.footer-links a { color: #d8d9dd; font-size: 12px; text-decoration: none; }
.site-footer__meta { display: grid; color: #8f9199; font-size: 10px; text-align: left; }

@media (max-width: 1024px) {
	.site-header__inner { gap: 18px; }
	.primary-nav { gap: 14px; }
	.hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr); gap: 48px; }
	.about-section__inner { grid-template-columns: minmax(180px, 0.45fr) minmax(0, 1fr); }
	.about-meta { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
	.site-shell { width: min(calc(100% - 28px), var(--db-shell)); }
	.site-header__inner { min-height: 72px; grid-template-columns: minmax(0, 1fr) auto; }
	.nav-toggle { display: grid; }
	.button--header { display: none; }
	.primary-nav { position: absolute; top: calc(100% + 1px); right: 14px; left: 14px; display: grid; gap: 4px; padding: 10px; border: 1px solid var(--db-border); border-radius: 14px; background: var(--db-surface); box-shadow: var(--db-shadow); }
	.primary-nav[data-open="false"] { display: none; }
	.primary-nav a { min-height: 44px; padding: 9px 12px; border-radius: 8px; color: var(--db-text); }
	.primary-nav a:hover, .primary-nav a:focus-visible { background: var(--db-accent-soft); }
	.hero__inner { grid-template-columns: minmax(0, 1fr); }
	.hero__content { order: 1; }
	.hero__media { width: min(100%, 520px); order: 2; }
	.hero__content h1 { font-size: clamp(36px, 9vw, 56px); }
	.about-section__inner { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	.about-meta { grid-column: auto; grid-template-columns: minmax(0, 1fr); }
	.service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.request-section__inner { grid-template-columns: minmax(0, 1fr); }
	.site-footer__inner { grid-template-columns: minmax(0, 1fr); }
	.site-footer__meta { text-align: right; }
}

@media (max-width: 560px) {
	body { font-size: 15px; }
	.site-shell { width: min(calc(100% - 24px), var(--db-shell)); }
	.site-section { padding-block: 52px; }
	.hero { padding-block: 48px 60px; }
	.hero__inner { gap: 42px; }
	.hero__content h1 { font-size: clamp(34px, 11vw, 46px); }
	.hero__title { font-size: 18px; }
	.hero__actions, .hero__actions .button { width: 100%; }
	.service-grid, .contact-grid { grid-template-columns: minmax(0, 1fr); }
	.service-card__body { min-height: 190px; padding: 19px; }
	.request-section__intro h2 { font-size: 32px; }
	.darmangar-request-form { padding: 18px 14px; }
	.darmangar-request-grid, .darmangar-request-optional__fields { grid-template-columns: minmax(0, 1fr); }
	.darmangar-request-composer textarea { min-height: 138px; }
	.darmangar-request-form__actions, .darmangar-request-submit { width: 100%; }
	.content-surface { padding: 24px 18px; }
	.footer-links { gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
