/* ------------------------------------------------------------
   40. DENSITY PASS — compact rhythm (loads last)

   Element sizes were tuned on a large screen before the homepage grew past a
   dozen sections; at real viewport widths the type scale + 96px section padding
   made the page read as one long wall of big boxes, worst on mobile. This
   module trims the headline scale, section rhythm and card padding by roughly
   15-20% — while keeping generous white space between blocks — so the page
   feels roomier without any element becoming small.

   Everything here overrides an earlier module, so a rule that changes only a
   modifier shared with a variant (`.ord-eyebrow--dark`, `.ord-price-amount--soft`)
   must be scoped, or it silently flattens the variant.
   ------------------------------------------------------------ */

/* 1. Page rhythm ------------------------------------------------
   Container width stays 1180px on purpose: the carousels compute their
   full-bleed offset from that number. Only the vertical rhythm shrinks. */
.ord-section {
	padding: 72px 0;
}

.ord-section-head {
	max-width: 660px;
	margin: 0 auto 40px;
}

.ord-section-title {
	font-size: clamp(1.65rem, 3.2vw, 2.4rem);
	line-height: 1.14;
	letter-spacing: -0.028em;
	margin: 12px 0 14px;
}

.ord-section-desc {
	font-size: 1rem;
	line-height: 1.6;
	max-width: 580px;
}

.ord-eyebrow {
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	padding: 6px 14px;
}

/* Only the light pill takes the ink shadow — `--dark` sits on ink sections and
   needs its white shadow, which an unscoped override erased. */
.ord-eyebrow:not(.ord-eyebrow--dark) {
	box-shadow: 2px 2px 0 0 var(--ink);
}

.ord-eyebrow--dark {
	box-shadow: 2px 2px 0 0 var(--paper);
}

/* 2. Header ----------------------------------------------------- */
.ord-header-inner {
	min-height: 62px;
	gap: 16px;
}

.ord-logo {
	font-size: 1.35rem;
}

.ord-logo-badge {
	font-size: 0.55rem;
	padding: 2px 8px;
	margin-left: 7px;
}

.ord-nav ul li a,
.ord-nav #primary-menu .menu-item > a {
	padding: 7px 12px;
	font-size: 0.875rem;
}

.ord-header-actions {
	gap: 8px;
}

.ord-burger {
	width: 40px;
	height: 40px;
	gap: 4px;
	border-radius: 11px;
	box-shadow: 3px 3px 0 0 var(--ord-ink);
}

.ord-burger span {
	width: 16px;
	height: 2px;
}

