/*
Theme Name: MP Web Studio
Theme URI: https://mpweb-studio.com/
Author: MP Web Studio
Description: Temă comercială rapidă, mobile-first, pentru MP Web Studio.
Version: 1.2.0
Text Domain: mpweb-studio
*/

/**
 * De ce există:
 * Definește identitatea vizuală MP Web Studio după varianta orbitală selectată.
 *
 * Responsabilitate:
 * Layout, tipografie, culori, responsive, stări interactive și accesibilitate vizuală.
 *
 * Ce NU face:
 * Nu conține business logic, nu procesează formulare și nu înlocuiește markup-ul semantic.
 *
 * Depinde de:
 * Structura HTML din fișierele temei, asset-urile reale și fonturile încărcate în functions.php.
 */

:root {
	--bg: #02050a;
	--bg-deep: #010307;
	--surface: #08111d;
	--surface-soft: #0b1624;
	--surface-raised: #101c2b;
	--line: rgba(169, 190, 220, 0.17);
	--line-strong: rgba(180, 204, 235, 0.31);
	--text: #f8fafc;
	--muted: #9aa8ba;
	--muted-strong: #c6cfda;
	--pink: #e14ba8;
	--pink-bright: #f25abb;
	--purple: #9d5cff;
	--blue: #39bdf5;
	--blue-soft: #76d5ff;
	--green: #27d78c;
	--danger: #fb7185;
	--radius: 18px;
	--radius-small: 11px;
	--shadow: 0 28px 80px rgba(0, 0, 0, 0.43);
	--shell: 1300px;
}

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

html {
	scroll-behavior: auto;
	background: var(--bg);
}

body {
	margin: 0;
	min-width: 320px;
	background: var(--bg);
	color: var(--text);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.is-locked {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
}

button,
input,
textarea {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

button {
	color: inherit;
}

a {
	color: inherit;
	text-decoration: none;
}

p,
h1,
h2,
h3,
figure {
	margin-top: 0;
}

.material-symbols-outlined {
	display: inline-flex;
	font-size: 22px;
	font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

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

.skip-link {
	position: fixed;
	left: 16px;
	top: 12px;
	z-index: 10000;
	padding: 10px 16px;
	border-radius: 8px;
	background: #fff;
	color: #080b12;
	transform: translateY(-160%);
}

.skip-link:focus {
	transform: translateY(0);
}

.shell {
	width: min(calc(100% - 56px), var(--shell));
	margin-inline: auto;
}

.section-dark {
	position: relative;
	background: var(--bg);
}

.site-header {
	position: relative;
	top: auto;
	z-index: 1200;
	border-bottom: 1px solid transparent;
	background: rgba(2, 5, 10, 0.82);
	backdrop-filter: blur(18px);
	transition: border-color 180ms ease, background-color 180ms ease;
}

.site-header.is-scrolled {
	border-color: var(--line);
	background: rgba(2, 5, 10, 0.95);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 86px;
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.035em;
}

.brand img {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	object-fit: cover;
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.desktop-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(20px, 2.3vw, 36px);
	margin-inline: auto;
	padding-inline: 28px;
}

.desktop-nav a {
	position: relative;
	padding-block: 12px;
	color: var(--muted-strong);
	font-size: 14px;
	font-weight: 650;
	transition: color 180ms ease;
}

.desktop-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 4px;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--pink), var(--blue));
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 180ms ease;
}

.desktop-nav a:hover,
.desktop-nav a[aria-current="true"] {
	color: var(--text);
}

.desktop-nav a:hover::after,
.desktop-nav a[aria-current="true"]::after {
	transform: scaleX(1);
}

.language-switch,
.mobile-language-switch {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 4px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: rgba(8, 17, 29, 0.72);
}

