/* ==========================================================================
   NuWeb Network — built-in homepage
   ========================================================================== */

/* ---------- Hero ---------- */

.nw-hero {
	position: relative; isolation: isolate; overflow: hidden;
	padding: clamp(80px, 9vw, 112px) 0 clamp(96px, 10vw, 128px);
	background: var(--nw-hero-base);
	color: rgba(255, 255, 255, .82);
}
.nw-hero--photo {
	background: #1C2436;
	min-height: min(720px, 88vh); display: flex; align-items: center;
}
.nw-hero__photo {
	position: absolute; inset: 0; z-index: -2; pointer-events: none;
	background: var(--nw-hero-image) var(--nw-hero-focus, 50%) 35% / cover no-repeat;
	transform: scale(var(--nw-hero-zoom, 1)); transform-origin: var(--nw-hero-focus, 50%) 35%;
}
.nw-hero--photo::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: var(--nw-hero-overlay);
}
.nw-hero__grid-lines {
	position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(ellipse at 75% 40%, #000 0%, transparent 65%);
	mask-image: radial-gradient(ellipse at 75% 40%, #000 0%, transparent 65%);
}
.nw-hero--photo .nw-hero__grid-lines { display: none; }
.nw-hero__photo-space { min-height: 1px; }

.nw-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 56px; align-items: center; }

.nw-eyebrow--hero {
	border: 1px solid rgba(var(--nw-accent-rgb), .4);
	background: rgba(var(--nw-accent-rgb), .18);
	color: #fff;
	-webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
}
.nw-eyebrow--hero::before { background: var(--nw-accent-soft); box-shadow: 0 0 0 4px rgba(var(--nw-accent-rgb), .22); }

.nw-hero__title {
	max-width: 720px; margin: 0 0 22px;
	color: #fff;
	font-size: clamp(42px, 5.4vw, 66px); line-height: 1.03; letter-spacing: -.045em;
	text-shadow: 0 3px 22px rgba(0, 0, 0, .18);
}
.nw-hero__title span {
	display: block;
	background: linear-gradient(90deg, var(--nw-accent-soft), #7FCDE6);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.nw-hero__lead { max-width: 620px; margin: 0 0 30px; color: rgba(255, 255, 255, .8); font-size: 18px; line-height: 1.75; }
.nw-hero__actions { display: flex; flex-wrap: wrap; gap: 11px; }
.nw-hero__actions .nw-btn { box-shadow: 0 12px 28px rgba(0, 0, 0, .2); }
.nw-hero__points { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 30px 0 0; padding: 0; list-style: none; }
.nw-hero__points li { display: flex; align-items: center; gap: 8px; color: rgba(255, 255, 255, .86); font-size: 14px; font-weight: 700; }
.nw-hero__check {
	display: grid; place-items: center; flex: 0 0 20px; height: 20px; border-radius: 50%;
	border: 1px solid rgba(76, 201, 240, .3); background: rgba(76, 201, 240, .14); color: #7FCDE6;
}

/* Network orbit */
.nw-hero__network { display: flex; justify-content: center; }
.nw-orbit { position: relative; width: min(470px, 100%); aspect-ratio: 1; }
.nw-orbit__ring { position: absolute; border-radius: 50%; border: 1px dashed rgba(255, 255, 255, .16); }
.nw-orbit__ring--1 { inset: 9%; }
.nw-orbit__ring--2 { inset: 27%; border-style: solid; border-color: rgba(255, 255, 255, .08); }
@media (prefers-reduced-motion: no-preference) {
	.nw-orbit__ring--1 { animation: nw-spin 80s linear infinite; }
}
@keyframes nw-spin { to { transform: rotate(360deg); } }

.nw-orbit__core {
	position: absolute; left: 50%; top: 50%; width: 34%; aspect-ratio: 1;
	display: grid; place-content: center; justify-items: center; gap: 4px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, .22), transparent 55%), linear-gradient(135deg, var(--nw-accent), var(--nw-accent-2));
	box-shadow: 0 0 0 10px rgba(var(--nw-accent-rgb), .12), 0 0 0 22px rgba(var(--nw-accent-rgb), .06), 0 25px 60px rgba(0, 0, 0, .35);
	color: #fff; text-align: center;
}
.nw-orbit__core span { font-size: clamp(30px, 3.4vw, 42px); font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.nw-orbit__core small { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }

.nw-orbit__node {
	position: absolute; display: flex; align-items: center; gap: 10px;
	padding: 9px 14px 9px 9px;
	border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px;
	background: rgba(22, 32, 51, .72);
	box-shadow: 0 15px 35px rgba(0, 0, 0, .3);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	white-space: nowrap;
}
.nw-orbit__node--1 { left: -2%; top: 10%; }
.nw-orbit__node--2 { right: -4%; top: 25%; }
.nw-orbit__node--3 { left: -6%; bottom: 22%; }
.nw-orbit__node--4 { right: 2%; bottom: 6%; }
@media (prefers-reduced-motion: no-preference) {
	.nw-orbit__node { animation: nw-float 6s ease-in-out infinite; }
	.nw-orbit__node--2 { animation-delay: -1.5s; }
	.nw-orbit__node--3 { animation-delay: -3s; }
	.nw-orbit__node--4 { animation-delay: -4.5s; }
}
@keyframes nw-float { 50% { transform: translateY(-8px); } }
.nw-orbit__mark {
	display: grid; place-items: center; flex: 0 0 36px; height: 36px; border-radius: 10px;
	background: var(--b); color: #fff; font-size: 12px; font-weight: 800;
}
.nw-orbit__label { display: grid; line-height: 1.25; }
.nw-orbit__label strong { color: #fff; font-size: 14px; }
.nw-orbit__label em { color: rgba(255, 255, 255, .62); font-size: 11.5px; font-style: normal; }

@media (max-width: 980px) {
	.nw-hero__grid { grid-template-columns: 1fr; }
	.nw-hero__network { display: none; }
	.nw-hero__photo-space { display: none; }
	.nw-hero--photo { min-height: 0; }
	.nw-hero__photo { background-position: 50% 35%; transform: none; }
	.nw-hero--photo::before { background: linear-gradient(180deg, rgba(24, 31, 45, .72) 0%, rgba(24, 31, 45, .9) 55%, rgba(24, 31, 45, .95) 100%); }
}

/* ---------- Trust strip ---------- */

.nw-trust { position: relative; z-index: 5; margin-top: -40px; }
.nw-trust__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden;
	margin: 0; padding: 0; list-style: none;
	border: 1px solid var(--nw-border); border-radius: var(--nw-radius);
	background: var(--nw-surface); box-shadow: var(--nw-shadow);
}
.nw-trust__item { padding: 23px 18px; text-align: center; border-right: 1px solid var(--nw-border); line-height: 1.45; }
.nw-trust__item:last-child { border-right: 0; }
.nw-trust__item strong { display: block; margin-bottom: 3px; font-size: 15.5px; }
.nw-trust__item span { color: var(--nw-muted); font-size: 14px; }
@media (max-width: 760px) {
	.nw-trust__grid { grid-template-columns: 1fr 1fr; }
	.nw-trust__item:nth-child(2) { border-right: 0; }
	.nw-trust__item:nth-child(-n+2) { border-bottom: 1px solid var(--nw-border); }
}

/* ---------- Brands ---------- */

.nw-brands { padding-top: clamp(72px, 8vw, 104px); }
.nw-brands__featured { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.nw-brands__upcoming { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 24px; }
@media (max-width: 1000px) { .nw-brands__upcoming { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .nw-brands__featured, .nw-brands__upcoming { grid-template-columns: 1fr; } }

.nw-brand-card {
	position: relative; overflow: hidden; isolation: isolate;
	display: flex; flex-direction: column;
	padding: 32px;
	border: 1px solid var(--nw-border); border-top: 4px solid var(--nw-accent);
	border-radius: var(--nw-radius-lg);
	background: var(--nw-surface);
	box-shadow: var(--nw-shadow-sm);
	transition: transform .25s var(--nw-ease), box-shadow .25s ease;
}
.nw-brand-card:hover { transform: translateY(-4px); box-shadow: var(--nw-shadow); }
.nw-brand-card__glow {
	position: absolute; z-index: -1; right: -120px; top: -140px; width: 360px; height: 360px; border-radius: 50%;
	background: radial-gradient(circle, rgba(var(--nw-accent-rgb), .16), transparent 68%);
}
.nw-brand-card__head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.nw-brand-card__mark {
	display: grid; place-items: center; flex: 0 0 54px; height: 54px; border-radius: 14px;
	background: linear-gradient(135deg, var(--nw-accent), var(--nw-accent-2));
	color: #fff; font-size: 17px; font-weight: 800;
	box-shadow: 0 10px 24px rgba(var(--nw-accent-rgb), .3);
}
.nw-brand-card__kicker { display: block; color: var(--nw-accent-text); font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.nw-brand-card__name { margin: 2px 0 0; font-size: 28px; letter-spacing: -.03em; }
.nw-brand-card__name .nw-logo__nu { color: var(--nw-accent-text); }
.nw-brand-card__text { margin-bottom: 20px; font-size: 16.5px; }
.nw-brand-card__list { margin-bottom: 28px; }
.nw-brand-card__cta { align-self: flex-start; margin-top: auto; }

.nw-live {
	display: inline-flex; align-items: center; gap: 7px; margin-left: auto;
	padding: 6px 11px; border-radius: 100px;
	background: rgba(32, 168, 117, .11); color: #12744F;
	font-size: 11.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
}
html[data-theme="dark"] .nw-live { color: #7EE7C0; }
.nw-live span { width: 7px; height: 7px; border-radius: 50%; background: var(--nw-success); box-shadow: 0 0 0 3px rgba(32, 168, 117, .2); }

.nw-mini-brand { display: flex; flex-direction: column; }
.nw-mini-brand__top { display: flex; justify-content: space-between; align-items: flex-start; }
.nw-mini-brand__top .nw-badge { margin: 0; }
.nw-mini-brand h3 { margin-bottom: 8px; }
.nw-mini-brand p { font-size: 15px; line-height: 1.65; }
.nw-mini-brand .nw-link-arrow,
.nw-mini-brand__soon { margin-top: auto; }
.nw-mini-brand__soon { color: var(--nw-muted); font-size: 13.5px; font-weight: 700; }

/* ---------- Split sections ---------- */

.nw-split__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 80px); align-items: center; }
.nw-split__copy h2 { margin-bottom: 16px; }
.nw-split__copy > p { margin-bottom: 24px; font-size: 16.5px; }
.nw-split__copy .nw-checklist { margin-bottom: 26px; }
@media (max-width: 900px) {
	.nw-split__grid { grid-template-columns: 1fr; }
	.nw-split--reverse .nw-account { order: 2; }
}

.nw-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.nw-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 7px 13px; border: 1px solid var(--nw-border); border-radius: 100px;
	background: var(--nw-surface-2); color: var(--nw-heading); font-size: 13.5px; font-weight: 700;
}
html[data-theme="dark"] .nw-pill { background: var(--nw-surface); }
.nw-pill .nw-icon { color: var(--nw-accent-text); }

.nw-link-list { display: grid; gap: 8px; max-width: 420px; }
.nw-link-list a {
	display: flex; justify-content: space-between; align-items: center;
	padding: 13px 16px; border: 1px solid var(--nw-border); border-radius: 10px;
	background: var(--nw-surface-2); color: var(--nw-heading); font-weight: 800; font-size: 15px; text-decoration: none;
	transition: border-color .2s, transform .2s var(--nw-ease);
}
html[data-theme="dark"] .nw-link-list a { background: var(--nw-surface); }
.nw-link-list a:hover { border-color: var(--nw-accent); transform: translateX(3px); color: var(--nw-heading); }
.nw-link-list .nw-icon { color: var(--nw-accent-text); }

/* Rack visual */
.nw-rack {
	padding: 18px; border-radius: var(--nw-radius-lg);
	background: linear-gradient(160deg, #19233A, #0D1422);
	border: 1px solid rgba(148, 163, 190, .2);
	box-shadow: var(--nw-shadow-lg);
	color: #B9C3D4; font-size: 12.5px;
}
.nw-rack__top, .nw-rack__foot { display: flex; justify-content: space-between; padding: 2px 4px 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; font-size: 11px; color: #97A3B8; }
.nw-rack__foot { padding: 12px 4px 0; }
.nw-rack__ok { color: #7EE7C0; }
.nw-rack__unit {
	display: flex; align-items: center; gap: 12px;
	margin-bottom: 7px; padding: 11px 14px;
	border: 1px solid rgba(148, 163, 190, .14); border-radius: 8px;
	background: linear-gradient(180deg, #212C44, #1A2337);
}
.nw-rack__unit.is-customer { border-color: rgba(var(--nw-accent-rgb), .55); background: linear-gradient(180deg, rgba(var(--nw-accent-rgb), .2), rgba(var(--nw-accent-rgb), .08)); }
.nw-rack__leds { display: flex; gap: 4px; }
.nw-rack__leds i { width: 6px; height: 6px; border-radius: 50%; background: #20A875; box-shadow: 0 0 6px rgba(32, 168, 117, .8); }
.nw-rack__leds i:nth-child(2) { background: #4CC9F0; box-shadow: 0 0 6px rgba(76, 201, 240, .8); }
@media (prefers-reduced-motion: no-preference) {
	.nw-rack__leds i:nth-child(2) { animation: nw-blink 1.6s steps(2) infinite; }
	.nw-rack__unit:nth-child(3n) .nw-rack__leds i:nth-child(2) { animation-duration: 1.1s; }
}
@keyframes nw-blink { 50% { opacity: .25; } }
.nw-rack__name { flex: 1; color: #EEF2F8; font-weight: 700; }
.nw-rack__bays { display: flex; gap: 3px; }
.nw-rack__bays b { width: 12px; height: 16px; border-radius: 2px; background: #0D1422; border: 1px solid rgba(148, 163, 190, .18); }
@media (max-width: 480px) { .nw-rack__bays { display: none; } }

/* Account visual */
.nw-account {
	overflow: hidden; border-radius: var(--nw-radius-lg);
	border: 1px solid var(--nw-border); background: var(--nw-surface);
	box-shadow: var(--nw-shadow-lg);
}
.nw-account__bar {
	display: flex; justify-content: space-between; align-items: center;
	padding: 14px 20px; border-bottom: 1px solid var(--nw-border);
	background: var(--nw-surface-2);
}
html[data-theme="dark"] .nw-account__bar { background: var(--nw-surface-3); }
.nw-account__logo { color: var(--nw-heading); font-weight: 800; font-size: 17px; letter-spacing: -.02em; }
.nw-account__logo .nw-logo__nu { color: var(--nw-accent-text); }
.nw-account__user { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(var(--nw-accent-rgb), .12); color: var(--nw-accent-text); }
.nw-account__body { padding: 20px; }
.nw-account__label { margin: 0 0 12px; color: var(--nw-muted); font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.nw-account__row {
	display: flex; align-items: center; gap: 12px;
	margin-bottom: 9px; padding: 12px 14px;
	border: 1px solid var(--nw-border); border-left: 3px solid var(--nw-accent); border-radius: 10px;
	background: var(--nw-surface);
}
html[data-theme="dark"] .nw-account__row { background: var(--nw-surface-2); }
.nw-account__icon { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 9px; background: rgba(var(--nw-accent-rgb), .12); color: var(--nw-accent-text); }
.nw-account__svc { flex: 1; display: grid; line-height: 1.3; }
.nw-account__svc strong { font-size: 14.5px; }
.nw-account__svc small { color: var(--nw-muted); font-size: 12.5px; }
.nw-account__status { padding: 4px 9px; border-radius: 100px; background: rgba(32, 168, 117, .11); color: #12744F; font-size: 11.5px; font-weight: 800; }
html[data-theme="dark"] .nw-account__status { color: #7EE7C0; }
.nw-account__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 14px; }
.nw-account__tiles div { padding: 14px; border-radius: 10px; background: var(--nw-surface-3); line-height: 1.3; }
html[data-theme="dark"] .nw-account__tiles div { background: var(--nw-surface-3); }
.nw-account__tiles small { display: block; color: var(--nw-muted); font-size: 12px; font-weight: 700; }
.nw-account__tiles strong { font-size: 24px; }

/* ---------- Values, company ---------- */

.nw-value h3 { margin-bottom: 8px; font-size: 18px; }
.nw-value p { margin: 0; font-size: 15px; line-height: 1.65; }

.nw-company__card { display: flex; flex-direction: column; color: var(--nw-text); text-decoration: none; }
.nw-company__card:hover { color: var(--nw-text); }
.nw-company__card h3 { margin-bottom: 8px; }
.nw-company__card p { font-size: 15px; line-height: 1.65; }
.nw-company__card .nw-link-arrow { margin-top: auto; }
.nw-company__card:hover .nw-link-arrow .nw-icon { transform: translateX(3px); }

/* ---------- News ---------- */

.nw-news__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 40px; }
.nw-news__head .nw-section-head { margin: 0; }
.nw-news__head h2 { margin: 0; }

/* ---------- Final CTA ---------- */

.nw-final {
	position: relative; overflow: hidden;
	padding: clamp(64px, 8vw, 92px) 0;
	background:
		radial-gradient(circle at 85% 45%, rgba(var(--nw-accent-rgb), .3), transparent 32%),
		radial-gradient(circle at 10% 110%, rgba(76, 201, 240, .16), transparent 30%),
		#252D3D;
	color: rgba(255, 255, 255, .78);
}
html[data-theme="dark"] .nw-final { background: radial-gradient(circle at 85% 45%, rgba(var(--nw-accent-rgb), .22), transparent 32%), radial-gradient(circle at 10% 110%, rgba(76, 201, 240, .12), transparent 30%), #19233A; }
.nw-final__inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.nw-final h2 { max-width: 640px; margin-bottom: 10px; color: #fff; }
.nw-final p { max-width: 580px; margin: 0; font-size: 17px; }
.nw-final__actions { display: flex; flex-wrap: wrap; gap: 11px; }

/* ---------- Embedded sections ([nuweb_section]) ---------- */

.nw-home--embed > .nw-section:first-child { padding-top: clamp(48px, 6vw, 80px); }

/* ---------- Hero: phone visual ---------- */

.nw-hero__device { position: relative; display: flex; justify-content: center; padding: 10px 0 20px; }
.nw-phone {
	position: relative; width: 270px; padding: 12px; border-radius: 42px;
	background: linear-gradient(160deg, #2A3550, #111A2B);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .1), 0 40px 80px rgba(0, 0, 0, .45), 0 0 0 14px rgba(var(--nw-accent-rgb), .08);
}
.nw-phone__notch { position: absolute; top: 20px; left: 50%; z-index: 2; width: 84px; height: 22px; border-radius: 20px; background: #0A101B; transform: translateX(-50%); }
.nw-phone__screen {
	position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 12px;
	min-height: 520px; padding: 46px 16px 14px; border-radius: 32px;
	background: linear-gradient(180deg, #172036 0%, #0F1626 100%); color: #EEF2F8;
}
.nw-phone__status { position: absolute; top: 16px; left: 22px; right: 22px; display: flex; justify-content: space-between; font-size: 11px; font-weight: 800; }
.nw-phone__dots { display: flex; gap: 3px; align-items: center; }
.nw-phone__dots i { width: 4px; height: 4px; border-radius: 50%; background: #EEF2F8; }
.nw-phone__app-head { display: flex; align-items: center; gap: 10px; line-height: 1.25; }
.nw-phone__app-head strong { display: block; font-size: 14px; }
.nw-phone__app-head small { color: var(--nw-accent-soft); font-size: 11px; font-weight: 700; }
.nw-phone__app-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(135deg, var(--nw-accent), var(--nw-accent-2)); color: #fff; }
.nw-phone__art {
	display: grid; place-items: end center; height: 190px; padding-bottom: 22px; border-radius: 20px;
	background: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, .25), transparent 45%), linear-gradient(135deg, var(--nw-accent), #8E2BD0 120%);
}
.nw-phone__eq { display: flex; align-items: flex-end; gap: 5px; height: 46px; }
.nw-phone__eq i { width: 7px; border-radius: 4px; background: rgba(255, 255, 255, .9); height: 40%; }
.nw-phone__eq i:nth-child(2) { height: 80%; } .nw-phone__eq i:nth-child(3) { height: 55%; } .nw-phone__eq i:nth-child(4) { height: 100%; } .nw-phone__eq i:nth-child(5) { height: 65%; }
@media (prefers-reduced-motion: no-preference) {
	.nw-phone__eq i { animation: nw-eq 1.1s ease-in-out infinite alternate; }
	.nw-phone__eq i:nth-child(2) { animation-delay: -.3s; } .nw-phone__eq i:nth-child(3) { animation-delay: -.6s; } .nw-phone__eq i:nth-child(4) { animation-delay: -.9s; } .nw-phone__eq i:nth-child(5) { animation-delay: -.45s; }
}
@keyframes nw-eq { to { height: 20%; } }
.nw-phone__player { display: flex; justify-content: space-between; align-items: center; gap: 10px; line-height: 1.3; }
.nw-phone__player strong { display: block; font-size: 15px; }
.nw-phone__player small { color: #97A3B8; font-size: 11.5px; }
.nw-phone__play { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--nw-yellow); color: var(--nw-navy); box-shadow: 0 10px 22px rgba(244, 193, 70, .3); }
.nw-phone__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.nw-phone__tiles span { display: grid; justify-items: center; gap: 4px; padding: 10px 4px; border-radius: 12px; background: rgba(255, 255, 255, .06); color: #B9C3D4; font-size: 10.5px; font-weight: 700; }
.nw-phone__tiles .nw-icon { color: var(--nw-accent-soft); }
.nw-phone__tabbar { display: flex; justify-content: space-around; margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(148, 163, 190, .16); }
.nw-phone__tabbar i { width: 20px; height: 4px; border-radius: 3px; background: rgba(255, 255, 255, .18); }
.nw-phone__tabbar i.is-on { background: var(--nw-accent); }

.nw-prompt-card, .nw-build-card {
	position: absolute; z-index: 3;
	border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px;
	background: rgba(22, 32, 51, .82); box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	color: #EEF2F8;
}
.nw-prompt-card { left: -6%; top: 3%; max-width: 210px; padding: 13px 15px; }
.nw-prompt-card__label { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 6px; color: var(--nw-accent-soft); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.nw-prompt-card p { margin: 0; font-size: 13.5px; font-weight: 600; line-height: 1.45; }
.nw-build-card { right: 0; bottom: 14%; display: flex; align-items: center; gap: 10px; padding: 11px 15px 11px 11px; line-height: 1.25; }
.nw-build-card small { display: block; color: #97A3B8; font-size: 11px; font-weight: 700; }
.nw-build-card strong { font-size: 13.5px; }
.nw-build-card__icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(32, 168, 117, .18); color: #7EE7C0; }
@media (prefers-reduced-motion: no-preference) {
	.nw-prompt-card, .nw-build-card { animation: nw-float 6s ease-in-out infinite; }
	.nw-build-card { animation-delay: -3s; }
}
@media (max-width: 980px) { .nw-hero__device { display: none; } }

/* ---------- AI agent mock-up ---------- */

.nw-agent { overflow: hidden; border-radius: var(--nw-radius-lg); border: 1px solid var(--nw-border); background: var(--nw-surface); box-shadow: var(--nw-shadow-lg); }
html[data-theme="dark"] .nw-agent { background: var(--nw-surface-2); }
.nw-agent__bar { display: flex; align-items: center; gap: 6px; padding: 13px 18px; border-bottom: 1px solid var(--nw-border); background: var(--nw-surface-2); }
html[data-theme="dark"] .nw-agent__bar { background: var(--nw-surface-3); }
.nw-agent__bar strong { margin-left: 8px; font-size: 13.5px; }
.nw-agent__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--nw-border-strong); }
.nw-agent__body { display: grid; gap: 12px; padding: 20px; }
.nw-agent__msg { max-width: 88%; padding: 12px 15px; border-radius: 14px; font-size: 14.5px; line-height: 1.55; }
.nw-agent__msg--you { justify-self: end; border-bottom-right-radius: 4px; background: var(--nw-accent-ink); color: #fff; font-weight: 600; }
.nw-agent__msg--ai { display: flex; gap: 10px; border-bottom-left-radius: 4px; background: var(--nw-surface-3); color: var(--nw-heading); }
.nw-agent__msg--ai p { margin: 0 0 6px; font-weight: 600; }
.nw-agent__msg--ai ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; font-size: 13.5px; }
.nw-agent__msg--ai li { display: flex; align-items: center; gap: 7px; color: var(--nw-text); }
.nw-agent__msg--ai li .nw-icon { color: var(--nw-success); }
.nw-agent__ai { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border-radius: 8px; background: linear-gradient(135deg, var(--nw-accent), var(--nw-accent-2)); color: #fff; }
.nw-agent__typing { display: flex; gap: 4px; padding: 12px 15px; width: max-content; border-radius: 14px; background: var(--nw-surface-3); }
.nw-agent__typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--nw-muted); opacity: .5; }
@media (prefers-reduced-motion: no-preference) {
	.nw-agent__typing i { animation: nw-blink 1.2s infinite; }
	.nw-agent__typing i:nth-child(2) { animation-delay: .2s; } .nw-agent__typing i:nth-child(3) { animation-delay: .4s; }
}
.nw-agent__input { display: flex; justify-content: space-between; align-items: center; margin: 0 20px 20px; padding: 8px 8px 8px 16px; border: 1px solid var(--nw-border-strong); border-radius: 12px; color: var(--nw-muted); font-size: 14px; }
.nw-agent__input b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--nw-accent-ink); color: #fff; }

/* ---------- Visual editor mock-up ---------- */

.nw-editor {
	display: grid; grid-template-columns: 130px 1fr 120px; gap: 0; overflow: hidden;
	border-radius: var(--nw-radius-lg); border: 1px solid var(--nw-border); background: var(--nw-surface); box-shadow: var(--nw-shadow-lg);
	font-size: 12.5px;
}
html[data-theme="dark"] .nw-editor { background: var(--nw-surface-2); }
.nw-editor__side, .nw-editor__props { display: flex; flex-direction: column; gap: 7px; padding: 16px 12px; background: var(--nw-surface-2); }
html[data-theme="dark"] .nw-editor__side, html[data-theme="dark"] .nw-editor__props { background: var(--nw-surface-3); }
.nw-editor__side { border-right: 1px solid var(--nw-border); }
.nw-editor__props { border-left: 1px solid var(--nw-border); }
.nw-editor__label { margin-top: 4px; color: var(--nw-muted); font-size: 10.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.nw-editor__feature { display: flex; align-items: center; gap: 7px; padding: 8px 9px; border: 1px solid var(--nw-border); border-radius: 8px; background: var(--nw-surface); color: var(--nw-heading); font-weight: 700; }
.nw-editor__feature .nw-icon { color: var(--nw-accent-text); }
.nw-editor__feature.is-dragging { border-color: var(--nw-accent); box-shadow: 0 10px 22px rgba(var(--nw-accent-rgb), .25); transform: translateX(14px) rotate(-3deg); }
.nw-editor__canvas { display: grid; place-items: center; padding: 22px 10px; background: radial-gradient(circle, var(--nw-border) 1px, transparent 1px) 0 0 / 14px 14px; }
.nw-editor__phone { display: flex; flex-wrap: wrap; gap: 8px; width: 170px; padding: 16px 12px; border-radius: 26px; border: 6px solid #252D3D; background: var(--nw-surface); }
.nw-editor__block { flex: 1 1 100%; height: 34px; border-radius: 8px; background: var(--nw-surface-3); }
.nw-editor__block--hero { height: 88px; background: linear-gradient(135deg, var(--nw-accent), #8E2BD0 120%); }
.nw-editor__block--drop { display: grid; place-items: center; border: 2px dashed var(--nw-accent); background: rgba(var(--nw-accent-rgb), .08); color: var(--nw-accent-text); font-size: 11px; font-weight: 800; }
.nw-editor__block--half { flex: 1 1 calc(50% - 4px); height: 54px; }
.nw-editor__swatches { display: flex; gap: 6px; }
.nw-editor__swatches i { width: 20px; height: 20px; border-radius: 6px; }
.nw-editor__swatches i:first-child { box-shadow: 0 0 0 2px var(--nw-surface), 0 0 0 4px var(--nw-accent); }
.nw-editor__toggle { display: flex; align-items: center; gap: 7px; color: var(--nw-heading); font-weight: 700; }
.nw-editor__toggle i { position: relative; width: 26px; height: 15px; border-radius: 10px; background: var(--nw-border-strong); }
.nw-editor__toggle i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 11px; height: 11px; border-radius: 50%; background: #fff; }
.nw-editor__toggle i.is-on { background: var(--nw-accent); }
.nw-editor__toggle i.is-on::after { left: 13px; }
@media (max-width: 560px) { .nw-editor { grid-template-columns: 1fr; } .nw-editor__side, .nw-editor__props { display: none; } }

/* ---------- Plans (NuCast pricing layout) ---------- */

.nw-plans .nw-section-head { margin-bottom: 34px; }
.nw-billing {
	display: flex; width: max-content; max-width: 100%; gap: 6px; margin: 0 auto 38px; padding: 5px;
	border: 1px solid var(--nw-border); border-radius: 10px; background: var(--nw-surface);
	box-shadow: 0 8px 22px rgba(52, 62, 86, .05);
}
.nw-billing__option {
	display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border: 0; border-radius: 7px;
	background: transparent; color: var(--nw-text); font: inherit; font-size: 14px; font-weight: 800; line-height: 1.7; cursor: pointer;
	transition: background .2s, color .2s, box-shadow .2s;
}
.nw-billing__option span { color: var(--nw-success); font-size: 11px; font-weight: 800; white-space: nowrap; }
.nw-billing__option:hover { color: var(--nw-heading); }
.nw-billing__option.is-active { background: var(--nw-navy); color: #fff; box-shadow: 0 5px 12px rgba(52, 62, 86, .15); }
.nw-billing__option.is-active span { color: #7BE0B6; }
html[data-theme="dark"] .nw-billing__option.is-active { background: var(--nw-accent-ink); }
@media (max-width: 480px) {
	.nw-billing { width: 100%; }
	.nw-billing__option { flex: 1 1 0; flex-direction: column; gap: 0; padding: 8px 6px; line-height: 1.35; text-align: center; }
}

.nw-plans__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
@media (max-width: 900px) { .nw-plans__grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; } }
.nw-plan {
	position: relative; display: flex; flex-direction: column;
	padding: 30px; border: 1px solid var(--nw-border); border-radius: 16px;
	background: var(--nw-surface);
}
html[data-theme="dark"] .nw-plans .nw-plan { background: var(--nw-surface); }
.nw-plan.is-popular { border: 2px solid var(--nw-accent); box-shadow: 0 15px 36px rgba(var(--nw-accent-rgb), .11); }
@media (max-width: 900px) { .nw-plan.is-popular { margin-top: 10px; } }
.nw-plan__flag {
	position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
	padding: 7px 13px; border-radius: 100px; background: var(--nw-accent); color: var(--nw-navy);
	font-size: 11px; font-weight: 900; line-height: 1; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap;
}
.nw-brand-nuapps .nw-plan__flag, .nw-brand-nuweb .nw-plan__flag { color: #fff; }
.nw-plan__name { margin: 0 0 8px; font-size: 22px; line-height: 1.7; }
.nw-plan__summary { min-height: 3.1em; margin: 0 0 18px; font-size: 15px; line-height: 1.55; }
.nw-plan__price { display: flex; align-items: flex-end; gap: 3px; margin: 0 0 4px; color: var(--nw-heading); line-height: 1; }
.nw-plan__cur { align-self: flex-start; padding-top: 3px; font-size: 18px; font-weight: 800; }
.nw-plan__amount { font-size: 45px; font-weight: 800; letter-spacing: -2px; line-height: .95; font-variant-numeric: tabular-nums; }
.nw-plan__per { padding-bottom: 3px; margin-left: 2px; color: var(--nw-muted); font-size: 14px; font-weight: 700; }
.nw-plan__note { min-height: 1.7em; margin: 6px 0 18px; color: var(--nw-success); font-size: 13px; font-weight: 700; line-height: 1.7; }
.nw-plan__cta { width: 100%; margin-bottom: 23px; }
.nw-plan__list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.nw-plan__list li { display: flex; align-items: flex-start; gap: 9px; color: var(--nw-heading); font-size: 15px; font-weight: 600; line-height: 1.5; }
.nw-plan__list li.is-highlight { font-weight: 800; }
.nw-plan__list li::before {
	content: "✓"; display: grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%;
	background: rgba(32, 168, 117, .11); color: var(--nw-success); font-size: 10px; font-weight: 900; line-height: 1;
}
.nw-plans__note { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 32px 0 0; color: var(--nw-heading); font-weight: 700; text-align: center; }
.nw-plans__note .nw-icon { color: var(--nw-accent-text); flex: 0 0 auto; }

/* ---------- FAQ ---------- */

.nw-faq__list { display: grid; gap: 10px; }
.nw-faq__item { border: 1px solid var(--nw-border); border-radius: var(--nw-radius); background: var(--nw-surface); transition: border-color .2s; }
html[data-theme="dark"] .nw-faq__item { background: var(--nw-surface-2); }
.nw-faq__item[open] { border-color: rgba(var(--nw-accent-rgb), .45); }
.nw-faq__item summary {
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	padding: 18px 22px; color: var(--nw-heading); font-size: 16.5px; font-weight: 800; cursor: pointer; list-style: none;
}
.nw-faq__item summary::-webkit-details-marker { display: none; }
.nw-faq__icon { position: relative; flex: 0 0 22px; height: 22px; border-radius: 50%; background: rgba(var(--nw-accent-rgb), .12); }
.nw-faq__icon::before, .nw-faq__icon::after { content: ""; position: absolute; left: 6px; right: 6px; top: 10px; height: 2px; border-radius: 2px; background: var(--nw-accent-text); transition: transform .2s; }
.nw-faq__icon::after { transform: rotate(90deg); }
.nw-faq__item[open] .nw-faq__icon::after { transform: rotate(0); }
.nw-faq__item p { margin: 0; padding: 0 22px 20px; }

/* ---------- AI assist (optional) mock-up ---------- */

.nw-agent__switch { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; color: var(--nw-muted); font-size: 12px; font-weight: 700; }
.nw-agent__switch i { position: relative; width: 26px; height: 15px; border-radius: 10px; background: var(--nw-border-strong); }
.nw-agent__switch i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 11px; height: 11px; border-radius: 50%; background: #fff; }
.nw-agent__switch i.is-on { background: var(--nw-accent); }
.nw-agent__switch i.is-on::after { left: 13px; }
.nw-agent__option {
	display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap;
	margin-top: 8px; padding: 9px 11px; border: 1px solid var(--nw-border); border-radius: 10px;
	background: var(--nw-surface); font-size: 13.5px; font-weight: 600;
}
html[data-theme="dark"] .nw-agent__option { background: var(--nw-surface-2); }
.nw-agent__actions { display: flex; gap: 6px; }
.nw-agent__actions b { padding: 4px 10px; border: 1px solid var(--nw-border-strong); border-radius: 7px; color: var(--nw-heading); font-size: 12px; }
.nw-agent__actions b.is-primary { border-color: transparent; background: var(--nw-yellow); color: var(--nw-navy); }
.nw-agent__decision { display: flex; align-items: center; gap: 7px; justify-self: center; padding: 6px 12px; border-radius: 100px; background: rgba(32, 168, 117, .1); color: #12744F; font-size: 12.5px; font-weight: 800; }
html[data-theme="dark"] .nw-agent__decision { color: #7EE7C0; }
@media (max-width: 900px) { .nw-split--reverse .nw-agent { order: 2; } }

/* Mock-ups sit on dark panels in both themes: keep their bold text light. */
.nw-phone strong,
.nw-prompt-card strong,
.nw-build-card strong,
.nw-orbit strong,
.nw-rack strong { color: inherit; }

/* Plans: what every plan includes */
.nw-plans__every { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; margin: 34px 0 0; padding: 0; list-style: none; }
.nw-plans__every li { display: inline-flex; align-items: center; gap: 7px; color: var(--nw-heading); font-size: 14.5px; font-weight: 700; }
.nw-plans__every .nw-icon { color: var(--nw-success); }
.nw-plans__every + .nw-plans__note { margin-top: 14px; color: var(--nw-muted); font-weight: 600; }
