/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@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; scroll-behavior: auto !important; }
}

body {
	margin: 0;
	font-family: var(--ns-font-base);
	font-size: var(--ns-body-size);
	line-height: 1.7;
	color: var(--ns-ink-900);
	background: var(--ns-off-white);
	direction: rtl;
}

h1, h2, h3 { font-weight: 600; line-height: 1.25; margin: 0 0 var(--space-4); }
h1 { font-size: var(--ns-h1-size); font-weight: 800; line-height: 1.15; }
h2 { font-size: var(--ns-h2-size); }
h3 { font-size: var(--ns-h3-size); }
p { margin: 0 0 var(--space-4); }
a { color: var(--ns-teal-500); text-decoration: none; }
a:hover { color: var(--ns-teal-400); }
img { max-width: 100%; height: auto; display: block; }

.ns-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;
}

.ns-skip-link {
	position: absolute; inset-inline-start: -999px; top: 0; z-index: 1000;
	background: var(--ns-teal-500); color: #fff; padding: var(--space-3) var(--space-5);
	border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}
.ns-skip-link:focus { inset-inline-start: 0; }

.ns-container {
	max-width: var(--ns-container-max);
	width: min(92vw, var(--ns-container-max));
	margin-inline: auto;
}

/* Sections & dark/light rhythm with soft gradient seam */
.ns-section { padding-block: var(--space-9); position: relative; }
.ns-section--light { background: var(--ns-off-white); color: var(--ns-ink-900); }
.ns-section--dark { background: var(--ns-navy-950); color: var(--ns-ink-on-dark); }
.ns-section--dark h2, .ns-section--dark h3 { color: var(--ns-white); }
.ns-section--dark::before {
	content: ""; position: absolute; inset-inline: 0; top: -60px; height: 120px;
	background: linear-gradient(to bottom, transparent, rgba(0,166,166,0.08) 50%, var(--ns-navy-950));
	pointer-events: none;
}
.ns-section__title { text-align: center; margin-bottom: var(--space-7); }

/* Header */
.ns-site-header {
	position: sticky; top: 0; z-index: 500;
	background: rgba(7, 26, 38, 0.92); backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.ns-site-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: var(--space-5); padding-block: var(--space-3);
}
.ns-brand { display: flex; flex-direction: column; color: var(--ns-white); }
.ns-brand__wordmark { font-size: 1.35rem; font-weight: 800; color: var(--ns-white); }
.ns-brand__tagline { font-size: var(--ns-small-size); color: var(--ns-teal-400); }
.ns-brand__wordmark--footer { font-size: 1.5rem; color: var(--ns-white); display:block; margin-bottom: var(--space-3); }

.ns-nav__list { list-style: none; display: flex; gap: var(--space-5); margin: 0; padding: 0; }
.ns-nav__list a { color: var(--ns-ink-on-dark); font-weight: 600; }
.ns-nav__list a:hover { color: var(--ns-teal-400); }

.ns-nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: var(--space-2); }
.ns-nav-toggle__bar { display: block; width: 24px; height: 2px; background: var(--ns-white); margin: 5px 0; border-radius: 2px; }

@media (max-width: 880px) {
	.ns-nav { position: absolute; inset-inline: 0; top: 100%; background: var(--ns-navy-950); padding: var(--space-5); display: none; }
	.ns-nav.is-open { display: block; }
	.ns-nav__list { flex-direction: column; gap: var(--space-4); }
	.ns-header-cta { display: none; }
	.ns-nav-toggle { display: block; }
}

/* Buttons */
.btn {
	display: inline-flex; align-items: center; gap: var(--space-2);
	padding: var(--space-3) var(--space-6); border-radius: var(--radius-sm);
	font-weight: 600; font-size: var(--ns-body-size); border: 2px solid transparent;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
	cursor: pointer;
}
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.btn--primary { background: var(--ns-teal-500); color: #fff; }
.btn--primary:hover { background: var(--ns-teal-400); color: #fff; }
.btn--secondary { background: transparent; border-color: var(--ns-amber-500); color: var(--ns-amber-500); }
.btn--secondary:hover { background: var(--ns-amber-500); color: var(--ns-navy-950); }
.btn--ghost { background: transparent; color: var(--ns-teal-500); border-color: currentColor; }
.ns-cta-pair { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.ns-cta-icon { font-size: 1.1em; }

/* Hero */
.ns-hero {
	position: relative; overflow: hidden; color: var(--ns-white);
	padding-block: var(--space-10) var(--space-9);
	background: radial-gradient(1200px 600px at 20% -10%, rgba(0,166,166,0.25), transparent),
	            linear-gradient(160deg, var(--ns-navy-950), var(--ns-navy-800));
}
.ns-hero__inner { position: relative; z-index: 2; }
.ns-hero__content { max-width: 720px; }
.ns-hero__title { margin-bottom: var(--space-5); }
.ns-hero__subtitle { font-size: 1.1rem; color: var(--ns-ink-on-dark); max-width: 600px; margin-bottom: var(--space-6); }
.ns-hero__cta { display: flex; gap: var(--space-3); flex-wrap: wrap; }

@media (prefers-reduced-motion: no-preference) {
	.ns-hero__bg { position: absolute; inset: -10%; background: inherit; will-change: transform; }
}

/* Problem selector */
.ns-problem-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-5); }
.ns-problem-card {
	display: flex; flex-direction: column; align-items: center; gap: var(--space-3);
	background: var(--ns-white); border-radius: var(--radius-md); padding: var(--space-6) var(--space-4);
	box-shadow: var(--shadow-soft); text-align: center; color: var(--ns-ink-900);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ns-problem-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); color: var(--ns-ink-900); }