.language-switch a,
.mobile-language-switch a {
	display: grid;
	place-items: center;
	min-width: 34px;
	height: 30px;
	border-radius: 999px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.language-switch a[aria-current="page"],
.mobile-language-switch a[aria-current="page"] {
	background: linear-gradient(135deg, rgba(225, 75, 168, 0.28), rgba(57, 189, 245, 0.27));
	color: var(--text);
}

.header-whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding-inline: 13px;
	border: 1px solid rgba(39, 215, 140, 0.38);
	border-radius: 10px;
	color: #c9ffe7;
	font-size: 13px;
	font-weight: 750;
	transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.header-whatsapp:hover {
	transform: translateY(-2px);
	border-color: rgba(39, 215, 140, 0.72);
	background: rgba(14, 65, 47, 0.32);
}

.header-whatsapp .material-symbols-outlined {
	font-size: 19px;
}

.menu-toggle {
	display: none;
}

.menu-toggle,
.menu-close,
.modal-close {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	background: var(--surface);
	cursor: pointer;
	box-shadow: 0 0 34px rgba(57, 189, 245, 0.11);
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.menu-toggle:hover,
.menu-close:hover,
.modal-close:hover {
	transform: rotate(7deg) scale(1.04);
	border-color: var(--blue);
	background: var(--surface-raised);
}

.header-actions .menu-toggle {
	display: none;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 10px;
	font-weight: 750;
	line-height: 1;
	cursor: pointer;
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.button:hover {
	transform: translateY(-2px);
}

.button:focus-visible,
.menu-toggle:focus-visible,
.menu-close:focus-visible,
.modal-close:focus-visible,
.orbit-link:focus-visible,
.contact-option:focus-visible,
.footer-nav a:focus-visible,
.footer-legal a:focus-visible,
.footer-legal button:focus-visible,
.cookie-settings-link:focus-visible {
	outline: 3px solid rgba(57, 189, 245, 0.55);
	outline-offset: 4px;
}

.button-small {
	min-height: 46px;
	padding-inline: 19px;
	font-size: 14px;
}

.button-gradient {
	border-color: rgba(118, 213, 255, 0.62);
	background: linear-gradient(100deg, var(--pink) 0%, #be61e7 58%, var(--blue) 100%);
	color: #fff;
	box-shadow: 0 14px 35px rgba(225, 75, 168, 0.2);
}

.button-gradient:hover {
	background: linear-gradient(100deg, var(--pink-bright) 0%, #ca6aed 56%, #55c7f6 100%);
	box-shadow: 0 18px 45px rgba(225, 75, 168, 0.27);
}

.button-ghost {
	border-color: var(--line-strong);
	background: rgba(8, 17, 29, 0.7);
	color: var(--text);
}

.button-ghost:hover {
	border-color: var(--blue);
	background: var(--surface-raised);
}

.button-whatsapp {
	border-color: rgba(39, 215, 140, 0.55);
	background: rgba(14, 65, 47, 0.32);
	color: #c9ffe7;
}

.button-block {
	width: 100%;
}

.orbit-menu[hidden] {
	display: none;
}

.orbit-menu {
	position: fixed;
	inset: 0;
	z-index: 2700;
	display: grid;
	padding: 18px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 240ms ease;
}

.orbit-menu.is-open {
	opacity: 1;
	pointer-events: auto;
}

.orbit-menu-backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(0, 3, 8, 0.86);
	backdrop-filter: blur(18px);
	cursor: default;
}

.orbit-menu-panel {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr auto;
	width: min(100%, 1280px);
	height: min(100%, 820px);
	margin: auto;
	padding: 24px 30px 26px;
	overflow: hidden;
	border: 1px solid var(--line-strong);
	border-radius: 26px;
	background: #050a13;
	box-shadow: var(--shadow);
	transform: scale(0.96) translateY(18px);
	transition: transform 260ms ease;
}

.orbit-menu.is-open .orbit-menu-panel {
	transform: scale(1) translateY(0);
}

.orbit-menu-head,
.orbit-menu-footer {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.orbit-menu-content {
	position: relative;
	min-height: 500px;
}

.orbit-links {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.orbit-link {
	position: absolute;
	display: grid;
	grid-template-columns: 30px 46px auto;
	align-items: center;
	gap: 10px;
	min-width: 180px;
	padding: 8px 14px 8px 8px;
	border: 1px solid var(--line-strong);
	border-radius: 999px;
	background: rgba(6, 12, 23, 0.88);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.orbit-link:hover {
	transform: translateX(-7px);
	border-color: var(--pink);
	background: var(--surface-raised);
}

.orbit-link > span {
	color: var(--pink);
	font-size: 12px;
	font-weight: 800;
}

.orbit-link > i {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	color: var(--blue-soft);
}

.orbit-link strong {
	font-size: 15px;
}

.orbit-link-services { top: 8%; right: 9%; }
.orbit-link-projects { top: 27%; right: 2%; }
.orbit-link-process { top: 46%; right: 0; }
.orbit-link-about { top: 65%; right: 3%; }
.orbit-link-contact { top: 82%; right: 11%; }

.orbit-menu-footer {
	justify-content: flex-end;
	padding-top: 12px;
	border-top: 1px solid var(--line);
}

.orbit-menu-footer p {
	margin: 0 auto 0 0;
	color: var(--muted);
}

.orbit-menu-footer > a:not(.button) {
	font-size: 18px;
	font-weight: 800;
}

.hero {
	padding: 22px 0 46px;
	overflow: hidden;
}

.hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.84fr) minmax(600px, 1.16fr);
	align-items: center;
	gap: 4px;
	min-height: 625px;
}

.hero-copy {
	position: relative;
	z-index: 2;
	padding-left: 8px;
}

.eyebrow,
.kicker {
	color: var(--blue-soft);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.eyebrow-outline {
	display: inline-flex;
	margin-bottom: 25px;
	padding: 8px 14px;
	border: 1px solid var(--pink);
	border-radius: 999px;
	color: var(--text);
	font-size: 12px;
	letter-spacing: 0;
	text-transform: none;
}

.hero h1 {
	max-width: 660px;
	margin-bottom: 24px;
	font-size: clamp(45px, 4.4vw, 64px);
	line-height: 0.99;
	letter-spacing: -0.066em;
}

html[lang^="ru"] .hero h1 {
	font-size: clamp(40px, 3.6vw, 52px);
	letter-spacing: -0.055em;
}

.hero h1 .headline-line {
	display: block;
	color: var(--text);
}

.hero h1 .headline-accent {
	color: var(--pink-bright);
}

.hero-lead {
	max-width: 610px;
	margin-bottom: 30px;
	color: var(--muted-strong);
	font-size: 18px;
	line-height: 1.7;
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 26px;
}

.hero-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--muted-strong);
	font-size: 13px;
}

.hero-facts li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.hero-facts li::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pink);
	box-shadow: 0 0 14px var(--pink);
}

.hero-art {
	position: relative;
	justify-self: end;
	width: min(100%, 650px);
	margin: 0 -18px 0 -34px;
}

.hero-art picture {
	display: block;
}

.hero-art img {
	width: 100%;
	height: auto;
}

.hero-orbit-nav {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.hero-orbit-marker {
	position: absolute;
	top: 1.5%;
	right: 20.5%;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border: 2px solid rgba(118, 213, 255, 0.72);
	border-radius: 50%;
	background: linear-gradient(135deg, var(--pink) 0%, #b75de5 58%, var(--blue) 100%);
	box-shadow: 0 0 28px rgba(225, 75, 168, 0.34);
	color: #fff;
}

.hero-orbit-marker .material-symbols-outlined {
	font-size: 31px;
	font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 32;
}

.hero-orbit-link {
	position: absolute;
	right: -2px;
	display: grid;
	grid-template-columns: 44px auto;
	align-items: center;
	gap: 11px;
	min-width: 142px;
	color: var(--text);
	font-size: 13px;
	transform: translateY(-50%);
	transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), color 180ms ease;
	pointer-events: auto;
}

.hero-orbit-link > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(216, 228, 245, 0.58);
	border-radius: 50%;
	background: rgba(3, 8, 15, 0.9);
	color: var(--text);
	font-size: 21px;
	transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-orbit-link strong {
	font-weight: 750;
	transition: color 180ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-orbit-link:hover,
.hero-orbit-link:focus-visible {
	color: var(--blue-soft);
	transform: translate(-10px, -50%);
}

.hero-orbit-link:hover > span,
.hero-orbit-link:focus-visible > span {
	border-color: var(--blue);
	background: rgba(10, 25, 42, 0.96);
	box-shadow: 0 0 24px rgba(57, 189, 245, 0.38), 0 0 18px rgba(225, 75, 168, 0.22) inset;
	transform: rotate(-7deg) scale(1.08);
}

.hero-orbit-link:hover strong,
.hero-orbit-link:focus-visible strong {
	transform: translateX(3px);
}

.hero-orbit-services { top: 13%; }
.hero-orbit-projects { top: 31.5%; }
.hero-orbit-process { top: 50%; }
.hero-orbit-about { top: 68.5%; }
.hero-orbit-contact { top: 87%; }

.hero-orbit-link:focus-visible {
	outline: 2px solid var(--blue);
	outline-offset: 5px;
	border-radius: 999px;
}

.proof-section,
.offer-section,
.portfolio-section,
.process-section,
.seo-section,
.faq-section,
.contact-section {
	padding: 24px 0;
}

.proof-panel,
.offer-band,
.contact-panel {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
}

.proof-panel {
	padding: 26px 28px 28px;
}

.section-intro {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 25px;
}

.section-intro .kicker,
.section-heading .kicker,
.offer-summary .kicker,
.seo-heading .kicker,
.contact-panel .kicker {
	margin-bottom: 9px;
}

.section-intro h2,
.section-heading h2,
.seo-heading h2,
.contact-panel h2 {
	margin-bottom: 0;
	font-size: clamp(30px, 3.1vw, 48px);
	line-height: 1.08;
	letter-spacing: -0.045em;
}

.proof-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.proof-item {
	display: grid;
	grid-template-columns: 38px 1fr;
	grid-template-rows: auto auto;
	column-gap: 14px;
	row-gap: 5px;
	padding: 0 24px;
}

.proof-item + .proof-item {
	border-left: 1px solid var(--line);
}

.proof-item > .material-symbols-outlined {
	grid-row: 1 / 3;
	margin: 2px 0 0;
	color: var(--pink-bright);
	font-size: 30px;
}

.proof-item:nth-child(2) > .material-symbols-outlined,
.proof-item:nth-child(3) > .material-symbols-outlined {
	color: var(--blue-soft);
}

.proof-item h3 {
	margin: 0;
	font-size: 16px;
}

.proof-item p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}

.offer-section {
	padding-top: 20px;
}

.offer-band {
	display: grid;
	grid-template-columns: 0.9fr 1.2fr 0.8fr;
	align-items: center;
	border-color: rgba(57, 189, 245, 0.52);
	box-shadow: inset 4px 0 0 var(--pink), inset -4px 0 0 var(--blue);
}

.offer-summary,
.offer-action {
	padding: 30px 34px;
}

.offer-summary {
	border-right: 1px solid var(--line);
}

.offer-summary h2 {
	margin-bottom: 2px;
	font-size: clamp(36px, 4vw, 56px);
	line-height: 1;
	letter-spacing: -0.055em;
}

.offer-summary > p:last-child,
.offer-action p {
	margin-bottom: 0;
	color: var(--muted);
}

.offer-price {
	margin-bottom: 15px;
	font-size: 28px;
}

.offer-price strong {
	color: var(--pink-bright);
	font-size: 43px;
	letter-spacing: -0.04em;
}

.check-list {
	display: grid;
	gap: 11px;
	margin: 0;
	padding: 28px 38px;
	list-style: none;
}

.check-list li {
	display: flex;
	align-items: center;
	gap: 11px;
	color: var(--muted-strong);
	font-size: 14px;
}

.check-list .material-symbols-outlined {
	color: var(--blue-soft);
	font-size: 18px;
}

.offer-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	border-left: 1px solid var(--line);
	text-align: center;
}

.portfolio-section {
	padding-top: 38px;
}

.section-heading {
	display: block;
	align-items: end;
	margin-bottom: 24px;
}

.section-heading > p {
	margin: 0;
	color: var(--muted);
}

.projects-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.project-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

a.project-card:hover {
	transform: translateY(-7px);
	border-color: rgba(57, 189, 245, 0.5);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.33);
}

.project-visual {
	aspect-ratio: 1.62 / 1;
	overflow: hidden;
	border-bottom: 1px solid var(--line);
	background: #e7edf5;
}

.project-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 300ms ease;
}

