/* ==========================================================================
   The Club — business layer.

   A premium, corporate surface that shares a building with the playful paper
   world in main.css. Dark sections carry the company story; paper sections
   carry the people. Everything below is additive: main.css owns the base.
   ========================================================================== */

:root {
	--biz-ink: #07090a;
	--biz-surface: #0b0f0e;
	--biz-raise: #111716;
	--biz-raise-2: #17201e;
	--biz-line: rgba(255, 255, 255, 0.1);
	--biz-line-strong: rgba(255, 255, 255, 0.24);
	--biz-text: rgba(255, 255, 255, 0.74);
	--biz-dim: rgba(255, 255, 255, 0.5);
	--biz-brass: #cdae6d;
	--biz-brass-dim: rgba(205, 174, 109, 0.5);
	--biz-brass-soft: rgba(205, 174, 109, 0.14);
	--club-sand: #efe9dc;
	--ink-line: rgba(11, 12, 11, 0.12);
	--ink-line-strong: rgba(11, 12, 11, 0.26);
	--ink-soft: rgba(11, 12, 11, 0.64);
	--r-lg: 28px;
	--r-md: 18px;
	--r-sm: 12px;
	--pad-section: clamp(84px, 10vw, 168px);
}

/* --------------------------------------------------------------------------
   Shared primitives
   -------------------------------------------------------------------------- */

.ic {
	display: block;
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
}

/* Without scripting there is no reveal observer and no loader dismissal, so
   the page must render fully readable on its own. */
html:not(.js) .reveal {
	opacity: 1 !important;
	transform: none !important;
}

html:not(.js) .club-loader,
html:not(.js) .cursor-dot {
	display: none !important;
}

html:not(.js) .faq-item__panel {
	display: block !important;
}

/* --------------------------------------------------------------------------
   Reading rhythm

   The base sheet was tuned for short Latin display lines at line-height 0.9.
   Arabic sets taller — ascenders and descenders collide at that leading, and
   stacked lines read as one block. Everything below buys the text air.
   -------------------------------------------------------------------------- */

body {
	line-height: 1.85;
}

.display-title {
	line-height: 1.02;
}

.display-title em,
.display-title span + span {
	margin-block-start: 0.1em;
}

[dir="rtl"] .display-title {
	line-height: 1.24;
	letter-spacing: -0.035em;
}

[dir="rtl"] .display-title em,
[dir="rtl"] .display-title span + span {
	margin-block-start: 0.14em;
}

[dir="rtl"] .hero__title {
	line-height: 1.02;
}

[dir="rtl"] .hero__welcome {
	margin-block-end: 0.34em;
	line-height: 1.35;
}

[dir="rtl"] .gate-door__title,
[dir="rtl"] .plan-card__title,
[dir="rtl"] .sol-card__title,
[dir="rtl"] .zone h3,
[dir="rtl"] .adv-card h3,
[dir="rtl"] .value-card h3,
[dir="rtl"] .process-step h3,
[dir="rtl"] .together-copy h3 {
	line-height: 1.5;
}

[dir="rtl"] .faq-item__question,
[dir="rtl"] .voice blockquote p {
	line-height: 1.75;
}

/* Body copy across the new sections. */
.gate__lead,
.gate-door__lead,
.sol-card__lead,
.advantages__lead,
.adv-card p,
.amenities__lead,
.process-step p,
.plan-card__tagline,
.faq__aside-lead,
.faq-item__panel p,
.inquiry__aside-lead,
.biz-cta__lead,
.zones__lead,
.zone__body,
.value-card p,
.story__text p,
.page-hero__lead,
.biz__head-aside p,
.site-footer__tagline {
	line-height: 1.95;
}

/* Lists need room between rows, not just inside them. */
.gate-door__list li,
.sol-card__points li,
.plan-card__features li,
.inquiry__assurances li,
.page-hero__facts li,
.amenity__label,
.trust-promises__label {
	line-height: 1.8;
}

.sol-card__points li,
.plan-card__features li {
	padding-block: 11px;
}

.gate-door__list li {
	padding-block: 15px;
}

.site-footer__nav a,
.site-footer__col a,
.site-footer__hours {
	line-height: 1.7;
}

.eyebrow--brass {
	color: var(--biz-brass);
}

.button--sm {
	min-height: 46px;
	padding: 6px 8px 6px 18px;
	font-size: 0.82rem;
	gap: 14px;
}

[dir="rtl"] .button--sm {
	padding: 6px 18px 6px 8px;
}

.button--sm i {
	width: 32px;
	height: 32px;
}

.button--brass {
	background: var(--biz-brass);
	border-color: var(--biz-brass);
	color: #100d06;
}

.button--brass i {
	background: #100d06;
	color: var(--biz-brass);
}

.button--brass:hover,
.button--brass:focus-visible {
	background: #dcbf7f;
	border-color: #dcbf7f;
}

.button--ghost {
	border-color: var(--biz-line-strong);
	background: transparent;
	color: var(--club-white);
}

.button--ghost i {
	background: rgba(255, 255, 255, 0.12);
	color: var(--club-white);
}

.button--ghost:hover,
.button--ghost:focus-visible {
	border-color: var(--biz-brass);
	color: var(--biz-brass);
}

.page-hero--light .button--ghost,
.plans .button--ghost,
.amenities .button--ghost {
	border-color: var(--ink-line-strong);
	color: var(--club-ink);
}

.page-hero--light .button--ghost i {
	background: rgba(11, 12, 11, 0.08);
	color: var(--club-ink);
}

.hero__actions {
	flex-wrap: wrap;
	gap: 18px 26px;
}

.marquee--thin div {
	padding-block: 11px;
	font-size: clamp(0.72rem, 1.1vw, 0.95rem);
	letter-spacing: 0.24em;
	animation-duration: 30s;
}

.marquee--thin {
	background: var(--club-ink);
	border-block-color: rgba(255, 255, 255, 0.14);
	color: var(--club-white);
}

/* Editor-only helpers ---------------------------------------------------- */

.editor-hint {
	padding: 26px 0;
	background: var(--biz-brass-soft);
	font-size: 0.85rem;
}

.editor-hint p {
	margin: 0;
}

.editor-hint a {
	border-block-end: 1px solid currentColor;
	font-weight: 700;
}

.editor-content {
	padding: clamp(60px, 8vw, 110px) 0;
	background: var(--club-paper);
}

/* --------------------------------------------------------------------------
   The hero arch

   Replaces the spinning green disc. An arch reads as a doorway — quieter,
   more architectural, and it sets up the "two doors" section below. The dark
   frame against the paper background does the work the rotation used to.
   -------------------------------------------------------------------------- */

.hero__character-wrap {
	width: clamp(232px, 27vw, 396px);
	inset-inline-end: clamp(24px, 5vw, 92px);
}

.hero-arch {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.hero-arch__halo {
	position: absolute;
	z-index: 0;
	inset: -16% -22% 6%;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 42%, rgba(23, 157, 70, 0.22), transparent 66%);
	filter: blur(6px);
	pointer-events: none;
}