.ns-problem-card__icon { font-size: 2rem; }
.ns-problem-card__label { font-weight: 600; }

/* Cards / services grid */
.ns-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-6); }
.card {
	background: var(--ns-white); border-radius: var(--radius-md); padding: var(--space-6);
	box-shadow: var(--shadow-soft); transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }
.ns-section--dark .card { background: var(--ns-navy-800); color: var(--ns-ink-on-dark); }
.ns-section--dark .card h3 { color: var(--ns-white); }
.card__link { display: inline-block; margin-top: var(--space-3); font-weight: 600; }

/* Split sections (equipment/companies teasers) */
.ns-split__text { max-width: 640px; }

/* Steps */
.ns-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-5); counter-reset: step; }
.ns-steps li { display: flex; align-items: center; gap: var(--space-4); font-size: 1.05rem; }
.ns-steps__num {
	flex: none; width: 40px; height: 40px; border-radius: 50%;
	background: var(--ns-teal-500); color: #fff; display: flex; align-items: center; justify-content: center;
	font-weight: 800;
}

/* FAQ */
.ns-faq-list { display: grid; gap: var(--space-4); max-width: 820px; margin-inline: auto; }
.ns-faq-item {
	background: var(--ns-navy-800); border-radius: var(--radius-md); padding: var(--space-5);
}
.ns-faq-item summary { cursor: pointer; font-weight: 600; color: var(--ns-white); }
.ns-faq-item p { margin-top: var(--space-3); margin-bottom: 0; color: var(--ns-ink-on-dark); }

/* Final CTA */
.ns-final-cta__inner { text-align: center; }
.ns-final-cta .ns-cta-pair { justify-content: center; }

/* Pricing factors */
.ns-pricing-factors__cta { text-align: center; font-weight: 600; margin-top: var(--space-6); }

/* Footer */
.ns-site-footer { background: var(--ns-navy-950); color: var(--ns-ink-on-dark); padding-block: var(--space-8) var(--space-6); }
.ns-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-7); }
.ns-footer__heading { color: var(--ns-white); font-size: 1rem; margin-bottom: var(--space-4); }
.ns-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.ns-footer__col a { color: var(--ns-ink-on-dark); }
.ns-footer__summary { max-width: 360px; color: var(--ns-ink-on-dark); opacity: 0.85; }
.ns-footer__legal { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid rgba(255,255,255,0.1); font-size: var(--ns-small-size); }
.ns-footer__designer a { color: var(--ns-teal-400); }

@media (max-width: 880px) {
	.ns-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
	.ns-footer__grid { grid-template-columns: 1fr; }
}

/* Mobile sticky CTA bar */
.ns-mobile-bar { display: none; }
@media (max-width: 880px) {
	.ns-mobile-bar {
		display: flex; position: fixed; bottom: 0; inset-inline: 0; z-index: 600;
		background: var(--ns-navy-950); border-top: 1px solid rgba(255,255,255,0.12);
		padding: var(--space-2) var(--space-3); gap: var(--space-2);
	}
	.ns-mobile-bar__item {
		flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
		color: var(--ns-ink-on-dark); font-size: 0.75rem; padding: var(--space-2);
	}
	.ns-main-content { padding-bottom: 72px; }
}

/* Generic page template */
.ns-page { padding-block: var(--space-8); }
.ns-page__title { margin-bottom: var(--space-6); }

/* Scroll-reveal (JS toggles .is-visible; CSS-only fallback shows content by default) */
.ns-reveal { opacity: 0; transform: translateY(8px); transition: opacity 0.5s ease, transform 0.5s ease; }
.ns-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.ns-reveal { opacity: 1; transform: none; transition: none; }
}