a.project-card:hover .project-visual img {
	transform: scale(1.025);
}

.project-copy {
	display: block;
	padding: 20px 22px 22px;
}

.project-label {
	margin-bottom: 5px !important;
	color: var(--blue-soft) !important;
	font-size: 10px !important;
	font-weight: 800;
	letter-spacing: 0.11em;
}

.project-copy h3 {
	margin-bottom: 7px;
	font-size: 23px;
	letter-spacing: -0.03em;
}

.project-copy p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}

.project-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 15px;
	color: var(--blue-soft);
	font-size: 14px;
	font-weight: 750;
}

.project-link .material-symbols-outlined {
	font-size: 18px;
	transition: transform 180ms ease;
}

.project-link-muted {
	color: var(--muted-strong);
}

a.project-card:hover .project-link .material-symbols-outlined {
	transform: translateX(4px);
}

.process-section {
	padding-top: 38px;
}

.process-section .section-intro {
	display: block;
	margin-bottom: 28px;
}

.process-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.process-grid::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--pink), var(--purple) 52%, var(--blue));
	box-shadow: 0 0 20px rgba(157, 92, 255, 0.3);
}

.process-step {
	position: relative;
	display: grid;
	grid-template-columns: 38px 1fr;
	grid-template-rows: auto auto;
	column-gap: 14px;
	row-gap: 5px;
	min-height: 205px;
	padding: 54px 26px 10px;
}