.hero-arch__frame {
	position: relative;
	z-index: 1;
	width: 100%;
	aspect-ratio: 3 / 4.1;
	overflow: hidden;
	border: 1px solid rgba(205, 174, 109, 0.34);
	border-radius: 999px 999px 22px 22px;
	background:
		radial-gradient(ellipse at 50% 88%, rgba(23, 157, 70, 0.2), transparent 58%),
		linear-gradient(168deg, #1b2723 0%, #0d1211 58%, #080b0a 100%);
	box-shadow:
		0 46px 110px rgba(7, 12, 10, 0.3),
		0 4px 18px rgba(7, 12, 10, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.07);
	isolation: isolate;
	transform: translateY(calc(var(--hero-progress) * -22px)) rotate(calc(var(--pointer-x) * 0.22deg));
	transition: transform 240ms linear;
}

.hero-arch__inlay {
	position: absolute;
	z-index: 4;
	inset: 12px;
	border: 1px solid rgba(205, 174, 109, 0.24);
	border-radius: 999px 999px 12px 12px;
	pointer-events: none;
}

/* A single slow sweep of light instead of a rotating ray field. */
.hero-arch__glow {
	position: absolute;
	z-index: 1;
	inset-block-start: -30%;
	inset-inline-start: -40%;
	width: 110%;
	height: 90%;
	background: linear-gradient(
		74deg,
		transparent 34%,
		rgba(255, 255, 255, 0.07) 48%,
		transparent 62%
	);
	pointer-events: none;
	transform: translateY(calc(var(--hero-progress) * 120px));
}

.hero-arch__floor {
	position: absolute;
	z-index: 2;
	inset-block-end: 6%;
	inset-inline-start: 50%;
	width: 74%;
	height: 8%;
	border-radius: 50%;
	background: radial-gradient(ellipse, rgba(27, 172, 79, 0.34), transparent 70%);
	filter: blur(5px);
	pointer-events: none;
	transform: translateX(-50%);
}

.hero__character-wrap .greeter {
	z-index: 3;
	width: 76%;
	inset-block-end: 7%;
	filter: drop-shadow(0 22px 26px rgba(0, 0, 0, 0.45));
	transform:
		translateX(-50%)
		translateY(calc(var(--hero-progress) * 14px))
		rotate(calc(var(--pointer-y) * -0.3deg));
}

.hero-arch__plaque {
	position: relative;
	z-index: 3;
	margin-block-start: -14px;
	padding: 9px 20px;
	border: 1px solid rgba(205, 174, 109, 0.5);
	border-radius: 999px;
	background: var(--club-paper);
	color: #8a7238;
	direction: ltr;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.58rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	white-space: nowrap;
	box-shadow: 0 8px 22px rgba(11, 12, 11, 0.08);
}

/* A quieter greeting: a small card, not a comic-book callout. */
.greeting-bubble {
	inset-block-start: 5%;
	/* Stays inside the wrap: any further out and it clips against the
	   viewport edge on narrow desktops. */
	inset-inline-start: -4%;
	max-width: 216px;
	padding: 11px 16px;
	border: 1px solid var(--ink-line-strong);
	border-radius: 16px 16px 4px 16px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 14px 34px rgba(11, 12, 11, 0.1);
	font-size: 0.76rem;
	font-weight: 600;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transform: translateY(14px);
}

[dir="rtl"] .greeting-bubble {
	border-radius: 16px 16px 16px 4px;
}

@media (max-width: 1180px) {
	.hero__character-wrap {
		width: clamp(210px, 29vw, 340px);
	}

	.greeting-bubble {
		inset-inline-start: 0;
		max-width: 196px;
	}
}

/* Between 721 and 920 the base sheet still positions the wrap absolutely, so
   only the size changes here. */
@media (max-width: 920px) {
	.hero__character-wrap {
		width: min(30vw, 268px);
	}

	.greeting-bubble {
		max-width: 176px;
		font-size: 0.7rem;
	}
}

/* At 720 the base sheet drops the wrap into the flow and centres it. */
@media (max-width: 720px) {
	.hero__character-wrap {
		width: min(72%, 262px);
	}

	.hero-arch__frame {
		transform: none;
	}

	.greeting-bubble {
		inset-inline-start: 0;
	}

	.hero-arch__plaque {
		font-size: 0.5rem;
		letter-spacing: 0.16em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-arch__frame,
	.hero-arch__glow,
	.hero__character-wrap .greeter {
		transform: none;
	}

	.hero__character-wrap .greeter {
		transform: translateX(-50%);
	}
}

body.motion-off .hero-arch__frame,
body.motion-off .hero-arch__glow {
	transform: none;
}

body.motion-off .hero__character-wrap .greeter {
	transform: translateX(-50%);
}

/* --------------------------------------------------------------------------
   Header additions
   -------------------------------------------------------------------------- */

.site-nav__list,
.site-footer__list {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav__list {
	align-items: center;
	gap: clamp(16px, 2.6vw, 40px);
}

.site-nav__list li,
.site-footer__list li {
	margin: 0;
}

.site-nav .current-menu-item > a::after,
.site-nav .current_page_item > a::after {
	transform: scaleX(1);
	transform-origin: left;
}

.header-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 44px;
	padding-inline: 16px 6px;
	border-radius: 999px;
	background: var(--club-ink);
	color: var(--club-white);
	font-size: 0.76rem;
	font-weight: 700;
	white-space: nowrap;
	transition:
		background 240ms ease,
		transform 320ms var(--ease-club);
}

[dir="rtl"] .header-cta {
	padding-inline: 6px 16px;
}

.header-cta i {
	display: grid;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--club-green);
	place-items: center;
	font-family: Arial, sans-serif;
	font-size: 0.9rem;
	font-style: normal;
	transition: transform 300ms var(--ease-club);
}

.header-cta:hover,
.header-cta:focus-visible {
	background: var(--club-green);
}

.header-cta:hover i,
.header-cta:focus-visible i {
	background: var(--club-white);
	color: var(--club-ink);
	transform: rotate(45deg);
}

.site-nav__cta {
	display: none;
}

/* --------------------------------------------------------------------------
   The gate — two doors into one club
   -------------------------------------------------------------------------- */

.gate {
	position: relative;
	z-index: 2;
	padding-block: var(--pad-section);
	background:
		radial-gradient(circle at 82% 12%, rgba(23, 157, 70, 0.08), transparent 42%),
		var(--club-paper);
}

.gate__head {
	max-width: 900px;
	margin-block-end: clamp(42px, 5vw, 72px);
}

.gate__head .eyebrow {
	margin-block-end: 18px;
	color: var(--club-green);
}

.gate__lead {
	max-width: 560px;
	margin: 26px 0 0;
	color: var(--ink-soft);
	font-size: 1.05rem;
}

.gate__doors {
	display: flex;
	gap: 22px;
}

.gate-door {
	position: relative;
	display: flex;
	overflow: hidden;
	flex: 1 1 0;
	flex-direction: column;
	min-height: 540px;
	padding: clamp(28px, 3vw, 46px);
	border: 1px solid transparent;
	border-radius: var(--r-lg);
	isolation: isolate;
	transition:
		flex-grow 620ms var(--ease-club),
		transform 520ms var(--ease-club),
		box-shadow 520ms ease,
		border-color 320ms ease;
}

.gate-door--business {
	border-color: var(--biz-line);
	background: linear-gradient(155deg, var(--biz-raise-2), var(--biz-surface) 62%);
	color: var(--biz-text);
	box-shadow: 0 26px 80px rgba(7, 9, 10, 0.24);
}

.gate-door--social {
	border-color: var(--ink-line);
	background: linear-gradient(155deg, var(--club-white), var(--club-sand) 82%);
	color: var(--ink-soft);
	box-shadow: 0 26px 80px rgba(11, 12, 11, 0.08);
}

.gate-door__grid,
.gate-door__glow,
.gate-door__rays {
	position: absolute;
	z-index: -1;
	pointer-events: none;
}

.gate-door__grid {
	inset: 0;
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 58px 58px;
	mask-image: linear-gradient(to bottom, #000, transparent 78%);
	-webkit-mask-image: linear-gradient(to bottom, #000, transparent 78%);
}

.gate-door__glow {
	inset-block-start: -30%;
	inset-inline-end: -22%;
	width: 62%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(23, 157, 70, 0.34), transparent 66%);
	opacity: 0.7;
	transition: opacity 520ms ease, transform 720ms var(--ease-club);
}

.gate-door__rays {
	inset-block-end: -46%;
	inset-inline-start: -20%;
	width: 84%;
	aspect-ratio: 1;
	background: repeating-conic-gradient(
		from -18deg at 50% 50%,
		rgba(23, 157, 70, 0.12) 0deg 12deg,
		transparent 12deg 26deg
	);
	border-radius: 50%;
	opacity: 0.85;
	transition: transform 900ms var(--ease-club);
}

.gate-door__index {
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	opacity: 0.55;
}

.gate-door__kicker {
	display: block;
	margin-block: 22px 14px;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.2em;
}

.gate-door--business .gate-door__kicker {
	color: var(--biz-brass);
}

.gate-door--social .gate-door__kicker {
	color: var(--club-green);
}

.gate-door__title {
	margin: 0;
	font-size: clamp(2.1rem, 3.4vw, 3.5rem);
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: 1.02;
}

.gate-door--business .gate-door__title {
	color: var(--club-white);
}

.gate-door--social .gate-door__title {
	color: var(--club-ink);
}

.gate-door__lead {
	max-width: 46ch;
	margin: 18px 0 0;
	font-size: 1rem;
	line-height: 1.75;
}

.gate-door__list {
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.gate-door__list li {
	position: relative;
	padding-block: 12px;
	padding-inline-start: 22px;
	border-block-start: 1px solid currentColor;
	font-size: 0.9rem;
}

.gate-door--business .gate-door__list li {
	border-color: var(--biz-line);
}

.gate-door--social .gate-door__list li {
	border-color: var(--ink-line);
}

.gate-door__list li::before {
	position: absolute;
	inset-block-start: 19px;
	inset-inline-start: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	content: "";
}

.gate-door--business .gate-door__list li::before {
	background: var(--biz-brass);
}

.gate-door--social .gate-door__list li::before {
	background: var(--club-green);
}

.gate-door__go {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-block-start: auto;
	padding-block-start: 30px;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.84rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.gate-door--business .gate-door__go {
	color: var(--club-white);
}

.gate-door--social .gate-door__go {
	color: var(--club-ink);
}

.gate-door__go .ic {
	font-size: 1.3rem;
	transition: transform 340ms var(--ease-club);
}

[dir="rtl"] .gate-door__go .ic {
	transform: scaleX(-1);
}

.gate-door__sticker {
	position: absolute;
	z-index: 2;
	inset-block-start: 26px;
	inset-inline-end: 24px;
	padding: 7px 13px;
	border-radius: 999px;
	background: var(--club-ink);
	color: var(--club-white);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.6rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	transform: rotate(6deg);
}

.gate-door:hover,
.gate-door:focus-visible {
	transform: translateY(-6px);
}

.gate-door--business:hover,
.gate-door--business:focus-visible {
	border-color: var(--biz-brass-dim);
	box-shadow: 0 40px 110px rgba(7, 9, 10, 0.34);
}

.gate-door--social:hover,
.gate-door--social:focus-visible {
	border-color: var(--club-green);
	box-shadow: 0 40px 110px rgba(23, 157, 70, 0.16);
}

.gate-door:hover .gate-door__go .ic {
	transform: translateX(6px);
}

[dir="rtl"] .gate-door:hover .gate-door__go .ic {
	transform: scaleX(-1) translateX(6px);
}

.gate-door--business:hover .gate-door__glow {
	opacity: 1;
	transform: scale(1.14);
}

.gate-door--social:hover .gate-door__rays {
	transform: rotate(18deg);
}

/* --------------------------------------------------------------------------
   Dark business sections
   -------------------------------------------------------------------------- */

.biz {
	position: relative;
	z-index: 2;
	overflow: hidden;
	padding-block: var(--pad-section);
	background: var(--biz-surface);
	color: var(--biz-text);
}

.biz .display-title span {
	color: var(--club-white);
}

.biz .display-title em {
	color: var(--biz-brass);
}

.biz__aura {
	position: absolute;
	inset-block-start: -28%;
	inset-inline-start: 50%;
	width: min(1100px, 92vw);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(23, 157, 70, 0.18), transparent 62%);
	pointer-events: none;
	transform: translateX(-50%);
}

.biz__head {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.75fr);
	gap: clamp(30px, 4vw, 70px);
	align-items: end;
	margin-block-end: clamp(48px, 5.5vw, 88px);
}

.biz__head .eyebrow {
	margin-block-end: 18px;
}

.biz__head-aside p {
	margin: 0 0 26px;
	font-size: 1.02rem;
	line-height: 1.8;
}

.biz__head-aside .text-link {
	color: var(--club-white);
}

.biz__head-aside .text-link i {
	background: var(--biz-brass);
	color: #100d06;
}

.biz__foot {
	display: flex;
	justify-content: center;
	margin-block-start: clamp(42px, 4.5vw, 72px);
}

.biz .button:focus-visible,
.biz .text-link:focus-visible,
.gate-door--business:focus-visible {
	outline: 3px solid var(--biz-brass);
	outline-offset: 4px;
}

/* Solution cards --------------------------------------------------------- */

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

.sol-card {
	position: relative;
	display: flex;
	overflow: hidden;
	flex-direction: column;
	padding: clamp(24px, 2.4vw, 36px);
	border: 1px solid var(--biz-line);
	border-radius: var(--r-lg);
	background: linear-gradient(168deg, var(--biz-raise), rgba(11, 15, 14, 0.6));
	isolation: isolate;
	transition:
		transform 480ms var(--ease-club),
		border-color 320ms ease,
		box-shadow 480ms ease;
}

.sol-card__sheen {
	position: absolute;
	z-index: -1;
	inset-block-start: -1px;
	inset-inline: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--biz-brass-dim), transparent);
	opacity: 0;
	transition: opacity 420ms ease;
}

