.brandonic-webdev-page {
	--accent: #c8ff00;
	--webdev-bg: #050505;
	--webdev-panel: rgba(255, 255, 255, 0.055);
	--webdev-line: rgba(255, 255, 255, 0.13);
	--webdev-muted: rgba(255, 255, 255, 0.68);
	background: var(--webdev-bg);
	color: #f7f7f2;
	font-family: var(--font-body);
	overflow: hidden;
	position: relative;
}

.brandonic-webdev-page :where(section) {
	position: relative;
}

.brandonic-webdev-page :where(h1, h2, h3) {
	color: #f7f7f2;
	font-family: var(--font-display);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 0.98;
	margin: 0;
}

.brandonic-webdev-page :where(p) {
	margin: 0;
}

.brandonic-webdev-page a:hover,
.brandonic-webdev-page a:focus-visible {
	color: #fff;
}

.webdev-eyebrow {
	align-items: center;
	color: var(--accent);
	display: inline-flex;
	font-family: var(--font-ui);
	font-size: 12px;
	font-weight: 700;
	gap: 12px;
	letter-spacing: 0.26em;
	line-height: 1.2;
	text-transform: uppercase;
}

.webdev-eyebrow span {
	background: var(--accent);
	border-radius: 999px;
	box-shadow: 0 0 20px rgba(200, 255, 0, 0.44);
	display: block;
	height: 10px;
	width: 10px;
}

.webdev-hero {
	background:
		radial-gradient(circle at 80% 12%, rgba(200, 255, 0, 0.2), transparent 34%),
		radial-gradient(circle at 12% 80%, rgba(120, 241, 255, 0.08), transparent 30%),
		#050505;
	min-height: 100svh;
	padding: clamp(150px, 13vw, 190px) 6vw 90px;
}

.webdev-hero__grid,
.webdev-build::before,
.webdev-process::before,
.webdev-faq::before {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
	background-size: 84px 84px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.95), transparent 86%);
	pointer-events: none;
	position: absolute;
}

.webdev-hero__orb {
	border: 1px solid rgba(200, 255, 0, 0.18);
	border-radius: 999px;
	filter: blur(0.2px);
	height: 36vw;
	max-height: 540px;
	max-width: 540px;
	min-height: 260px;
	min-width: 260px;
	position: absolute;
	width: 36vw;
}

.webdev-hero__orb::before {
	border: 1px dashed rgba(200, 255, 0, 0.16);
	border-radius: inherit;
	content: "";
	inset: 11%;
	position: absolute;
}

.webdev-letter-glitch {
	border-radius: 999px;
	height: 86%;
	inset: 7%;
	mix-blend-mode: normal;
	opacity: 1;
	position: absolute;
	width: 86%;
}

.webdev-hero__orb--one {
	background: radial-gradient(circle, rgba(5, 5, 5, 0.88), rgba(5, 5, 5, 0.2) 72%, transparent);
	right: 6vw;
	top: 13vh;
}

.webdev-hero__orb--two {
	bottom: -12vh;
	left: -8vw;
	opacity: 0.48;
}

.webdev-hero__inner,
.webdev-build,
.webdev-included,
.webdev-process,
.webdev-devices,
.webdev-faq,
.webdev-cta {
	margin-inline: auto;
	width: min(1440px, calc(100vw - 72px));
}

.webdev-hero__inner {
	align-items: center;
	display: grid;
	gap: clamp(34px, 5vw, 90px);
	grid-template-columns: minmax(0, 0.96fr) minmax(420px, 0.84fr);
	position: relative;
	z-index: 1;
}

.webdev-hero__copy {
	display: grid;
	gap: clamp(24px, 2.5vw, 36px);
	max-width: 890px;
}

.webdev-hero h1 {
	font-size: clamp(46px, 5.35vw, 92px);
	max-width: 980px;
}

.webdev-hero__body {
	color: var(--webdev-muted);
	display: grid;
	font-size: clamp(16px, 1.15vw, 19px);
	gap: 18px;
	line-height: 1.78;
	max-width: 790px;
}

.webdev-hero__actions,
.webdev-cta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.webdev-button {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 800;
	gap: 12px;
	justify-content: center;
	letter-spacing: 0.01em;
	min-height: 58px;
	padding: 0 26px;
	transition: transform 0.28s ease, border-color 0.28s ease, background 0.28s ease, color 0.28s ease, box-shadow 0.28s ease;
}

.webdev-button--primary {
	background: var(--accent);
	border: 1px solid var(--accent);
	box-shadow: 0 18px 54px rgba(200, 255, 0, 0.2);
	color: #050505;
}

.webdev-button--primary:hover,
.webdev-button--primary:focus-visible {
	background: #050505;
	border-color: rgba(255, 255, 255, 0.88);
	box-shadow: 0 18px 54px rgba(0, 0, 0, 0.34);
	color: #fff;
}

.webdev-button--ghost {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--webdev-line);
	color: #fff;
}

.webdev-button:hover,
.webdev-button:focus-visible {
	transform: translateY(-3px);
}

.webdev-button__arrow {
	display: inline-flex;
	height: 18px;
	position: relative;
	transform: translateX(0);
	transition: transform 0.25s ease;
	width: 24px;
}