.process-step + .process-step {
	border-left: 0;
}

.step-number {
	position: absolute;
	top: -24px;
	left: calc(50% - 25px);
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border: 2px solid var(--pink);
	border-radius: 50%;
	background: var(--bg);
	font-size: 18px;
	font-weight: 800;
}

.process-step:nth-child(even) .step-number {
	border-color: var(--blue);
}

.process-step > i {
	grid-row: 1 / 3;
	margin: 2px 0 0;
	color: var(--pink-bright);
	font-size: 29px;
}

.process-step:nth-child(even) > i {
	color: var(--blue-soft);
}

.process-step h3 {
	margin: 0;
	font-size: 17px;
}

.process-step p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}

.seo-section {
	padding: 65px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	background: #070d17;
}

.seo-layout {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: 60px;
	align-items: start;
}

.seo-heading h2 {
	margin-bottom: 18px;
}

.seo-heading > p:last-child {
	margin: 0;
	color: var(--muted);
}

.seo-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
}

.seo-grid article {
	padding: 28px;
}

.seo-grid article + article {
	border-left: 1px solid var(--line);
}

.seo-grid .material-symbols-outlined {
	margin-bottom: 20px;
	color: var(--blue-soft);
	font-size: 29px;
}

.seo-grid h3 {
	margin-bottom: 8px;
	font-size: 16px;
}

.seo-grid p {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
}

.faq-section {
	padding: 70px 0 42px;
}

.faq-layout {
	display: grid;
	grid-template-columns: 0.72fr 1.28fr;
	align-items: start;
	gap: 70px;
}

.faq-layout .section-intro {
	display: block;
	position: sticky;
	top: 120px;
}

.faq-list {
	display: grid;
	gap: 12px;
}

.faq-list details {
	border: 1px solid var(--line);
	border-radius: 14px;
	background: var(--surface);
	transition: border-color 180ms ease, background-color 180ms ease;
}

.faq-list details[open] {
	border-color: rgba(57, 189, 245, 0.45);
	background: var(--surface-raised);
}

.faq-list summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 24px;
	cursor: pointer;
	font-size: 17px;
	font-weight: 750;
	list-style: none;
}

.faq-list summary::-webkit-details-marker {
	display: none;
}

.faq-list summary .material-symbols-outlined {
	flex: 0 0 auto;
	color: var(--blue-soft);
	transition: transform 180ms ease;
}

.faq-list details[open] summary .material-symbols-outlined {
	transform: rotate(45deg);
}

.faq-list details p {
	margin: 0;
	padding: 0 24px 22px;
	color: var(--muted-strong);
}

.contact-section {
	padding: 38px 0 30px;
}

.contact-panel {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	align-items: center;
	gap: 48px;
	padding: 32px 38px;
	border-color: rgba(225, 75, 168, 0.45);
}

.contact-panel > div:first-child > p:last-child {
	margin: 15px 0 0;
	color: var(--muted);
}

.contact-options {
	display: grid;
	gap: 0;
	overflow: hidden;
	border: 1px solid rgba(57, 189, 245, 0.58);
	border-radius: 14px;
}