.ord-burger[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.ord-burger[aria-expanded="true"] span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

/* 3. Buttons ---------------------------------------------------- */
.ord-btn {
	font-size: 0.95rem;
	padding: 12px 24px;
	box-shadow: 4px 4px 0 0 var(--ink);
}

.ord-btn--sm {
	padding: 8px 15px;
	font-size: 0.82rem;
	box-shadow: 3px 3px 0 0 var(--ink);
}

.ord-btn--lg {
	padding: 14px 30px;
	font-size: 1.02rem;
	box-shadow: 5px 5px 0 0 var(--ink);
}

/* 4. Hero ------------------------------------------------------- */
.ord-hero {
	padding: 76px 0 88px;
}

.ord-hero-inner {
	gap: 44px;
}

.ord-hero-title {
	font-size: clamp(2.15rem, 3.7vw, 3.2rem);
	line-height: 1.07;
	margin: 16px 0;
}

.ord-hero-desc {
	font-size: clamp(0.98rem, 1.15vw, 1.06rem);
	line-height: 1.6;
	max-width: 500px;
	margin-bottom: 26px;
}

.ord-hero-actions {
	gap: 12px;
	margin-bottom: 26px;
}

/* 5. Ticker ----------------------------------------------------- */
.ord-marquee {
	padding: 12px 0;
}

.ord-marquee-item {
	font-size: 0.95rem;
}

/* 6. Cards: padding + gaps ------------------------------------- */
.ord-problems-grid,
.ord-usecase-grid,
.ord-page .prototype-grid {
	gap: 20px;
}

.ord-problem-card,
.ord-offer-card {
	padding: 22px 20px;
}

.ord-chart-card {
	padding: 22px 20px 18px;
}

.ord-browser-body {
	padding: 18px;
}

.ord-bina-body {
	padding: 16px 18px 18px;
}

.ord-pricing-grid {
	gap: 24px;
}

.ord-price-card {
	padding: 24px 22px 22px;
	gap: 14px;
}

/* 3-up package ladders own their own padding in 23-pricing.css (0,2,0). */
.ord-pricing-grid--multi .ord-price-card {
	padding: 22px 20px 20px;
	gap: 12px;
}

.ord-price-name {
	font-size: 1.1rem;
}

.ord-pricing-grid--multi .ord-price-name {
	font-size: 1rem;
}

/* `--soft` (23-pricing.css) is a deliberately smaller price variant — skip it. */
.ord-price-amount:not(.ord-price-amount--soft) {
	font-size: 2rem;
}

.ord-pricing-grid--multi .ord-price-amount:not(.ord-price-amount--soft) {
	font-size: 1.9rem;
}

/* Don't add a gap on `.ord-cases-group` here: the seamless loop wraps at the
   group width, so any card gap must equal the group's trailing padding. */
.ord-case-card {
	padding: 20px 18px 18px;
	gap: 10px;
}

.ord-case-title,
.ord-cases--bina .ord-case-title {
	font-size: 1.26rem;
}

.ord-case-price,
.ord-case-outcome {
	padding: 10px 12px;
}

.ord-timeline-card {
	padding: 18px 20px;
}

.ord-timeline-banner {
	padding: 16px 20px;
}

/* 7. Prototype preview ----------------------------------------- */
/* 22-prototype.css styles the card at (0,3,0), so the override must match. */
.ord-page .ord-prototype-section .prototype-info {
	padding: 16px 18px 18px;
	gap: 12px;
}

.ord-page .ord-prototype-section .prototype-title {
	font-size: 1rem;
}

/* 8. FAQ -------------------------------------------------------- */
.ord-faq-q {
	padding: 16px 18px;
	font-size: 0.98rem;
}

.ord-faq-a-inner {
	padding: 0 18px 16px;
	font-size: 0.95rem;
	line-height: 1.62;
}

/* 9. Business check -------------------------------------------- */
.ord-check {
	padding: 26px 22px;
}

.ord-check-lead-title {
	font-size: 1.2rem;
}

.ord-check-result-title {
	font-size: 1.35rem;
}

/* 10. CTA + modals --------------------------------------------- */
.ord-cta-section {
	padding: 80px 0;
}

.ord-cta-title {
	font-size: clamp(1.9rem, 3.4vw, 2.7rem);
	line-height: 1.1;
	margin: 16px 0 14px;
}

.ord-modal-form.ord-cta-form {
	padding: 22px 20px 20px;
}

.ord-modal-card.ord-proposal-modal-card {
	padding: 18px 18px 16px;
}

/* 11. Footer ---------------------------------------------------- */
.ord-footer-inner {
	padding: 34px 24px 22px;
	gap: 26px;
}

/* 12. Tablet ---------------------------------------------------- */
@media (max-width: 1024px) {
	.ord-section {
		padding: 60px 0;
	}

	.ord-hero {
		padding: 56px 0 64px;
	}

	.ord-hero-inner {
		gap: 36px;
	}

	.ord-cta-section {
		padding: 64px 0;
	}

	.ord-section-head {
		margin-bottom: 34px;
	}
}

/* 13. Mobile ---------------------------------------------------- */
@media (max-width: 640px) {
	.ord-section {
		padding: 44px 0;
	}

	.ord-section-head {
		margin-bottom: 24px;
	}

	.ord-section-title {
		font-size: 1.6rem;
		margin: 10px 0;
	}

	.ord-section-desc {
		font-size: 0.94rem;
		line-height: 1.58;
	}

	.ord-eyebrow {
		font-size: 0.66rem;
		padding: 5px 12px;
	}

	.ord-header-inner {
		min-height: 56px;
	}

	.ord-logo {
		font-size: 1.15rem;
	}

	/* Body copy: only the paragraphs that render at 16px need trimming — the
	   smaller helper lines (`.ord-chart-sub` 0.74rem, `.ord-price-desc` 0.86rem,
	   …) already fit and must keep their hierarchy. */
	.ord-why-desc,
	.ord-cta-desc,
	.ord-check-result-desc {
		font-size: 0.95rem;
		line-height: 1.6;
	}

	.ord-btn {
		padding: 11px 20px;
		font-size: 0.92rem;
	}

	.ord-hero {
		padding: 36px 0 46px;
	}

	.ord-hero-title {
		font-size: 2rem;
		line-height: 1.1;
		margin: 14px 0 12px;
	}

	.ord-hero-desc {
		font-size: 0.97rem;
		line-height: 1.6;
		margin-bottom: 22px;
	}

	.ord-marquee {
		padding: 10px 0;
	}

	.ord-marquee-item {
		font-size: 0.88rem;
	}

	.ord-problem-card,
	.ord-offer-card,
	.ord-chart-card,
	.ord-price-card,
	.ord-pricing-grid--multi .ord-price-card {
		padding: 18px 16px;
	}

	.ord-case-card {
		padding: 18px 16px 16px;
	}

	.ord-case-title,
	.ord-cases--bina .ord-case-title {
		font-size: 1.15rem;
	}

	.ord-price-amount:not(.ord-price-amount--soft),
	.ord-pricing-grid--multi .ord-price-amount:not(.ord-price-amount--soft) {
		font-size: 1.75rem;
	}

	.ord-faq-q {
		padding: 14px 16px;
		font-size: 0.92rem;
	}

	.ord-faq-a-inner {
		padding: 0 16px 14px;
		font-size: 0.9rem;
	}

	.ord-check {
		padding: 22px 16px;
	}

	.ord-check-lead-title {
		font-size: 1.1rem;
	}

	.ord-timeline-card {
		padding: 16px 18px;
	}

	.ord-cta-section {
		padding: 48px 0;
	}

	.ord-cta-title {
		font-size: 1.75rem;
	}

	.ord-modal-form.ord-cta-form {
		padding: 18px 16px 16px;
	}

	.ord-footer-inner {
		padding: 28px 18px 18px;
		gap: 20px;
	}
}