.webdev-button__arrow::before {
	background: currentColor;
	content: "";
	height: 2px;
	position: absolute;
	right: 1px;
	top: 8px;
	transform-origin: right center;
	width: 20px;
}

.webdev-button__arrow::after {
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: "";
	height: 9px;
	position: absolute;
	right: 1px;
	top: 4px;
	transform: rotate(45deg);
	width: 9px;
}

.webdev-button:hover .webdev-button__arrow,
.webdev-button:focus-visible .webdev-button__arrow {
	transform: translateX(5px);
}

.webdev-button--ghost:hover,
.webdev-button--ghost:focus-visible {
	border-color: rgba(200, 255, 0, 0.72);
	color: var(--accent);
}

.webdev-hero__visual {
	perspective: 1200px;
}

.webdev-browser {
	--morph-progress: 0;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 28px;
	box-shadow: 0 28px 110px rgba(0, 0, 0, 0.46);
	overflow: hidden;
	transform: rotateX(0deg) rotateY(-7deg);
	transform-style: preserve-3d;
}

.webdev-browser__top {
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	display: grid;
	gap: 8px;
	grid-template-columns: 10px 10px 10px 1fr;
	padding: 16px;
}

.webdev-browser__top span {
	background: rgba(255, 255, 255, 0.34);
	border-radius: 999px;
	height: 10px;
	width: 10px;
}

.webdev-browser__top span:first-child {
	background: var(--accent);
}

.webdev-browser__top p {
	background: rgba(0, 0, 0, 0.32);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.54);
	font-size: 11px;
	letter-spacing: 0.1em;
	overflow: hidden;
	padding: 7px 12px;
	text-overflow: ellipsis;
	text-transform: lowercase;
	white-space: nowrap;
}

.webdev-browser__stage {
	aspect-ratio: 1.22 / 1;
	background: #090909;
	overflow: hidden;
	position: relative;
}

.webdev-browser__stage img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	opacity: calc(0.2 + (var(--morph-progress) * 0.8));
	position: absolute;
	transform: scale(calc(1.08 - (var(--morph-progress) * 0.04)));
	transition: opacity 0.2s linear, transform 0.2s linear;
	width: 100%;
}

.webdev-curved-loop {
	align-items: center;
	background:
		radial-gradient(circle at 54% 44%, rgba(200, 255, 0, 0.1), transparent 42%),
		#050505;
	display: flex;
	justify-content: center;
	min-height: clamp(170px, 18vw, 280px);
	overflow: hidden;
	padding: clamp(28px, 4vw, 54px) 0;
	width: 100%;
}

.webdev-curved-loop__svg {
	display: block;
	fill: rgba(255, 255, 255, 0.9);
	font-family: var(--font-display);
	font-size: clamp(46px, 5.8vw, 86px);
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1;
	overflow: visible;
	text-transform: uppercase;
	user-select: none;
	width: min(1480px, 128vw);
}

.webdev-dome {
	align-items: center;
	background:
		radial-gradient(circle at 78% 52%, rgba(200, 255, 0, 0.08), transparent 34%),
		radial-gradient(circle at 50% 50%, rgba(200, 255, 0, 0.1), transparent 46%),
		#050505;
	display: grid;
	gap: clamp(32px, 5vw, 72px);
	grid-template-columns: minmax(300px, 0.56fr) minmax(0, 1fr);
	margin-inline: auto;
	min-height: clamp(620px, 76svh, 820px);
	overflow: hidden;
	padding: clamp(78px, 10vw, 130px) 6vw;
	position: relative;
	width: 100%;
}

.webdev-dome::before {
	background:
		radial-gradient(circle at 18% 18%, rgba(200, 255, 0, 0.68) 0 2px, transparent 3px),
		radial-gradient(circle at 34% 76%, rgba(255, 255, 255, 0.72) 0 1.5px, transparent 3px),
		radial-gradient(circle at 72% 28%, rgba(200, 255, 0, 0.55) 0 2px, transparent 3px),
		radial-gradient(circle at 88% 64%, rgba(255, 255, 255, 0.62) 0 1.5px, transparent 3px),
		radial-gradient(circle at 54% 46%, rgba(200, 255, 0, 0.46) 0 1.5px, transparent 3px),
		radial-gradient(circle at 92% 24%, rgba(200, 255, 0, 0.58) 0 2px, transparent 4px);
	content: "";
	inset: 0;
	mix-blend-mode: screen;
	opacity: 0.64;
	pointer-events: none;
	position: absolute;
	transform: translate3d(0, 0, 0);
	z-index: 1;
	animation: webdev-dome-particles 8s ease-in-out infinite alternate;
}

.webdev-dome__copy {
	display: grid;
	gap: 22px;
	max-width: 560px;
	position: relative;
	z-index: 6;
}

.webdev-dome__copy h2 {
	font-size: clamp(34px, 4vw, 68px);
}

.webdev-dome__copy p {
	color: var(--webdev-muted);
	font-size: clamp(16px, 1.15vw, 19px);
	line-height: 1.72;
}

.webdev-dome__image {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	isolation: isolate;
	margin: 0;
	min-height: clamp(420px, 58svh, 660px);
	overflow: visible;
	position: relative;
	z-index: 4;
}

.webdev-dome__image::before,
.webdev-dome__image::after {
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 2;
}