.contact-option {
	display: grid;
	grid-template-columns: 46px 1fr auto;
	align-items: center;
	gap: 14px;
	min-height: 82px;
	padding: 14px 20px;
	border: 0;
	border-radius: 0;
	background: rgba(5, 9, 18, 0.62);
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.contact-option:hover {
	transform: none;
	background: var(--surface-raised);
}

.contact-whatsapp {
	border-bottom: 1px solid var(--line);
}

.contact-whatsapp > .material-symbols-outlined {
	color: var(--green);
}

.contact-option > span:nth-child(2) {
	display: grid;
}

.contact-option small {
	color: var(--muted);
}

.contact-option b {
	color: var(--blue-soft);
	font-size: clamp(19px, 2.3vw, 30px);
}

.contact-whatsapp b {
	padding: 13px 22px;
	border: 1px solid rgba(118, 213, 255, 0.55);
	border-radius: 9px;
	background: linear-gradient(100deg, var(--pink) 0%, #be61e7 58%, var(--blue) 100%);
	color: #fff;
	font-size: 14px;
}

.contact-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
	color: var(--muted-strong);
	font-size: 12px;
}

.contact-trust li {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.contact-trust .material-symbols-outlined {
	color: var(--purple);
	font-size: 19px;
}

.site-footer {
	padding: 30px 0 22px;
	border-top: 1px solid var(--line);
	background: var(--bg-deep);
}

.footer-main {
	display: grid;
	grid-template-columns: 1.5fr 0.65fr 0.9fr;
	align-items: start;
	gap: 58px;
	padding-bottom: 28px;
}

.footer-brand {
	align-self: start;
}

.footer-brand-block p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}

.footer-brand-block {
	display: grid;
	gap: 14px;
}

.footer-nav,
.footer-legal {
	display: grid;
	gap: 8px;
}

.footer-nav > strong,
.footer-legal > strong {
	margin-bottom: 3px;
	font-size: 14px;
}

.footer-nav a,
.footer-legal a,
.footer-legal button {
	width: fit-content;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--muted-strong);
	font-size: 14px;
	cursor: pointer;
}

.footer-nav a:hover,
.footer-legal a:hover,
.footer-legal button:hover {
	color: var(--blue-soft);
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--line);
	color: var(--muted);
	font-size: 12px;
}

.footer-bottom p {
	margin: 0;
}

.contact-modal[hidden],
.cookie-preferences[hidden],
.cookie-consent[hidden] {
	display: none;
}

.contact-modal,
.cookie-preferences {
	position: fixed;
	inset: 0;
	z-index: 3000;
	display: grid;
	place-items: center;
	padding: 22px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 180ms ease;
}

.contact-modal.is-open,
.cookie-preferences.is-open {
	opacity: 1;
	pointer-events: auto;
}

.modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 3, 8, 0.82);
	backdrop-filter: blur(14px);
}

.modal-dialog,
.cookie-dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 650px);
	max-height: min(90vh, 820px);
	padding: 36px;
	overflow-y: auto;
	border: 1px solid var(--line-strong);
	border-radius: 22px;
	background: var(--surface);
	box-shadow: var(--shadow);
	transform: translateY(18px) scale(0.98);
	transition: transform 180ms ease;
}

.contact-modal.is-open .modal-dialog,
.cookie-preferences.is-open .cookie-dialog {
	transform: translateY(0) scale(1);
}

.modal-dialog h2,
.cookie-dialog h2 {
	margin-bottom: 12px;
	font-size: clamp(30px, 4vw, 44px);
	line-height: 1.06;
	letter-spacing: -0.045em;
}

.modal-dialog > p:not(.kicker),
.cookie-dialog > p:not(.kicker) {
	color: var(--muted);
}

.modal-dialog > p a {
	color: var(--blue-soft);
	font-weight: 800;
}

.modal-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 42px;
	height: 42px;
}

.contact-form {
	display: grid;
	gap: 16px;
	margin-top: 24px;
}

.contact-form label {
	display: grid;
	gap: 7px;
	font-size: 13px;
	font-weight: 700;
}

.contact-form label > span {
	color: var(--muted);
	font-weight: 500;
}

.form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.contact-form input:not([type="checkbox"]),
.contact-form textarea {
	width: 100%;
	border: 1px solid var(--line-strong);
	border-radius: 10px;
	background: var(--bg);
	color: var(--text);
	outline: none;
}

.contact-form input:not([type="checkbox"]) {
	height: 48px;
	padding: 0 14px;
}

.contact-form textarea {
	padding: 13px 14px;
	resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(57, 189, 245, 0.12);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: #637083;
}

.contact-form .consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--muted-strong);
	font-weight: 500;
}

.contact-form .consent input {
	margin-top: 4px;
}

.honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.cookie-consent {
	position: fixed;
	left: 24px;
	bottom: 24px;
	z-index: 2500;
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 14px 16px;
	width: min(calc(100% - 48px), 400px);
	padding: 15px;
	border: 1px solid rgba(57, 189, 245, 0.5);
	border-radius: 22px;
	background: rgba(8, 17, 29, 0.96);
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.55), inset 3px 0 0 var(--pink);
	backdrop-filter: blur(18px);
	opacity: 0;
	transform: translateY(25px) scale(0.98);
	transition: opacity 220ms ease, transform 220ms ease;
}

.cookie-consent.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.cookie-icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	color: var(--blue-soft);
	background: var(--surface-raised);
}

.cookie-copy h2 {
	margin-bottom: 5px;
	font-size: 15px;
}

.cookie-copy p {
	margin: 0;
	color: var(--muted);
	font-size: 11px;
}

.cookie-actions {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9px;
}

.cookie-actions .button {
	min-height: 37px;
	padding-inline: 12px;
	font-size: 12px;
}

.button-cookie-quiet {
	border-color: var(--line-strong);
	background: var(--surface-raised);
}

.cookie-settings-link {
	grid-column: 1 / -1;
	justify-self: center;
	padding: 2px 8px;
	border: 0;
	background: transparent;
	color: var(--muted-strong);
	font-size: 12px;
	text-decoration: underline;
	cursor: pointer;
}

.cookie-dialog {
	width: min(100%, 620px);
}

.cookie-choice {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 18px;
	padding: 18px 0;
	border-top: 1px solid var(--line);
}

.cookie-choice > div {
	display: grid;
	gap: 4px;
}