.sol-card:hover {
	border-color: rgba(205, 174, 109, 0.36);
	box-shadow: 0 34px 90px rgba(0, 0, 0, 0.4);
	transform: translateY(-7px);
}

.sol-card:hover .sol-card__sheen {
	opacity: 1;
}

.sol-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-block-end: 26px;
}

.sol-card__icon {
	display: grid;
	width: 56px;
	height: 56px;
	border: 1px solid var(--biz-line);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.03);
	color: var(--biz-brass);
	place-items: center;
	font-size: 1.6rem;
	transition:
		background 320ms ease,
		color 320ms ease,
		transform 420ms var(--ease-club);
}

.sol-card:hover .sol-card__icon {
	background: var(--biz-brass);
	color: #100d06;
	transform: rotate(-6deg);
}

.sol-card__index {
	font-family: "Manrope", Arial, sans-serif;
	font-size: 2.4rem;
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1;
	color: rgba(255, 255, 255, 0.12);
}

.sol-card__title {
	margin: 0;
	color: var(--club-white);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.sol-card__meta {
	display: inline-block;
	width: fit-content;
	margin: 14px 0 0;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--biz-brass-soft);
	color: var(--biz-brass);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.sol-card__lead {
	margin: 18px 0 0;
	font-size: 0.96rem;
	line-height: 1.8;
}

.sol-card__points {
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.sol-card__points li {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	padding-block: 9px;
	border-block-start: 1px solid var(--biz-line);
	color: var(--biz-dim);
	font-size: 0.86rem;
	line-height: 1.65;
}

.sol-card__points .ic {
	margin-block-start: 4px;
	color: var(--club-green-bright);
	font-size: 1rem;
}

.sol-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-block-start: auto;
	padding-block-start: 26px;
	color: var(--biz-brass);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.sol-card__cta .ic {
	font-size: 1.2rem;
	transition: transform 320ms var(--ease-club);
}

[dir="rtl"] .sol-card__cta .ic {
	transform: scaleX(-1);
}

.sol-card__cta:hover .ic {
	transform: translateX(5px);
}

[dir="rtl"] .sol-card__cta:hover .ic {
	transform: scaleX(-1) translateX(5px);
}

/* Trust bar -------------------------------------------------------------- */

.biz-trust {
	padding-block: clamp(52px, 6vw, 92px);
	background: var(--biz-ink);
	border-block: 1px solid var(--biz-line);
}

.trust-stats,
.trust-promises {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--biz-line);
}

.trust-stats__item,
.trust-promises__item {
	padding: clamp(22px, 2.4vw, 34px);
	background: var(--biz-ink);
}

.trust-stats__value {
	display: block;
	color: var(--biz-brass);
	font-family: "Manrope", Arial, sans-serif;
	font-size: clamp(2.6rem, 4.4vw, 4.2rem);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1;
	direction: ltr;
	unicode-bidi: isolate;
}

.trust-stats__label {
	display: block;
	margin-block-start: 14px;
	color: var(--biz-dim);
	font-size: 0.86rem;
	line-height: 1.6;
}

.trust-promises__item {
	display: flex;
	gap: 16px;
	align-items: center;
}

.trust-promises__icon {
	display: grid;
	width: 48px;
	height: 48px;
	flex: 0 0 auto;
	border: 1px solid var(--biz-line);
	border-radius: 14px;
	color: var(--biz-brass);
	place-items: center;
	font-size: 1.35rem;
}

.trust-promises__label {
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.94rem;
	font-weight: 600;
	line-height: 1.5;
}

.client-strip {
	margin-block-start: clamp(38px, 4vw, 62px);
	padding-block-start: clamp(28px, 3vw, 44px);
	border-block-start: 1px solid var(--biz-line);
}

.client-strip__label {
	margin: 0 0 24px;
	color: var(--biz-dim);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.client-strip__track {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(24px, 4vw, 58px);
	align-items: center;
}

.client-strip__item {
	display: block;
	opacity: 0.62;
	filter: grayscale(1) brightness(2.6);
	transition: opacity 300ms ease, filter 300ms ease;
}

.client-strip__item:hover {
	opacity: 1;
	filter: none;
}

.client-strip__logo {
	width: auto;
	max-height: 42px;
}

.client-strip__name {
	color: var(--club-white);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

/* --------------------------------------------------------------------------
   Advantages
   -------------------------------------------------------------------------- */

.advantages {
	position: relative;
	z-index: 2;
	padding-block: var(--pad-section);
	background: var(--club-paper);
}

.advantages__head {
	max-width: 940px;
	margin-block-end: clamp(44px, 5vw, 76px);
}

.advantages__head .eyebrow {
	margin-block-end: 18px;
	color: var(--club-green);
}

.advantages__lead {
	max-width: 620px;
	margin: 26px 0 0;
	color: var(--ink-soft);
	font-size: 1.05rem;
}

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

.adv-card {
	padding: clamp(24px, 2.4vw, 34px);
	border: 1px solid var(--ink-line);
	border-radius: var(--r-lg);
	background: var(--club-white);
	transition:
		transform 460ms var(--ease-club),
		box-shadow 460ms ease,
		border-color 300ms ease;
}

.adv-card:hover {
	border-color: var(--club-green);
	box-shadow: 0 30px 70px rgba(11, 12, 11, 0.09);
	transform: translateY(-6px);
}

.adv-card__icon {
	display: grid;
	width: 54px;
	height: 54px;
	border-radius: 16px;
	background: var(--club-green);
	color: var(--club-white);
	place-items: center;
	font-size: 1.5rem;
}

.adv-card h3 {
	margin: 24px 0 0;
	font-size: 1.16rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.adv-card p {
	margin: 14px 0 0;
	color: var(--ink-soft);
	font-size: 0.92rem;
	line-height: 1.8;
}

/* --------------------------------------------------------------------------
   Amenities
   -------------------------------------------------------------------------- */

.amenities {
	position: relative;
	z-index: 2;
	background: var(--club-sand);
}

.amenities .section-shell {
	padding-block: var(--pad-section);
}

.amenities__head {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.8fr);
	gap: clamp(28px, 4vw, 70px);
	align-items: end;
	margin-block-end: clamp(42px, 5vw, 72px);
}

.amenities__head .eyebrow {
	margin-block-end: 18px;
	color: var(--club-green-dark);
}

.amenities__lead {
	margin: 0;
	color: var(--ink-soft);
	font-size: 1.02rem;
	line-height: 1.85;
}

.amenity-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.amenity {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 18px 20px;
	border: 1px solid var(--ink-line);
	border-radius: var(--r-md);
	background: rgba(255, 255, 255, 0.62);
	transition:
		background 280ms ease,
		color 280ms ease,
		border-color 280ms ease,
		transform 420ms var(--ease-club);
}

.amenity__icon {
	display: grid;
	place-items: center;
	color: var(--club-green-dark);
	font-size: 1.4rem;
	transition: color 280ms ease, transform 460ms var(--ease-club);
}

.amenity__label {
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.45;
}

.amenity:hover {
	border-color: var(--club-ink);
	background: var(--club-ink);
	color: var(--club-white);
	transform: translateY(-4px);
}

.amenity:hover .amenity__icon {
	color: var(--club-green-bright);
	transform: scale(1.12) rotate(-6deg);
}

/* --------------------------------------------------------------------------
   Process rail
   -------------------------------------------------------------------------- */

.process {
	position: relative;
	z-index: 2;
	overflow: hidden;
	padding-block: var(--pad-section);
	background: var(--club-ink);
	color: var(--biz-text);
}

.process__head {
	max-width: 880px;
	margin-block-end: clamp(52px, 6vw, 92px);
}

.process__head .eyebrow {
	margin-block-end: 18px;
}

.process .display-title span {
	color: var(--club-white);
}

.process .display-title em {
	color: var(--biz-brass);
}

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

.process__line {
	position: absolute;
	z-index: 0;
	inset-block-start: 15px;
	inset-inline: 6% 6%;
	height: 2px;
	overflow: hidden;
	background: var(--biz-line);
}

.process__line i {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, var(--club-green), var(--biz-brass));
	transform: scaleX(var(--process-progress, 0));
	transform-origin: left;
	transition: transform 520ms var(--ease-club);
}

[dir="rtl"] .process__line i {
	transform-origin: right;
}

.process-step {
	position: relative;
	z-index: 1;
	padding-inline-end: 14px;
}

.process-step__dot {
	display: block;
	width: 32px;
	height: 32px;
	border: 2px solid var(--biz-line-strong);
	border-radius: 50%;
	background: var(--club-ink);
	transition: border-color 320ms ease, background 320ms ease;
}

.process-step__dot::after {
	display: block;
	width: 8px;
	height: 8px;
	margin: 10px auto;
	border-radius: 50%;
	background: var(--biz-line-strong);
	content: "";
	transition: background 320ms ease;
}

.process-step.is-visible .process-step__dot {
	border-color: var(--biz-brass);
}

.process-step.is-visible .process-step__dot::after {
	background: var(--biz-brass);
}

.process-step__num {
	display: block;
	margin-block: 26px 12px;
	color: rgba(255, 255, 255, 0.14);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 3.2rem;
	font-weight: 800;
	letter-spacing: -0.07em;
	line-height: 1;
}

.process-step h3 {
	margin: 0;
	color: var(--club-white);
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.process-step p {
	margin: 12px 0 0;
	font-size: 0.92rem;
	line-height: 1.8;
}

/* --------------------------------------------------------------------------
   Plans
   -------------------------------------------------------------------------- */

.plans {
	position: relative;
	z-index: 2;
	padding-block: var(--pad-section);
	background: var(--club-paper);
}

.plans__head {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) auto;
	gap: clamp(26px, 4vw, 60px);
	align-items: end;
	margin-block-end: clamp(42px, 5vw, 70px);
}

.plans__head .eyebrow {
	margin-block-end: 18px;
	color: var(--club-green);
}

.plans__switch {
	display: inline-flex;
	gap: 4px;
	padding: 5px;
	border: 1px solid var(--ink-line);
	border-radius: 999px;
	background: var(--club-white);
}

.plans__switch-button {
	padding: 10px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	cursor: pointer;
	font-size: 0.82rem;
	font-weight: 700;
	white-space: nowrap;
	transition: background 240ms ease, color 240ms ease;
}

.plans__switch-button.is-active {
	background: var(--club-ink);
	color: var(--club-white);
}

.plans__switch-button:focus-visible {
	outline: 3px solid var(--club-green);
	outline-offset: 2px;
}

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

.plan-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: clamp(26px, 2.6vw, 38px);
	border: 1px solid var(--ink-line);
	border-radius: var(--r-lg);
	background: var(--club-white);
	transition:
		transform 460ms var(--ease-club),
		box-shadow 460ms ease,
		opacity 320ms ease;
}

.plan-card[hidden] {
	display: none;
}

.plan-card.is-featured {
	border-color: transparent;
	background: linear-gradient(168deg, var(--biz-raise-2), var(--biz-surface) 70%);
	color: var(--biz-text);
	box-shadow: 0 34px 90px rgba(7, 9, 10, 0.26);
}

.plan-card:hover {
	box-shadow: 0 34px 80px rgba(11, 12, 11, 0.12);
	transform: translateY(-6px);
}

.plan-card__flag {
	position: absolute;
	inset-block-start: -13px;
	inset-inline-start: clamp(26px, 2.6vw, 38px);
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--biz-brass);
	color: #100d06;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.plan-card__audience {
	display: inline-block;
	width: fit-content;
	padding: 5px 12px;
	border: 1px solid var(--ink-line-strong);
	border-radius: 999px;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.plan-card.is-featured .plan-card__audience {
	border-color: var(--biz-line-strong);
	color: var(--biz-brass);
}

.plan-card__title {
	margin: 20px 0 0;
	font-size: 1.55rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.15;
}

.plan-card.is-featured .plan-card__title {
	color: var(--club-white);
}

.plan-card__tagline {
	margin: 10px 0 0;
	color: var(--ink-soft);
	font-size: 0.92rem;
}

.plan-card.is-featured .plan-card__tagline {
	color: var(--biz-dim);
}

.plan-card__price {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	align-items: baseline;
	margin: 24px 0 0;
	padding-block-end: 24px;
	border-block-end: 1px solid var(--ink-line);
}

.plan-card.is-featured .plan-card__price {
	border-color: var(--biz-line);
}

.plan-card__price strong {
	font-family: "Manrope", Arial, sans-serif;
	font-size: clamp(2.1rem, 3vw, 2.9rem);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1;
}

.plan-card.is-featured .plan-card__price strong {
	color: var(--biz-brass);
}

.plan-card__price--quote {
	font-family: "Alexandria", Arial, sans-serif !important;
	font-size: 1.5rem !important;
	letter-spacing: -0.03em !important;
}

.plan-card__unit {
	color: var(--ink-soft);
	font-size: 0.82rem;
}

.plan-card.is-featured .plan-card__unit {
	color: var(--biz-dim);
}

.plan-card__features {
	margin: 24px 0 30px;
	padding: 0;
	list-style: none;
}

.plan-card__features li {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	padding-block: 8px;
	font-size: 0.9rem;
	line-height: 1.65;
}

.plan-card__features .ic {
	margin-block-start: 4px;
	color: var(--club-green);
	font-size: 1rem;
}

.plan-card.is-featured .plan-card__features .ic {
	color: var(--club-green-bright);
}

.plan-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-block-start: auto;
	min-height: 52px;
	padding-inline: 22px 8px;
	border: 1px solid var(--club-ink);
	border-radius: 999px;
	font-size: 0.88rem;
	font-weight: 700;
	transition: background 260ms ease, color 260ms ease, transform 320ms var(--ease-club);
}