.webdev-dome__image::before {
	background:
		radial-gradient(circle at 11% 18%, rgba(200, 255, 0, 0.82) 0 2px, transparent 4px),
		radial-gradient(circle at 22% 68%, rgba(255, 255, 255, 0.72) 0 1.5px, transparent 4px),
		radial-gradient(circle at 36% 36%, rgba(200, 255, 0, 0.58) 0 1.5px, transparent 4px),
		radial-gradient(circle at 57% 15%, rgba(200, 255, 0, 0.68) 0 2px, transparent 4px),
		radial-gradient(circle at 82% 64%, rgba(255, 255, 255, 0.62) 0 1.5px, transparent 4px),
		radial-gradient(circle at 73% 88%, rgba(200, 255, 0, 0.58) 0 2px, transparent 4px),
		radial-gradient(circle at 95% 42%, rgba(255, 255, 255, 0.58) 0 1.5px, transparent 4px);
	inset: -8%;
	mix-blend-mode: screen;
	opacity: 0.96;
	z-index: 3;
	animation: webdev-dome-particles 7s ease-in-out infinite alternate-reverse;
}

.webdev-dome__image::after {
	display: none;
}

.webdev-dome__image img {
	display: block;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: center;
	opacity: 1;
	transform: scale(1.11) translate3d(0, -8px, 0);
	width: 100%;
	filter: saturate(0.92) contrast(0.96) brightness(0.72);
	mask-image: radial-gradient(ellipse at 54% 50%, #000 0 45%, rgba(0, 0, 0, 0.82) 62%, transparent 97%);
	-webkit-mask-image: radial-gradient(ellipse at 54% 50%, #000 0 45%, rgba(0, 0, 0, 0.82) 62%, transparent 97%);
}

.webdev-dome__image.is-visible img {
	animation: webdev-dome-image-float 9s ease-in-out infinite alternate;
}

@keyframes webdev-dome-image-float {
	to {
		transform: scale(1.14) translate3d(0, 8px, 0);
	}
}

@keyframes webdev-dome-particles {
	to {
		opacity: 0.72;
		transform: translate3d(12px, -14px, 0);
	}
}

.sphere-root {
	--radius: 520px;
	--viewer-pad: 72px;
	--circ: calc(var(--radius) * 3.14);
	--rot-y: calc((360deg / var(--segments-x)) / 2);
	--rot-x: calc((360deg / var(--segments-y)) / 2);
	--item-width: calc(var(--circ) / var(--segments-x));
	--item-height: calc(var(--circ) / var(--segments-y));
	height: min(620px, 72svh);
	position: relative;
	width: 100%;
}

.sphere-root * {
	box-sizing: border-box;
}

.sphere,
.item,
.item__image {
	transform-style: preserve-3d;
}

.sphere-main {
	background: transparent;
	display: grid;
	inset: 0;
	overflow: hidden;
	place-items: center;
	position: absolute;
	touch-action: none;
	user-select: none;
	-webkit-user-select: none;
}

.stage {
	contain: layout paint size;
	display: grid;
	height: 100%;
	perspective: calc(var(--radius) * 2);
	perspective-origin: 50% 50%;
	place-items: center;
	width: 100%;
}

.sphere {
	transform: translateZ(calc(var(--radius) * -1));
	will-change: transform;
}

.overlay,
.overlay--blur {
	inset: 0;
	margin: auto;
	pointer-events: none;
	position: absolute;
	z-index: 3;
}

.overlay {
	background-image: radial-gradient(rgba(235, 235, 235, 0) 62%, var(--webdev-bg) 100%);
}

.overlay--blur {
	-webkit-mask-image: radial-gradient(rgba(235, 235, 235, 0) 70%, var(--webdev-bg) 92%);
	backdrop-filter: blur(3px);
	mask-image: radial-gradient(rgba(235, 235, 235, 0) 70%, var(--webdev-bg) 92%);
}

.item {
	backface-visibility: hidden;
	bottom: -999px;
	height: calc(var(--item-height) * var(--item-size-y));
	left: -999px;
	margin: auto;
	position: absolute;
	right: -999px;
	top: -999px;
	transform:
		rotateY(calc(var(--rot-y) * (var(--offset-x) + ((var(--item-size-x) - 1) / 2)) + var(--rot-y-delta, 0deg)))
		rotateX(calc(var(--rot-x) * (var(--offset-y) - ((var(--item-size-y) - 1) / 2)) + var(--rot-x-delta, 0deg)))
		translateZ(var(--radius));
	transform-origin: 50% 50%;
	transition: transform 300ms;
	width: calc(var(--item-width) * var(--item-size-x));
}

.item__image {
	align-items: center;
	backface-visibility: hidden;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(200, 255, 0, 0.5);
	border-radius: 999px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.26);
	color: #111318;
	cursor: pointer;
	display: flex;
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 800;
	gap: 10px;
	inset: 10px;
	justify-content: center;
	overflow: hidden;
	padding: 12px 18px;
	pointer-events: auto;
	position: absolute;
	touch-action: manipulation;
	transform: translateZ(0);
	transition: transform 300ms, border-color 300ms, box-shadow 300ms;
	-webkit-tap-highlight-color: transparent;
	-webkit-transform: translateZ(0);
}

.item__image:hover,
.item__image:focus-visible {
	border-color: var(--accent);
	box-shadow: 0 20px 70px rgba(200, 255, 0, 0.18);
	transform: translateZ(16px) scale(1.04);
}

.item__image img {
	backface-visibility: hidden;
	height: 26px;
	object-fit: contain;
	pointer-events: none;
	width: 26px;
}

.edge-fade {
	background: linear-gradient(to bottom, transparent, var(--webdev-bg));
	height: 120px;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	z-index: 5;
}

.edge-fade--top {
	top: 0;
	transform: rotate(180deg);
}

.edge-fade--bottom {
	bottom: 0;
}

.webdev-wireframe {
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr 1fr;
	inset: 8%;
	opacity: calc(1 - var(--morph-progress));
	position: absolute;
	z-index: 2;
}

.webdev-wireframe i {
	background: rgba(255, 255, 255, 0.11);
	border: 1px solid rgba(200, 255, 0, 0.18);
	border-radius: 16px;
	min-height: 68px;
}

.webdev-wireframe i:nth-child(1),
.webdev-wireframe i:nth-child(4) {
	grid-column: 1 / -1;
}

.webdev-browser__metrics {
	background: rgba(5, 5, 5, 0.72);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, 1fr);
}