.cookie-choice span {
	color: var(--muted);
	font-size: 13px;
}

.switch {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--muted-strong);
	font-size: 12px;
}

.switch input {
	width: 20px;
	height: 20px;
	accent-color: var(--pink);
}

.form-toast {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 3200;
	max-width: 430px;
	padding: 15px 18px;
	border-radius: 11px;
	background: var(--surface-raised);
	box-shadow: var(--shadow);
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 180ms ease, transform 180ms ease;
}

.form-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.form-toast.is-success { border: 1px solid var(--green); }
.form-toast.is-error { border: 1px solid var(--danger); }

.simple-page {
	min-height: 60vh;
	padding: 90px 0;
}

.prose {
	max-width: 780px;
}

.prose h1 {
	font-size: clamp(38px, 5vw, 64px);
	letter-spacing: -0.05em;
}

.offer-guide-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--blue-soft);
	font-size: 13px;
	font-weight: 700;
}

.offer-guide-link .material-symbols-outlined {
	font-size: 18px;
	transition: transform 160ms ease;
}

.offer-guide-link:hover .material-symbols-outlined {
	transform: translateX(4px);
}

.pricing-page {
	overflow: hidden;
}

.pricing-hero {
	position: relative;
	padding: 64px 0 68px;
	background:
		radial-gradient(circle at 80% 25%, rgba(57, 189, 245, 0.12), transparent 30%),
		radial-gradient(circle at 66% 65%, rgba(225, 75, 168, 0.11), transparent 34%),
		var(--bg);
}

.pricing-hero::after {
	position: absolute;
	inset: auto 0 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(225, 75, 168, 0.75), rgba(57, 189, 245, 0.75), transparent);
	content: "";
}

.pricing-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 42px;
	color: var(--muted);
	font-size: 13px;
}

.pricing-breadcrumbs a:hover {
	color: var(--blue-soft);
}

.pricing-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr);
	align-items: center;
	gap: clamp(46px, 7vw, 106px);
}

.pricing-hero-copy {
	max-width: 780px;
}

.pricing-hero h1 {
	max-width: 770px;
	margin-bottom: 25px;
	font-size: clamp(48px, 6vw, 79px);
	line-height: 0.99;
	letter-spacing: -0.055em;
}

.pricing-intro {
	max-width: 720px;
	margin-bottom: 31px;
	color: var(--muted-strong);
	font-size: clamp(17px, 1.5vw, 20px);
}

.pricing-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 13px 26px;
	margin: 31px 0 0;
	padding: 0;
	list-style: none;
	color: var(--muted-strong);
	font-size: 13px;
}

.pricing-trust li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.pricing-trust .material-symbols-outlined {
	color: var(--blue-soft);
	font-size: 19px;
}

.pricing-offer-card {
	position: relative;
	display: grid;
	gap: 18px;
	padding: clamp(28px, 4vw, 45px);
	border: 1px solid transparent;
	border-radius: 24px;
	background:
		linear-gradient(var(--surface), var(--surface)) padding-box,
		linear-gradient(135deg, var(--pink), var(--purple), var(--blue)) border-box;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.42), 0 0 56px rgba(57, 189, 245, 0.08);
}

.pricing-offer-card::before {
	position: absolute;
	top: -70px;
	right: -70px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(157, 92, 255, 0.14);
	filter: blur(45px);
	content: "";
	pointer-events: none;
}

.pricing-offer-card h2 {
	margin-bottom: 0;
	font-size: clamp(30px, 3.4vw, 43px);
	letter-spacing: -0.04em;
}

.pricing-offer-price {
	display: flex;
	align-items: baseline;
	gap: 11px;
	margin: 0;
	color: var(--muted-strong);
}

.pricing-offer-price strong {
	background: linear-gradient(90deg, var(--pink-bright), var(--blue-soft));
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	font-size: clamp(44px, 5vw, 65px);
	line-height: 1;
	letter-spacing: -0.06em;
}

.pricing-offer-card .check-list {
	display: grid;
	gap: 12px;
	margin: 3px 0;
	padding: 0;
	border: 0;
}

.pricing-offer-card .button {
	width: 100%;
}

.pricing-offer-card small {
	color: var(--muted);
	font-size: 12px;
}

.pricing-details,
.pricing-factors,
.pricing-choice,
.pricing-faq,
.pricing-cta {
	padding-block: 62px;
}

.pricing-details-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(8, 17, 29, 0.72);
	overflow: hidden;
}

.pricing-detail-card {
	padding: 34px;
}

.pricing-detail-card + .pricing-detail-card {
	border-left: 1px solid var(--line);
}

.pricing-detail-card > .material-symbols-outlined {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 22px;
	border: 1px solid rgba(118, 213, 255, 0.35);
	border-radius: 14px;
	background: rgba(57, 189, 245, 0.08);
	color: var(--blue-soft);
}

.pricing-detail-card h3 {
	margin-bottom: 10px;
	font-size: 21px;
}

.pricing-detail-card p,
.pricing-factors-grid > div > p,
.pricing-faq-layout > div > p {
	margin-bottom: 0;
	color: var(--muted);
}

.pricing-factors-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	align-items: start;
	gap: clamp(45px, 7vw, 100px);
}

.pricing-factors h2,
.pricing-choice h2,
.pricing-faq h2,
.pricing-cta h2 {
	font-size: clamp(35px, 4.2vw, 58px);
	line-height: 1.05;
	letter-spacing: -0.045em;
}

.pricing-factor-list {
	display: grid;
	margin: 0;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	list-style: none;
}