[dir="rtl"] .plan-card__cta {
	padding-inline: 8px 22px;
}

.plan-card__cta i {
	display: grid;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--club-ink);
	color: var(--club-white);
	place-items: center;
	font-family: Arial, sans-serif;
	font-style: normal;
	transition: transform 300ms var(--ease-club);
}

.plan-card__cta:hover {
	background: var(--club-ink);
	color: var(--club-white);
}

.plan-card__cta:hover i {
	background: var(--club-green);
	transform: rotate(45deg);
}

.plan-card.is-featured .plan-card__cta {
	border-color: var(--biz-brass);
	color: var(--biz-brass);
}

.plan-card.is-featured .plan-card__cta i {
	background: var(--biz-brass);
	color: #100d06;
}

.plan-card.is-featured .plan-card__cta:hover {
	background: var(--biz-brass);
	color: #100d06;
}

.plan-card.is-featured .plan-card__cta:hover i {
	background: #100d06;
	color: var(--biz-brass);
}

.plans__note {
	margin: 28px 0 0;
	color: var(--ink-soft);
	font-size: 0.82rem;
}

.plans__foot {
	display: flex;
	justify-content: center;
	margin-block-start: clamp(34px, 4vw, 58px);
}

/* --------------------------------------------------------------------------
   Member voices
   -------------------------------------------------------------------------- */