.webdev-browser__metrics div {
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	display: grid;
	gap: 3px;
	padding: 18px;
}

.webdev-browser__metrics div:last-child {
	border-right: 0;
}

.webdev-browser__metrics strong {
	color: var(--accent);
	font-family: var(--font-display);
	font-size: clamp(26px, 3vw, 42px);
	font-weight: 600;
	line-height: 1;
}

.webdev-browser__metrics span {
	color: rgba(255, 255, 255, 0.58);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.webdev-build,
.webdev-included,
.webdev-process,
.webdev-devices,
.webdev-faq,
.webdev-cta {
	padding: clamp(90px, 11vw, 150px) 0;
}

.webdev-section-head {
	display: grid;
	gap: 22px;
	max-width: 980px;
}

.webdev-section-head h2,
.webdev-included h2,
.webdev-devices h2,
.webdev-faq h2,
.webdev-cta h2 {
	font-size: clamp(34px, 4.8vw, 72px);
}

.webdev-build__grid {
	display: flex;
	gap: 14px;
	margin-top: 56px;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 14px 4px 22px;
	position: relative;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	z-index: 1;
}

.webdev-build__grid::-webkit-scrollbar,
.webdev-process__track::-webkit-scrollbar {
	display: none;
}

.webdev-build__slider-wrap,
.webdev-process__slider-wrap {
	position: relative;
}

.webdev-slider-arrow {
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 24px;
	height: 48px;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
	width: 48px;
	z-index: 5;
}

.webdev-slider-arrow--prev {
	left: -18px;
}

.webdev-slider-arrow--next {
	right: -18px;
}

.webdev-slider-arrow:hover,
.webdev-slider-arrow:focus-visible {
	background: var(--accent);
	border-color: var(--accent);
	color: #050505;
	transform: translateY(-50%) scale(1.04);
}

.webdev-card {
	background:
		radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(255, 255, 255, 0.2), transparent 62%),
		linear-gradient(145deg, rgba(200, 255, 0, 0.18), rgba(0, 0, 0, 0.94) 58%),
		#111;
	border: 1px solid #2d2d2d;
	border-radius: 20px;
	display: grid;
	flex: 0 0 calc((100% - 56px) / 5);
	gap: 18px;
	min-height: 300px;
	overflow: visible;
	padding: clamp(22px, 1.65vw, 28px);
	position: relative;
	scroll-snap-align: start;
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
	z-index: 1;
}

.webdev-card:hover {
	border-color: rgba(200, 255, 0, 0.5);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
	transform: translateY(-6px);
}

.webdev-card::before {
	background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(255, 255, 255, 0.28), transparent 70%);
	content: "";
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: opacity 0.45s ease;
	z-index: -1;
}

.webdev-card:hover::before {
	opacity: 1;
}

.webdev-electric-card::after {
	animation: webdev-electric-spin 4.6s linear infinite;
	background:
		conic-gradient(from var(--electric-angle, 0deg), transparent 0deg, rgba(200, 255, 0, 0.95) 48deg, rgba(255, 255, 255, 0.7) 58deg, transparent 104deg, transparent 360deg);
	border-radius: inherit;
	content: "";
	inset: -2px;
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	padding: 1px;
	pointer-events: none;
	position: absolute;
	z-index: 3;
}

.webdev-electric-glow {
	background: linear-gradient(-30deg, rgba(200, 255, 0, 0.45), transparent, rgba(255, 255, 255, 0.18));
	border-radius: inherit;
	filter: blur(28px);
	inset: -8px;
	opacity: 0.22;
	pointer-events: none;
	position: absolute;
	transform: scale(1.06);
	z-index: -2;
}

@property --electric-angle {
	syntax: "<angle>";
	inherits: false;
	initial-value: 0deg;
}

@keyframes webdev-electric-spin {
	to {
		--electric-angle: 360deg;
	}
}

.webdev-card span,
.webdev-process__step span {
	color: var(--accent);
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.15em;
}

.webdev-card h3,
.webdev-process__step h3 {
	font-size: clamp(21px, 1.55vw, 29px);
	line-height: 1.12;
}