.pricing-factor-list li {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 18px;
	padding: 24px 27px;
}

.pricing-factor-list li + li {
	border-top: 1px solid var(--line);
}

.pricing-factor-list li > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: linear-gradient(135deg, rgba(225, 75, 168, 0.18), rgba(57, 189, 245, 0.18));
	color: var(--blue-soft);
	font-weight: 800;
}

.pricing-factor-list div {
	display: grid;
	gap: 4px;
}

.pricing-factor-list small {
	color: var(--muted);
}

.pricing-choice-panel {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(40px, 7vw, 90px);
	padding: clamp(30px, 5vw, 62px);
	border: 1px solid var(--line);
	border-radius: 24px;
	background:
		linear-gradient(125deg, rgba(225, 75, 168, 0.08), transparent 35%),
		linear-gradient(305deg, rgba(57, 189, 245, 0.08), transparent 40%),
		var(--surface);
}

.pricing-choice-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 35px;
}

.pricing-choice-columns > div {
	padding-left: 24px;
	border-left: 1px solid var(--line-strong);
}

.pricing-choice-columns strong {
	color: var(--blue-soft);
}

.pricing-choice-columns ul {
	display: grid;
	gap: 9px;
	margin: 17px 0 0;
	padding-left: 18px;
	color: var(--muted-strong);
}

.pricing-faq-layout {
	display: grid;
	grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
	align-items: start;
	gap: clamp(40px, 7vw, 92px);
}

.pricing-faq-layout > div:first-child {
	position: sticky;
	top: 120px;
}

.pricing-faq-list {
	display: grid;
	gap: 12px;
}

.pricing-faq-item {
	border: 1px solid var(--line);
	border-radius: 14px;
	background: var(--surface);
	overflow: hidden;
}

.pricing-faq-item summary {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 16px;
	padding: 22px 24px;
	font-weight: 750;
	cursor: pointer;
	list-style: none;
}

.pricing-faq-item summary::-webkit-details-marker {
	display: none;
}

.pricing-faq-item summary .material-symbols-outlined {
	color: var(--blue-soft);
	transition: transform 180ms ease;
}

.pricing-faq-item[open] summary .material-symbols-outlined {
	transform: rotate(45deg);
}

.pricing-faq-item p {
	margin: 0;
	padding: 0 24px 24px;
	color: var(--muted);
}

.pricing-cta-panel {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 40px;
	padding: clamp(30px, 5vw, 58px);
	border: 1px solid transparent;
	border-radius: 24px;
	background:
		linear-gradient(var(--surface), var(--surface)) padding-box,
		linear-gradient(90deg, var(--pink), var(--purple), var(--blue)) border-box;
}

.pricing-cta-panel h2 {
	max-width: 820px;
	margin-bottom: 0;
}

.pricing-cta-actions {
	display: grid;
	gap: 12px;
	min-width: 220px;
}

[data-reveal] {
	opacity: 1;
	transform: none;
	transition: opacity 620ms ease, transform 620ms ease;
}

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

@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
	[data-reveal] {
		opacity: 0;
		transform: translateY(24px);
	}

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

	.hero-copy[data-reveal] {
		transition-delay: 80ms;
	}

}

@media (max-width: 1240px) {
	.desktop-nav { gap: 17px; padding-inline: 18px; }
	.desktop-nav a { font-size: 13px; }
	.header-whatsapp span:last-child { display: none; }
	.header-whatsapp { width: 42px; padding: 0; justify-content: center; }
}

@media (max-width: 1120px) {
	:root { --shell: 980px; }
	.header-offer { padding-inline: 15px; }
	.language-switch a { min-width: 31px; }
	.hero-grid { grid-template-columns: 0.98fr 1.02fr; }
	.hero-art { margin-inline: -28px -6px; }
	.hero-orbit-link { min-width: 128px; gap: 8px; font-size: 12px; }
	.hero-orbit-link > span { width: 40px; height: 40px; font-size: 19px; }
	.hero h1 { font-size: clamp(44px, 5.4vw, 63px); }
	.proof-item { padding-inline: 18px; }
	.offer-summary, .offer-action { padding: 28px; }
	.check-list { padding-inline: 28px; }
	.seo-layout { grid-template-columns: 1fr; gap: 30px; }
	.pricing-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(340px, 0.72fr); gap: 45px; }
}