.voices {
	position: relative;
	z-index: 2;
	overflow: hidden;
	padding-block: var(--pad-section);
	background: var(--biz-surface);
	color: var(--biz-text);
}

.voices__head {
	max-width: 880px;
	margin-block-end: clamp(40px, 5vw, 68px);
}

.voices__head .eyebrow {
	margin-block-end: 18px;
}

.voices .display-title span {
	color: var(--club-white);
}

.voices .display-title em {
	color: var(--biz-brass);
}

.voices__stage {
	position: relative;
	padding: clamp(30px, 3.4vw, 56px);
	border: 1px solid var(--biz-line);
	border-radius: var(--r-lg);
	background: linear-gradient(168deg, var(--biz-raise), rgba(11, 15, 14, 0.5));
}

.voices__track {
	display: grid;
}

.voice {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	transform: translateY(14px);
	transition: opacity 480ms ease, transform 620ms var(--ease-club);
}

.voice.is-active {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.voice__mark {
	display: block;
	color: var(--biz-brass);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 4.5rem;
	font-weight: 800;
	line-height: 0.5;
}

.voice blockquote {
	margin: 26px 0 0;
}

.voice blockquote p {
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(1.1rem, 1.9vw, 1.6rem);
	font-weight: 500;
	line-height: 1.7;
}

.voice figcaption {
	display: flex;
	gap: 16px;
	align-items: center;
	margin-block-start: 32px;
	padding-block-start: 24px;
	border-block-start: 1px solid var(--biz-line);
}

.voice__avatar {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	object-fit: cover;
}

.voice__who strong {
	display: block;
	color: var(--club-white);
	font-size: 1rem;
}

.voice__role {
	display: block;
	margin-block-start: 4px;
	color: var(--biz-brass);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.voices__controls {
	display: flex;
	gap: 14px;
	align-items: center;
	justify-content: flex-end;
	margin-block-start: 30px;
}

.voices__arrow {
	display: grid;
	width: 42px;
	height: 42px;
	border: 1px solid var(--biz-line-strong);
	border-radius: 50%;
	background: transparent;
	color: var(--club-white);
	cursor: pointer;
	place-items: center;
	font-size: 1.4rem;
	line-height: 1;
	transition: background 240ms ease, color 240ms ease;
}

.voices__arrow:hover {
	background: var(--biz-brass);
	color: #100d06;
}

.voices__dots {
	display: flex;
	gap: 8px;
}

.voices__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--biz-line-strong);
	cursor: pointer;
	transition: background 240ms ease, transform 300ms var(--ease-club);
}