.webdev-card p,
.webdev-process__step p,
.webdev-devices p,
.webdev-included__copy p,
.webdev-cta p {
	color: var(--webdev-muted);
	font-size: 16px;
	line-height: 1.7;
}

.webdev-included {
	align-items: start;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
	display: grid;
	gap: clamp(34px, 7vw, 110px);
	grid-template-columns: minmax(0, 0.86fr) minmax(460px, 1fr);
	padding-bottom: clamp(32px, 4vw, 58px);
}

.webdev-included__copy {
	display: grid;
	gap: 24px;
	position: sticky;
	top: 120px;
}

.webdev-text-link {
	align-items: center;
	color: #fff;
	display: inline-flex;
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 800;
	gap: 12px;
	letter-spacing: 0.13em;
	padding-bottom: 8px;
	position: relative;
	text-transform: uppercase;
	width: fit-content;
}

.webdev-text-link::after {
	background: var(--accent);
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transition: width 0.28s ease;
	width: 42%;
}

.webdev-text-link:hover::after {
	width: 100%;
}

.webdev-included__list {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
}

.webdev-included__list li {
	align-items: start;
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	color: rgba(255, 255, 255, 0.88);
	display: grid;
	font-size: clamp(19px, 2.1vw, 34px);
	font-weight: 500;
	gap: 22px;
	grid-template-columns: 52px 1fr;
	line-height: 1.18;
	padding: clamp(22px, 3vw, 40px) 0;
}

.webdev-included__list span {
	color: var(--accent);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.14em;
	padding-top: 0.32em;
}

.webdev-process {
	overflow: visible;
	padding-top: clamp(34px, 4.5vw, 64px);
}

.webdev-process__slider-wrap {
	margin-top: clamp(34px, 4vw, 52px);
}

.webdev-process__track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 2px 0 18px;
	position: relative;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	z-index: 1;
}

.webdev-process__step {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 22px;
	display: grid;
	flex: 0 0 calc((100% - 48px) / 4);
	gap: 22px;
	min-height: 280px;
	padding: 28px;
	scroll-snap-align: start;
}

.webdev-process__media {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 28px;
	margin: 32px 0 0;
	overflow: hidden;
}

.webdev-process__media img,
.webdev-process__media video {
	aspect-ratio: 16 / 7;
	display: block;
	object-fit: cover;
	width: 100%;
}

.webdev-process__media video {
	height: 100%;
	min-height: 360px;
}

.webdev-devices {
	align-items: center;
	display: grid;
	gap: clamp(42px, 8vw, 120px);
	grid-template-columns: 0.72fr 1fr;
}

.webdev-devices__copy {
	display: grid;
	gap: 24px;
}

.webdev-device-lab {
	min-height: 540px;
	position: relative;
}

.webdev-laptop,
.webdev-phone {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.38);
	overflow: hidden;
	position: absolute;
}

.webdev-laptop {
	aspect-ratio: 16 / 10;
	border-radius: 28px;
	inset: 0 0 auto auto;
	width: min(740px, 88%);
}

.webdev-phone {
	aspect-ratio: 9 / 16;
	border-radius: 36px;
	bottom: 0;
	left: 0;
	width: min(250px, 34%);
}

.webdev-laptop img,
.webdev-phone img {
	background: #050505;
	height: 100%;
	inset: 0;
	object-fit: contain;
	object-position: top center;
	opacity: 0;
	position: absolute;
	transition: opacity 0.8s ease, transform 1.2s ease;
	width: 100%;
}

.webdev-laptop img.is-active,
.webdev-phone img.is-active {
	opacity: 1;
	transform: scale(1);
}

.webdev-laptop img {
	object-fit: contain;
}

.webdev-phone img {
	object-fit: cover;
}

.webdev-premier {
	align-items: center;
	background:
		linear-gradient(180deg, rgba(5, 5, 5, 0.1), rgba(5, 5, 5, 0.94) 86%),
		radial-gradient(circle at 58% 44%, rgba(200, 255, 0, 0.16), transparent 26%),
		radial-gradient(circle at 74% 26%, rgba(255, 255, 255, 0.08), transparent 22%),
		linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
		#050505;
	background-size: auto, auto, auto, 54px 54px, 54px 54px, auto;
	display: grid;
	gap: clamp(38px, 7vw, 110px);
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.78fr);
	min-height: clamp(640px, 82svh, 880px);
	overflow: hidden;
	padding: clamp(92px, 12vw, 160px) 6vw;
	position: relative;
}

.webdev-premier::before,
.webdev-premier::after {
	content: "";
	pointer-events: none;
	position: absolute;
}

.webdev-premier::before {
	background:
		radial-gradient(circle at 14% 28%, rgba(200, 255, 0, 0.7) 0 2px, transparent 3px),
		radial-gradient(circle at 30% 78%, rgba(255, 255, 255, 0.74) 0 2px, transparent 3px),
		radial-gradient(circle at 65% 18%, rgba(200, 255, 0, 0.6) 0 1.5px, transparent 3px),
		radial-gradient(circle at 88% 72%, rgba(255, 255, 255, 0.64) 0 2px, transparent 3px);
	inset: 0;
	opacity: 0.72;
}

.webdev-premier::after {
	background:
		linear-gradient(120deg, transparent 8%, rgba(200, 255, 0, 0.08) 42%, transparent 68%),
		radial-gradient(ellipse at 46% 72%, rgba(200, 255, 0, 0.16), transparent 36%);
	filter: blur(1px);
	inset: -12% -8%;
	opacity: 0.76;
}