@media (max-width: 900px) {
	.shell { width: min(calc(100% - 38px), var(--shell)); }
	.header-inner { min-height: 76px; }
	.desktop-nav,
	.header-whatsapp,
	.language-switch { display: none; }
	.header-actions .menu-toggle { display: inline-grid; }
	.orbit-menu { display: grid; }
	.hero { padding-top: 48px; }
	.hero-grid { grid-template-columns: 1fr; gap: 12px; min-height: 0; }
	.hero-copy { max-width: 700px; }
	.hero-art { display: none; }
	.proof-grid { grid-template-columns: 1fr 1fr; }
	.proof-item:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
	.proof-item:nth-child(4) { border-top: 1px solid var(--line); }
	.offer-band { grid-template-columns: 1fr 1fr; }
	.offer-summary { border-right: 1px solid var(--line); }
	.offer-action { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
	.projects-grid { grid-template-columns: 1fr 1fr; }
	.project-card:last-child { grid-column: 1 / -1; }
	.process-grid { grid-template-columns: 1fr 1fr; border-top: 0; gap: 18px; }
	.process-grid::before { display: none; }
	.process-step { min-height: auto; padding: 60px 26px 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
	.process-step + .process-step { border-left: 1px solid var(--line); }
	.step-number { top: 18px; left: 24px; width: 36px; height: 36px; }
	.contact-panel { grid-template-columns: 1fr; gap: 28px; }
	.faq-layout { grid-template-columns: 1fr; gap: 28px; }
	.faq-layout .section-intro { position: static; }
	.footer-main { grid-template-columns: 1fr 1fr; }
	.pricing-hero-grid,
	.pricing-factors-grid,
	.pricing-choice-panel,
	.pricing-faq-layout,
	.pricing-cta-panel { grid-template-columns: 1fr; }
	.pricing-hero-copy { max-width: 800px; }
	.pricing-offer-card { max-width: 680px; }
	.pricing-faq-layout > div:first-child { position: static; }
	.pricing-cta-actions { grid-template-columns: 1fr 1fr; width: 100%; }
	.orbit-menu-panel { height: min(100%, 760px); }
	.orbit-link-services { top: 7%; right: 5%; }
	.orbit-link-projects { top: 26%; right: 0; }
	.orbit-link-process { top: 45%; right: 0; }
	.orbit-link-about { top: 64%; right: 0; }
	.orbit-link-contact { top: 82%; right: 5%; }
}

@media (min-width: 901px) {
	.orbit-menu { display: none !important; }
}

@media (max-width: 700px) {
	.shell { width: min(calc(100% - 28px), var(--shell)); }
	.header-offer { display: none; }
	.brand { font-size: 16px; }
	.brand img { width: 38px; height: 38px; }
	.menu-toggle { width: 44px; height: 44px; }
	.hero { padding: 38px 0 35px; }
	.hero-copy { padding-left: 0; }
	.eyebrow-outline { margin-bottom: 20px; }
	.hero h1 { font-size: clamp(41px, 12vw, 58px); }
	.hero-lead { font-size: 16px; }
	.hero-actions .button { width: 100%; }
	.hero-facts { gap: 10px 20px; }
	.proof-section, .offer-section, .portfolio-section, .process-section, .seo-section, .faq-section, .contact-section { padding-block: 27px; }
	.proof-panel { padding: 22px; }
	.section-intro { display: block; }
	.proof-grid { grid-template-columns: 1fr; }
	.proof-item { padding: 22px 5px; }
	.proof-item + .proof-item { border-left: 0; border-top: 1px solid var(--line); }
	.offer-band { grid-template-columns: 1fr; }
	.offer-summary, .offer-action { padding: 26px 24px; }
	.offer-summary { border-right: 0; }
	.check-list { padding: 25px 24px; border-top: 1px solid var(--line); }
	.offer-action { grid-column: auto; }
	.section-heading { grid-template-columns: 1fr; gap: 18px; }
	.projects-grid { grid-template-columns: 1fr; }
	.project-card:last-child { grid-column: auto; }
	.process-grid { grid-template-columns: 1fr; }
	.seo-section { padding-block: 50px; }
	.seo-grid { grid-template-columns: 1fr; }
	.seo-grid article + article { border-left: 0; border-top: 1px solid var(--line); }
	.faq-list summary { padding: 19px 18px; font-size: 16px; }
	.faq-list details p { padding: 0 18px 19px; }
	.contact-panel { padding: 25px; }
	.contact-option { grid-template-columns: 42px 1fr; }
	.contact-option b, .contact-option > i { grid-column: 2; }
	.contact-trust { grid-template-columns: 1fr; justify-items: start; }
	.contact-trust li { justify-content: flex-start; }
	.footer-main { grid-template-columns: 1fr; gap: 23px; }
	.footer-bottom { display: grid; }
	.orbit-menu { padding: 8px; }
	.orbit-menu-panel { height: 100%; padding: 18px; border-radius: 20px; }
	.orbit-menu-content { min-height: 430px; }
	.orbit-links { position: relative; display: grid; align-content: center; gap: 8px; padding-top: 30px; }
	.orbit-link { position: static; grid-template-columns: 32px 42px auto; width: 100%; min-width: 0; }
	.orbit-link:hover { transform: translateX(5px); }
	.orbit-menu-footer { align-items: flex-start; flex-wrap: wrap; }
	.orbit-menu-footer p { width: 100%; }
	.cookie-consent { left: 12px; bottom: 12px; width: calc(100% - 24px); }
	.modal-dialog, .cookie-dialog { padding: 28px 20px 22px; }
	.form-row { grid-template-columns: 1fr; }
	.pricing-hero { padding: 35px 0 42px; }
	.pricing-breadcrumbs { margin-bottom: 28px; }
	.pricing-hero h1 { font-size: clamp(39px, 11vw, 57px); }
	.pricing-details,
	.pricing-factors,
	.pricing-choice,
	.pricing-faq,
	.pricing-cta { padding-block: 35px; }
	.pricing-details-grid,
	.pricing-choice-columns { grid-template-columns: 1fr; }
	.pricing-detail-card + .pricing-detail-card { border-left: 0; border-top: 1px solid var(--line); }
	.pricing-choice-columns > div { padding-left: 19px; }
	.pricing-cta-actions { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
	.hero h1 br { display: none; }
	.hero-facts { display: grid; }
	.offer-price strong { font-size: 37px; }
	.project-copy { padding: 19px; }
	.contact-option b { font-size: 20px; }
	.cookie-consent { grid-template-columns: 46px 1fr; padding: 15px; }
	.cookie-icon { width: 46px; height: 46px; }
}

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