.voices__dot.is-active {
	background: var(--biz-brass);
	transform: scale(1.35);
}

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

.faq {
	position: relative;
	z-index: 2;
	padding-block: var(--pad-section);
	background: var(--club-sand);
}

.faq__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(36px, 5vw, 84px);
	align-items: start;
}

.faq__aside {
	position: sticky;
	inset-block-start: 128px;
}

.faq__aside .eyebrow {
	margin-block-end: 18px;
	color: var(--club-green-dark);
}

.faq__aside .display-title {
	font-size: clamp(2.4rem, 4.6vw, 4.4rem);
}

.faq__aside-lead {
	max-width: 42ch;
	margin: 24px 0 26px;
	color: var(--ink-soft);
	font-size: 1rem;
}

.faq__list {
	border-block-start: 1px solid var(--ink-line-strong);
}

.faq-item {
	border-block-end: 1px solid var(--ink-line-strong);
}

.faq-item__heading {
	margin: 0;
	font-size: 1rem;
}

.faq-item__trigger {
	display: flex;
	width: 100%;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	padding: 24px 4px;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-align: start;
}

.faq-item__question {
	font-size: clamp(1rem, 1.4vw, 1.16rem);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.45;
	transition: color 240ms ease;
}

.faq-item__trigger:hover .faq-item__question,
.faq-item__trigger[aria-expanded="true"] .faq-item__question {
	color: var(--club-green-dark);
}

.faq-item__sign {
	position: relative;
	width: 34px;
	height: 34px;
	flex: 0 0 auto;
	border: 1px solid var(--ink-line-strong);
	border-radius: 50%;
	transition: background 260ms ease, border-color 260ms ease, transform 380ms var(--ease-club);
}

.faq-item__sign::before,
.faq-item__sign::after {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	background: currentColor;
	content: "";
	transition: opacity 260ms ease, transform 380ms var(--ease-club);
}

.faq-item__sign::before {
	width: 13px;
	height: 1.5px;
	transform: translate(-50%, -50%);
}

.faq-item__sign::after {
	width: 1.5px;
	height: 13px;
	transform: translate(-50%, -50%);
}

.faq-item__trigger[aria-expanded="true"] .faq-item__sign {
	border-color: var(--club-ink);
	background: var(--club-ink);
	color: var(--club-white);
	transform: rotate(180deg);
}

.faq-item__trigger[aria-expanded="true"] .faq-item__sign::after {
	opacity: 0;
}

.faq-item__panel {
	overflow: hidden;
}

.faq-item__panel[hidden] {
	display: none;
}

.faq-item__panel p {
	max-width: 62ch;
	margin: 0;
	padding: 0 4px 26px;
	color: var(--ink-soft);
	font-size: 0.97rem;
	line-height: 1.85;
}

.faq-item__panel.is-animating {
	transition: height 380ms var(--ease-club);
}

/* --------------------------------------------------------------------------
   Inquiry form
   -------------------------------------------------------------------------- */

.inquiry {
	position: relative;
	z-index: 2;
	overflow: hidden;
	padding-block: var(--pad-section);
	background: var(--biz-surface);
	color: var(--biz-text);
}

.inquiry__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(36px, 5vw, 80px);
	align-items: start;
}

.inquiry__aside .eyebrow {
	margin-block-end: 18px;
}

.inquiry .display-title {
	font-size: clamp(2.4rem, 4.6vw, 4.4rem);
}

.inquiry .display-title span {
	color: var(--club-white);
}

.inquiry .display-title em {
	color: var(--biz-brass);
}

.inquiry__aside-lead {
	max-width: 42ch;
	margin: 24px 0 34px;
	font-size: 1rem;
	line-height: 1.85;
}

.inquiry__assurances {
	margin: 0;
	padding: 0;
	list-style: none;
}

.inquiry__assurances li {
	display: flex;
	gap: 13px;
	align-items: center;
	padding-block: 14px;
	border-block-start: 1px solid var(--biz-line);
	font-size: 0.9rem;
}

.inquiry__assurances .ic {
	color: var(--biz-brass);
	font-size: 1.25rem;
}

.inquiry__panel {
	padding: clamp(26px, 3vw, 44px);
	border: 1px solid var(--biz-line);
	border-radius: var(--r-lg);
	background: linear-gradient(168deg, var(--biz-raise), rgba(11, 15, 14, 0.55));
}

.inquiry__notice {
	margin-block-end: 26px;
	padding: 16px 20px;
	border-inline-start: 3px solid;
	border-radius: var(--r-sm);
	font-size: 0.92rem;
	line-height: 1.6;
}

.inquiry__notice--ok {
	border-color: var(--club-green-bright);
	background: rgba(27, 172, 79, 0.14);
	color: #b9f2cd;
}

.inquiry__notice--warn {
	border-color: var(--biz-brass);
	background: var(--biz-brass-soft);
	color: #f0dcae;
}