.webdev-premier__copy,
.webdev-premier__stats {
	position: relative;
	z-index: 2;
}

.webdev-premier__copy {
	display: grid;
	gap: 24px;
	max-width: 920px;
}

.webdev-premier__copy h2 {
	color: #fff;
	font-size: clamp(38px, 5.1vw, 86px);
	font-weight: 430;
	line-height: 1.06;
	max-width: 980px;
}

.webdev-premier__copy p {
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(16px, 1.2vw, 20px);
	line-height: 1.72;
	max-width: 920px;
}

.webdev-premier__stats {
	display: grid;
	gap: clamp(22px, 3vw, 36px);
}

.webdev-premier__stat {
	--progress: 88%;
	align-items: start;
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	display: grid;
	gap: 18px;
	padding: clamp(22px, 2.2vw, 34px);
}

.webdev-premier__stat strong {
	color: #fff;
	font-family: var(--font-display);
	font-size: clamp(23px, 2.1vw, 36px);
	font-weight: 520;
	letter-spacing: 0;
	line-height: 1.08;
}

.webdev-premier__stat i {
	background: rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	display: block;
	height: 5px;
	min-width: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.webdev-premier__stat i::before {
	background: linear-gradient(90deg, var(--accent), rgba(255, 255, 255, 0.96));
	border-radius: inherit;
	content: "";
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	width: var(--progress);
}

.webdev-premier__stats.is-visible .webdev-premier__stat i::before {
	animation: webdev-premier-progress 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.webdev-premier__stats.is-visible .webdev-premier__stat:nth-child(2) i::before {
	animation-delay: 0.12s;
}

.webdev-premier__stats.is-visible .webdev-premier__stat:nth-child(3) i::before {
	animation-delay: 0.24s;
}

.webdev-premier__stats.is-visible .webdev-premier__stat:nth-child(4) i::before {
	animation-delay: 0.36s;
}

@keyframes webdev-premier-progress {
	to {
		transform: scaleX(1);
	}
}

.webdev-faq {
	display: grid;
	gap: clamp(34px, 7vw, 110px);
	grid-template-columns: 0.72fr 1fr;
}

.webdev-faq__head {
	display: grid;
	gap: 22px;
	height: fit-content;
	position: sticky;
	top: 120px;
}

.webdev-faq__items {
	display: grid;
}

.webdev-faq__item {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.webdev-faq__item:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.webdev-faq__item button {
	align-items: center;
	background: transparent;
	border: 0;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: clamp(21px, 2.1vw, 34px);
	font-weight: 500;
	justify-content: space-between;
	line-height: 1.2;
	padding: 32px 0;
	text-align: left;
	width: 100%;
}

.webdev-faq__item i {
	align-items: center;
	border: 1px solid rgba(200, 255, 0, 0.5);
	border-radius: 999px;
	color: var(--accent);
	display: grid;
	flex: 0 0 48px;
	font-style: normal;
	height: 48px;
	justify-items: center;
	margin-left: 20px;
	transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
	width: 48px;
}

.webdev-faq__item button[aria-expanded="true"] i {
	background: var(--accent);
	color: #050505;
	transform: rotate(45deg);
}

.webdev-faq__answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.42s ease;
}

.webdev-faq__answer > div {
	overflow: hidden;
}

.webdev-faq__item button[aria-expanded="true"] + .webdev-faq__answer {
	grid-template-rows: 1fr;
}

.webdev-faq__answer p {
	color: var(--webdev-muted);
	font-size: 17px;
	line-height: 1.78;
	padding: 0 72px 32px 0;
}

.webdev-velocity {
	background: #050505;
	border-block: 1px solid rgba(255, 255, 255, 0.07);
	display: grid;
	gap: clamp(10px, 1.8vw, 22px);
	margin-inline: calc(50% - 50vw);
	overflow: hidden;
	padding: clamp(42px, 6vw, 74px) 0;
	position: relative;
}

.webdev-velocity::before {
	content: "";
	display: none;
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.webdev-velocity__row {
	overflow: hidden;
	position: relative;
	transform: none;
}

.webdev-velocity__row--right {
	transform: none;
}

.webdev-velocity__track {
	display: flex;
	position: relative;
	white-space: nowrap;
	will-change: transform;
	z-index: 1;
}

.webdev-velocity__track span {
	color: #fff;
	flex: 0 0 auto;
	font-family: var(--font-display);
	font-size: clamp(38px, 7vw, 102px);
	font-weight: 650;
	letter-spacing: -0.03em;
	line-height: 0.9;
	padding-right: clamp(26px, 4vw, 60px);
	text-transform: uppercase;
}

.webdev-velocity__row--right .webdev-velocity__track span {
	color: rgba(255, 255, 255, 0.16);
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.72);
	text-stroke: 1px rgba(255, 255, 255, 0.72);
}

.webdev-flow-menu {
	background: #050505;
	color: #fff;
	margin-inline: calc(50% - 50vw);
	overflow: visible;
	padding: clamp(72px, 8vw, 118px) 6vw;
	position: relative;
}

.webdev-flow-menu::before {
	background:
		linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
		radial-gradient(circle at 74% 22%, rgba(200, 255, 0, 0.13), transparent 34%);
	background-size: 72px 72px, 72px 72px, auto;
	content: "";
	inset: 0;
	opacity: 0.72;
	pointer-events: none;
	position: absolute;
}

.webdev-flow-menu__head {
	display: grid;
	gap: 18px;
	margin: 0 auto clamp(30px, 5vw, 58px);
	max-width: 980px;
	position: relative;
	text-align: center;
	z-index: 2;
}

.webdev-flow-menu__head h2 {
	font-size: clamp(34px, 5vw, 74px);
	font-weight: 430;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

.webdev-flow-menu__head p {
	color: rgba(255, 255, 255, 0.7);
	font-size: clamp(16px, 1.35vw, 21px);
	line-height: 1.65;
	margin: 0 auto;
	max-width: 780px;
}

.webdev-flow-menu__rows {
	isolation: isolate;
	padding-top: 0;
	position: relative;
	z-index: 2;
}

.webdev-flow-row {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	color: #fff;
	display: flex;
	isolation: isolate;
	justify-content: center;
	min-height: clamp(76px, 7vw, 112px);
	overflow: visible;
	padding: 0 clamp(18px, 3vw, 44px);
	position: static;
	text-align: center;
	text-decoration: none;
	transition: border-color 0.28s ease, color 0.28s ease;
}

.webdev-flow-row:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.webdev-flow-row::before {
	display: none;
}

.webdev-flow-row:hover,
.webdev-flow-row:focus-visible {
	border-color: rgba(200, 255, 0, 0.52);
	color: #fff;
}

.webdev-flow-row:hover .webdev-flow-row__title,
.webdev-flow-row:focus-visible .webdev-flow-row__title {
	color: #fff;
	text-shadow: 0 0 22px rgba(200, 255, 0, 0.2);
}

.webdev-flow-row__title {
	font-family: var(--font-display);
	font-size: clamp(28px, 3.8vw, 58px);
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1;
	position: relative;
	text-transform: uppercase;
	z-index: 0;
}

.webdev-flow-row__arrow {
	display: none;
}

.webdev-flow-row__image {
	display: none;
}

.webdev-flow-menu__popup {
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 28px;
	box-shadow: 0 36px 120px rgba(0, 0, 0, 0.72), 0 0 68px rgba(200, 255, 0, 0.24);
	background: rgba(5, 5, 5, 0.9);
	height: clamp(210px, 24vw, 360px);
	left: 0;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	position: fixed;
	top: 0;
	transform: translate3d(var(--popup-x, 50vw), var(--popup-y, 140px), 0) translate(-50%, -52%) scale(0.92);
	transition: opacity 0.24s ease, transform 0.14s linear;
	width: clamp(320px, 34vw, 560px);
	z-index: 2147483000;
}

.webdev-flow-menu__popup.is-active {
	opacity: 1;
	transform: translate3d(var(--popup-x, 50vw), var(--popup-y, 140px), 0) translate(-50%, -52%) scale(1);
}

.webdev-flow-menu__popup::after {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), transparent 42%, rgba(200, 255, 0, 0.18));
	content: "";
	inset: 0;
	position: absolute;
}

.webdev-flow-menu__popup img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.webdev-cta {
	background:
		linear-gradient(135deg, rgba(200, 255, 0, 0.2), transparent 40%),
		rgba(255, 255, 255, 0.065);
	border: 1px solid rgba(200, 255, 0, 0.28);
	border-radius: 32px;
	display: grid;
	gap: 22px;
	margin-bottom: clamp(70px, 8vw, 120px);
	padding: clamp(46px, 7vw, 90px);
	text-align: center;
}

.webdev-cta .webdev-eyebrow,
.webdev-cta .webdev-button {
	justify-self: center;
}

.webdev-cta p {
	justify-self: center;
	max-width: 650px;
}

[data-webdev-reveal] {
	opacity: 0;
	transform: translateY(34px);
	transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

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

@media (max-width: 1180px) {
	.webdev-hero__inner,
	.webdev-included,
	.webdev-devices,
	.webdev-premier,
	.webdev-faq {
		grid-template-columns: 1fr;
	}

	.webdev-hero__visual,
	.webdev-included__copy,
	.webdev-faq__head {
		position: relative;
		top: auto;
	}

	.webdev-dome {
		grid-template-columns: 1fr;
	}

	.webdev-dome__image {
		min-height: min(560px, 68svh);
	}

	.webdev-card {
		flex-basis: calc((100% - 14px) / 2);
	}

	.webdev-process__step {
		flex-basis: calc((100% - 18px) / 2);
	}

	.webdev-device-lab {
		min-height: 500px;
	}
}

@media (max-width: 760px) {
	.webdev-hero {
		min-height: auto;
		padding: 126px 24px 74px;
	}

	.webdev-hero__inner,
	.webdev-build,
	.webdev-included,
	.webdev-process,
	.webdev-devices,
	.webdev-premier,
	.webdev-faq,
	.webdev-cta {
		width: 100%;
	}

	.webdev-hero h1 {
		font-size: clamp(36px, 10.8vw, 52px);
	}

	.webdev-hero__body {
		font-size: 15.5px;
		line-height: 1.72;
	}

	.webdev-hero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.webdev-button {
		width: 100%;
	}

	.webdev-browser {
		border-radius: 22px;
		transform: none;
	}

	.webdev-browser__stage {
		aspect-ratio: 1 / 1;
	}

	.webdev-browser__metrics {
		grid-template-columns: 1fr;
	}

	.webdev-browser__metrics div {
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		border-right: 0;
		padding: 15px 18px;
	}

	.webdev-curved-loop {
		min-height: 160px;
		padding: 28px 0;
	}

	.webdev-curved-loop__svg {
		font-size: 46px;
		width: 150vw;
	}

	.webdev-dome {
		min-height: auto;
		padding: 76px 24px;
	}

	.webdev-dome__copy {
		max-width: none;
	}

	.webdev-dome__copy h2 {
		font-size: clamp(32px, 10vw, 46px);
	}

	.webdev-dome__image {
		min-height: 360px;
	}

	.webdev-build,
	.webdev-included,
	.webdev-process,
	.webdev-devices,
	.webdev-premier,
	.webdev-faq {
		padding: 76px 24px;
	}

	.webdev-included {
		padding-bottom: 34px;
	}

	.webdev-process {
		padding-top: 34px;
	}

	.webdev-section-head h2,
	.webdev-included h2,
	.webdev-devices h2,
	.webdev-premier h2,
	.webdev-faq h2,
	.webdev-cta h2 {
		font-size: clamp(32px, 10vw, 46px);
	}

	.webdev-process__track {
		margin-right: -24px;
		padding-right: 24px;
	}

	.webdev-process__slider-wrap {
		margin-top: 38px;
		padding-bottom: 50px;
	}

	.webdev-process__step {
		flex-basis: min(82vw, 330px);
		min-height: auto;
	}

	.webdev-build__grid {
		display: grid;
		gap: 18px;
		margin-top: 38px;
		overflow: visible;
		padding: 0;
		scroll-snap-type: none;
	}

	.webdev-build__slider-wrap {
		margin-inline: 0;
	}

	.webdev-card {
		flex: none;
		max-width: none;
		min-height: auto;
		padding: 24px;
		width: 100%;
	}

	.webdev-velocity {
		gap: 10px;
		padding: 36px 0;
	}

	.webdev-velocity__row {
		transform: none;
	}

	.webdev-velocity__row--right {
		transform: none;
	}

	.webdev-velocity__track span {
		font-size: clamp(38px, 15vw, 68px);
		padding-right: 24px;
	}

	.webdev-flow-menu {
		padding: 70px 24px;
	}

	.webdev-flow-menu__rows {
		padding-top: 0;
	}

	.webdev-flow-menu__head {
		margin-inline: 0;
		text-align: left;
	}

	.webdev-flow-menu__head h2 {
		font-size: clamp(34px, 12vw, 52px);
	}

	.webdev-flow-menu__head p {
		margin: 0;
	}

	.webdev-flow-row {
		min-height: 82px;
		padding: 0 8px;
	}

	.webdev-flow-row::before {
		inset: 10px 0;
	}

	.webdev-flow-row__title {
		font-size: clamp(23px, 7vw, 34px);
		padding-right: 0;
	}

	.webdev-flow-row__arrow {
		display: none;
	}

	.webdev-flow-row__image {
		display: none;
	}

	.webdev-flow-menu__popup {
		border-radius: 24px;
		height: min(38vw, 168px);
		width: min(70vw, 300px);
	}

	.webdev-slider-arrow {
		bottom: -16px;
		top: auto;
		transform: none;
	}

	.webdev-slider-arrow:hover,
	.webdev-slider-arrow:focus-visible {
		transform: scale(1.04);
	}

	.webdev-slider-arrow--prev {
		left: 4px;
	}

	.webdev-slider-arrow--next {
		right: 4px;
	}

	.webdev-included__list li {
		font-size: 22px;
		grid-template-columns: 42px 1fr;
	}

	.webdev-process__media img,
	.webdev-process__media video {
		aspect-ratio: 1.15 / 1;
	}

	.webdev-process__media video {
		min-height: 320px;
	}

	.webdev-device-lab {
		min-height: 430px;
	}

	.webdev-laptop {
		width: 100%;
	}

	.webdev-phone {
		width: 38%;
	}

	.webdev-premier {
		min-height: auto;
	}

	.webdev-premier__copy {
		max-width: none;
	}

	.webdev-premier__copy p {
		font-size: 15.5px;
	}

	.webdev-premier__stats {
		gap: 18px;
	}

	.webdev-premier__stat {
		gap: 14px;
		padding: 22px;
	}

	.webdev-premier__stat strong {
		font-size: clamp(22px, 7vw, 30px);
	}

	.webdev-premier__stat i {
		width: 100%;
	}

	.webdev-faq__item button {
		font-size: 23px;
		padding: 26px 0;
	}

	.webdev-faq__item i {
		flex-basis: 42px;
		height: 42px;
		width: 42px;
	}

	.webdev-faq__answer p {
		font-size: 15.5px;
		padding-right: 0;
	}

	.webdev-cta {
		border-radius: 26px;
		margin: 44px 24px 84px;
		padding: 42px 22px;
		width: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.brandonic-webdev-page *,
	.brandonic-webdev-page *::before,
	.brandonic-webdev-page *::after {
		animation: none !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	[data-webdev-reveal] {
		opacity: 1;
		transform: none;
	}
}