.inquiry-form__trap {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

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

.field {
	margin: 0;
}

.field--wide {
	grid-column: 1 / -1;
}

.field label {
	display: block;
	margin-block-end: 9px;
	color: var(--biz-dim);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.field label em {
	color: var(--biz-brass);
	font-style: normal;
}

.field input,
.field textarea,
.field select {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--biz-line);
	border-radius: var(--r-sm);
	background: rgba(255, 255, 255, 0.04);
	color: var(--club-white);
	font-size: 0.95rem;
	transition: border-color 220ms ease, background 220ms ease;
}

.field textarea {
	min-height: 118px;
	resize: vertical;
}

.field input::placeholder,
.field textarea::placeholder {
	color: rgba(255, 255, 255, 0.34);
}

.field input:focus,
.field textarea:focus,
.field select:focus {
	border-color: var(--biz-brass);
	background: rgba(255, 255, 255, 0.07);
	outline: none;
}

.field input:user-invalid,
.field textarea:user-invalid {
	border-color: #e0705f;
}

.select {
	position: relative;
	display: block;
}

.select::after {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-end: 16px;
	width: 8px;
	height: 8px;
	border-inline-end: 1.5px solid var(--biz-brass);
	border-block-end: 1.5px solid var(--biz-brass);
	content: "";
	pointer-events: none;
	transform: translateY(-70%) rotate(45deg);
}

.select select {
	padding-inline-end: 40px;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.select select option {
	background: var(--biz-raise);
	color: var(--club-white);
}

.inquiry-form__submit {
	margin-block-start: 28px;
}

/* --------------------------------------------------------------------------
   Closing CTA
   -------------------------------------------------------------------------- */

.biz-cta {
	background: linear-gradient(180deg, var(--biz-ink), #0f1512);
}

.biz-cta__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: clamp(36px, 5vw, 84px);
	align-items: center;
}

.biz-cta__copy .eyebrow {
	margin-block-end: 18px;
}

.biz-cta__lead {
	max-width: 44ch;
	margin: 26px 0 34px;
	font-size: 1.06rem;
	line-height: 1.8;
}

.biz-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.biz-cta__contact {
	margin: 0;
	padding: 0;
	list-style: none;
	border-block-start: 1px solid var(--biz-line);
}

.biz-cta__contact li {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding-block: 20px;
	border-block-end: 1px solid var(--biz-line);
}

.biz-cta__contact-icon {
	display: grid;
	width: 42px;
	height: 42px;
	flex: 0 0 auto;
	border: 1px solid var(--biz-line);
	border-radius: 12px;
	color: var(--biz-brass);
	place-items: center;
	font-size: 1.2rem;
}

.biz-cta__contact-label {
	display: block;
	margin-block-end: 5px;
	color: var(--biz-dim);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.66rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.biz-cta__contact a,
.biz-cta__contact span > .copy:last-child {
	color: var(--club-white);
	font-size: 0.98rem;
	font-weight: 600;
}

.biz-cta__contact a {
	border-block-end: 1px solid transparent;
	transition: border-color 220ms ease, color 220ms ease;
}

.biz-cta__contact a:hover {
	border-color: var(--biz-brass);
	color: var(--biz-brass);
}

/* --------------------------------------------------------------------------
   Interior page hero
   -------------------------------------------------------------------------- */

.page-hero {
	position: relative;
	overflow: hidden;
	padding-block: calc(var(--header-height) + clamp(70px, 9vw, 130px)) clamp(60px, 7vw, 108px);
}

.page-hero--dark {
	background: linear-gradient(165deg, var(--biz-raise-2), var(--biz-ink) 68%);
	color: var(--biz-text);
}

.page-hero--light {
	background:
		radial-gradient(circle at 84% 8%, rgba(23, 157, 70, 0.12), transparent 44%),
		var(--club-paper);
	color: var(--ink-soft);
}

.page-hero__grid,
.page-hero__orb {
	position: absolute;
	pointer-events: none;
}

.page-hero__grid {
	inset: 0;
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: radial-gradient(circle at 50% 20%, #000, transparent 74%);
	-webkit-mask-image: radial-gradient(circle at 50% 20%, #000, transparent 74%);
}

.page-hero--light .page-hero__grid {
	background-image:
		linear-gradient(to right, rgba(11, 12, 11, 0.045) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(11, 12, 11, 0.045) 1px, transparent 1px);
}

.page-hero__orb {
	inset-block-start: -34%;
	inset-inline-end: -12%;
	width: min(760px, 68vw);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(23, 157, 70, 0.2), transparent 64%);
}

.page-hero__inner {
	position: relative;
}

.page-hero__crumbs {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-block-end: 26px;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.page-hero__crumbs a {
	border-block-end: 1px solid transparent;
	transition: border-color 200ms ease;
}

.page-hero__crumbs a:hover {
	border-color: currentColor;
}

.page-hero__crumbs i {
	font-style: normal;
	opacity: 0.45;
}

.page-hero .eyebrow {
	margin-block-end: 20px;
}

.page-hero--light .eyebrow {
	color: var(--club-green);
}

.page-hero__title {
	max-width: 18ch;
}

.page-hero--dark .page-hero__title span {
	color: var(--club-white);
}

.page-hero--dark .page-hero__title em {
	color: var(--biz-brass);
}

.page-hero--light .page-hero__title span {
	color: var(--club-ink);
}

.page-hero__lead {
	max-width: 62ch;
	margin: 30px 0 0;
	font-size: 1.08rem;
	line-height: 1.85;
}

.page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-block-start: 36px;
}

.page-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 34px;
	margin: 42px 0 0;
	padding-block-start: 26px;
	padding-inline: 0;
	border-block-start: 1px solid var(--biz-line);
	list-style: none;
}

.page-hero--light .page-hero__facts {
	border-color: var(--ink-line);
}

.page-hero__facts li {
	display: flex;
	gap: 11px;
	align-items: center;
	font-size: 0.9rem;
	font-weight: 600;
}

.page-hero__facts .ic {
	color: var(--biz-brass);
	font-size: 1.25rem;
}

.page-hero--light .page-hero__facts .ic {
	color: var(--club-green);
}

/* --------------------------------------------------------------------------
   Zones (spaces page)
   -------------------------------------------------------------------------- */

.zones {
	position: relative;
	z-index: 2;
	padding-block: var(--pad-section);
	background: var(--club-white);
}

.zones__head {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.8fr);
	gap: clamp(28px, 4vw, 70px);
	align-items: end;
	margin-block-end: clamp(44px, 5vw, 76px);
}

.zones__head .eyebrow {
	margin-block-end: 18px;
	color: var(--club-green);
}

.zones__lead {
	margin: 0;
	color: var(--ink-soft);
	font-size: 1.02rem;
	line-height: 1.85;
}

.zones__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(36px, 5vw, 76px);
	align-items: start;
}

.zones__visual {
	position: sticky;
	inset-block-start: 124px;
}

.zones__frame {
	position: relative;
	overflow: hidden;
	border-radius: var(--r-lg);
	background: var(--club-green);
}

.zones__frame img {
	width: 100%;
	height: auto;
}

.zones__frame-shine {
	position: absolute;
	inset: 0;
	background: linear-gradient(140deg, rgba(255, 255, 255, 0.24), transparent 46%);
	pointer-events: none;
}

.zones__badge {
	position: absolute;
	inset-block-end: 18px;
	inset-inline-start: 18px;
	padding: 8px 15px;
	border-radius: 999px;
	background: var(--club-ink);
	color: var(--club-white);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.zones__list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: zone;
}

.zone {
	position: relative;
	padding: clamp(22px, 2.4vw, 32px) 0;
	border-block-start: 1px solid var(--ink-line);
}

.zone:last-child {
	border-block-end: 1px solid var(--ink-line);
}

.zone__icon {
	display: grid;
	width: 48px;
	height: 48px;
	border: 1px solid var(--ink-line-strong);
	border-radius: 14px;
	color: var(--club-green-dark);
	place-items: center;
	font-size: 1.3rem;
	transition: background 280ms ease, color 280ms ease;
}

.zone:hover .zone__icon {
	background: var(--club-green);
	color: var(--club-white);
}

.zone__index {
	position: absolute;
	inset-block-start: clamp(22px, 2.4vw, 32px);
	inset-inline-end: 0;
	color: rgba(11, 12, 11, 0.1);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 2.6rem;
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1;
}

.zone h3 {
	margin: 20px 0 0;
	font-size: 1.32rem;
	font-weight: 700;
	letter-spacing: -0.025em;
}

.zone__meta {
	margin: 8px 0 0;
	color: var(--club-green-dark);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.zone__body {
	max-width: 56ch;
	margin: 14px 0 0;
	color: var(--ink-soft);
	font-size: 0.95rem;
	line-height: 1.8;
}

/* --------------------------------------------------------------------------
   About page
   -------------------------------------------------------------------------- */

.story {
	position: relative;
	z-index: 2;
	padding-block: var(--pad-section);
	background: var(--club-white);
}

.story__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(38px, 5vw, 84px);
	align-items: center;
}

.story__copy .eyebrow {
	margin-block-end: 18px;
	color: var(--club-green);
}

.story__text {
	margin-block-start: 30px;
}

.story__text p {
	max-width: 58ch;
	margin: 0 0 22px;
	color: var(--ink-soft);
	font-size: 1.04rem;
	line-height: 1.9;
}

.story__text p:first-child {
	color: var(--club-ink);
	font-size: 1.2rem;
	font-weight: 500;
}

.story__visual {
	position: relative;
}

.story__visual img {
	width: 100%;
	height: auto;
	border-radius: var(--r-lg);
}

.story__sticker {
	position: absolute;
	inset-block-end: 22px;
	inset-inline-start: -14px;
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--club-green);
	color: var(--club-white);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	transform: rotate(-5deg);
}

.values {
	position: relative;
	z-index: 2;
	padding-block: var(--pad-section);
	background: var(--club-ink);
	color: var(--biz-text);
}

.values__head {
	max-width: 900px;
	margin-block-end: clamp(42px, 5vw, 74px);
}

.values__head .eyebrow {
	margin-block-end: 18px;
}

.values .display-title span {
	color: var(--club-white);
}

.values .display-title em {
	color: var(--biz-brass);
}

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

.value-card {
	padding: clamp(24px, 2.4vw, 34px);
	border: 1px solid var(--biz-line);
	border-radius: var(--r-lg);
	background: rgba(255, 255, 255, 0.03);
	transition: border-color 300ms ease, transform 460ms var(--ease-club);
}

.value-card:hover {
	border-color: var(--biz-brass-dim);
	transform: translateY(-6px);
}

.value-card__icon {
	display: grid;
	width: 52px;
	height: 52px;
	border: 1px solid var(--biz-line);
	border-radius: 15px;
	color: var(--biz-brass);
	place-items: center;
	font-size: 1.45rem;
}

.value-card h3 {
	margin: 24px 0 0;
	color: var(--club-white);
	font-size: 1.14rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.35;
}

.value-card p {
	margin: 13px 0 0;
	font-size: 0.92rem;
	line-height: 1.8;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.site-footer {
	display: block;
	padding: 0;
	border-block-start: 1px solid var(--biz-line);
	background: var(--biz-ink);
	color: var(--biz-text);
}

.site-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 0.85fr));
	gap: clamp(28px, 4vw, 62px);
	padding-block: clamp(56px, 6vw, 92px);
}

.site-footer__brand {
	display: inline-block;
	color: var(--club-white);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 1.9rem;
	font-weight: 800;
	letter-spacing: -0.085em;
}

.site-footer__tagline {
	max-width: 34ch;
	margin: 18px 0 26px;
	font-size: 0.92rem;
	line-height: 1.75;
}

.site-footer__heading {
	margin: 0 0 20px;
	color: var(--biz-brass);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.site-footer__nav,
.site-footer__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.site-footer__list {
	flex-direction: column;
	gap: 11px;
	align-items: flex-start;
}

.site-footer__nav a,
.site-footer__col a,
.site-footer__hours,
.site-footer__socials a {
	display: block;
	margin-block-end: 11px;
	font-size: 0.9rem;
	line-height: 1.55;
}

.site-footer__list a {
	margin-block-end: 0;
}

.site-footer__nav a,
.site-footer__col a {
	border-block-end: 1px solid transparent;
	transition: color 220ms ease, border-color 220ms ease;
}

.site-footer__nav a:hover,
.site-footer__col a:hover {
	border-color: var(--biz-brass);
	color: var(--biz-brass);
}

.site-footer__hours {
	color: var(--biz-dim);
}

.site-footer__socials {
	display: flex;
	gap: 16px;
	margin-block-start: 10px;
}

.site-footer__socials a {
	margin: 0;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.site-footer__base {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	align-items: center;
	justify-content: space-between;
	padding: 22px max(32px, calc((100vw - 1440px) / 2));
	border-block-start: 1px solid var(--biz-line);
}

.site-footer__base p {
	margin: 0;
	color: var(--biz-dim);
	font-size: 0.68rem;
}

.site-footer__copyright {
	font-family: "Manrope", Arial, sans-serif;
	letter-spacing: 0.12em;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1180px) {
	.sol-grid,
	.advantages__grid,
	.values__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.amenity-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.header-cta {
		display: none;
	}
}

@media (max-width: 1020px) {
	.biz__head,
	.amenities__head,
	.zones__head,
	.plans__head {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.plans__head {
		gap: 26px;
	}

	.biz-cta__layout,
	.inquiry__layout,
	.faq__layout,
	.zones__layout,
	.story__layout {
		grid-template-columns: 1fr;
	}

	.faq__aside,
	.zones__visual {
		position: static;
	}

	.zones__visual {
		max-width: 520px;
	}

	.process__rail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 22px;
	}

	.process__line {
		display: none;
	}

	.plan-grid {
		grid-template-columns: 1fr;
	}

	.plan-card.is-featured {
		order: -1;
	}
}

@media (max-width: 920px) {
	.gate__doors {
		flex-direction: column;
	}

	.gate-door {
		min-height: 0;
	}

	.site-nav__list {
		flex-direction: column;
		width: 100%;
		gap: 8px;
		align-items: center;
	}

	.site-nav__list li {
		display: flex;
		width: 100%;
		justify-content: center;
	}

	.site-nav__cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-block-start: 24px;
		padding: 14px 30px;
		border-radius: 999px;
		background: var(--club-white);
		color: var(--club-green-dark);
		font-size: 1rem !important;
		font-weight: 800;
		border-block-end: 0 !important;
		width: auto !important;
		align-self: center;
	}

	.site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.trust-stats,
	.trust-promises {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	:root {
		--pad-section: clamp(64px, 14vw, 96px);
		--r-lg: 22px;
	}

	.sol-grid,
	.advantages__grid,
	.values__grid {
		grid-template-columns: 1fr;
	}

	.amenity-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.amenity {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.process__rail {
		grid-template-columns: 1fr;
	}

	.inquiry-form__grid {
		grid-template-columns: 1fr;
	}

	.trust-stats,
	.trust-promises {
		grid-template-columns: 1fr;
	}

	.voices__controls {
		justify-content: center;
	}

	.page-hero__title {
		max-width: none;
	}

	.gate-door__sticker {
		inset-inline-end: 18px;
	}

	.site-footer__grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.site-footer__base {
		padding-inline: 16px;
	}

	.zone__index {
		font-size: 1.8rem;
	}
}

@media (max-width: 420px) {
	.amenity-grid {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------------------------------
   Motion preferences
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.gate-door,
	.sol-card,
	.adv-card,
	.amenity,
	.plan-card,
	.value-card,
	.voice,
	.faq-item__sign,
	.process__line i {
		transition-duration: 1ms !important;
	}

	.gate-door:hover,
	.sol-card:hover,
	.adv-card:hover,
	.amenity:hover,
	.plan-card:hover,
	.value-card:hover {
		transform: none;
	}

	.marquee--thin div {
		animation: none;
	}
}

body.motion-off .marquee--thin div,
body.motion-off .gate-door__rays {
	animation: none;
}

body.motion-off .gate-door:hover,
body.motion-off .sol-card:hover,
body.motion-off .adv-card:hover,
body.motion-off .amenity:hover,
body.motion-off .plan-card:hover,
body.motion-off .value-card:hover {
	transform: none;
}

@media print {
	.gate,
	.biz,
	.process,
	.voices,
	.inquiry {
		background: #fff !important;
		color: #000 !important;
	}
}
