/*
 * Norah Healing Vibes geometry adapter, version 1.11.0.
 *
 * This layer borrows only structural ideas from the external reference:
 * wide editorial composition, organic media frames, rounded panels, card
 * rhythm, and responsive recomposition. Norah's existing brand skin remains
 * authoritative for colors, fonts, copy, images, logo, and icons.
 *
 * The file is loaded only when NORAH_GEOMETRY_SYSTEM is healing-vibes-v1.
 *
 * 1.11.0 keeps the About glass circle at the image's lower-left edge with a
 * 50/50 horizontal overlap, while enlarging and recoloring the two hero
 * circles to the same blue glass treatment.
 */

body.norah-geometry-v1 {
	--norah-hv-shell: min(calc(100% - 3rem), 134.4rem);
	--norah-hv-section: clamp(8.8rem, 10vw, 16rem);
	--norah-hv-section-inline: clamp(2.4rem, 4.5vw, 7.2rem);
	--norah-hv-gap: clamp(4rem, 5.5vw, 8.8rem);
	--norah-hv-gap-wide: clamp(5.6rem, 7.5vw, 12rem);
	--norah-hv-card-padding: clamp(2.4rem, 3.2vw, 4.8rem);
	--norah-hv-panel-radius: 4rem;
	--norah-hv-card-radius: 2.4rem;
	--norah-hv-control-radius: 999px;
	--norah-hv-arch-radius: 50% 50% 2.4rem 2.4rem / 30% 30% 2.4rem 2.4rem;
	/* The 0.8 aspect-ratio portrait needs a 40% vertical radius for a true
	 * half-circle crown. A 30% radius reads as a flat rounded rectangle. */
	--norah-hv-photo-radius: 50% 50% 2.4rem 2.4rem / 40% 40% 2.4rem 2.4rem;
}

body.norah-geometry-v1 .norah-home .norah-shell,
body.norah-geometry-v1 .norah-home .norah-header__inner,
body.norah-geometry-v1 .norah-home .norah-footer__inner {
	inline-size: var(--norah-hv-shell);
	max-inline-size: 100%;
	margin-inline: auto;
}

body.norah-geometry-v1 .norah-home .norah-section--standard {
	padding-block: var(--norah-hv-section);
}

body.norah-geometry-v1 .norah-home .norah-header__inner {
	padding-inline: var(--norah-hv-section-inline);
}

body.norah-geometry-v1 .norah-home .norah-button,
body.norah-geometry-v1 .norah-home .norah-contact__action .norah-email-link {
	border-radius: var(--norah-hv-control-radius);
}

body.norah-geometry-v1 .norah-home .norah-actions {
	gap: 2.4rem;
}

/* Hero: one broad copy track beside one reserved media track. */
body.norah-geometry-v1 .norah-home .norah-hero {
	padding-block: clamp(6.4rem, 8vw, 12.8rem);
	overflow: clip;
}

body.norah-geometry-v1 .norah-home .norah-hero__grid {
	grid-template-columns: minmax(0, 1.08fr) minmax(30rem, 0.92fr);
	column-gap: var(--norah-hv-gap-wide);
}

body.norah-geometry-v1 .norah-home .norah-hero__copy {
	max-inline-size: 72rem;
}

body.norah-geometry-v1 .norah-home .norah-hero__intro {
	max-inline-size: 68rem;
}

body.norah-geometry-v1 .norah-home .norah-hero__art {
	inline-size: 100%;
	min-block-size: 60.8rem;
}

body.norah-geometry-v1 .norah-home .norah-hero__arch {
	inline-size: min(100%, 50rem);
	border-radius: var(--norah-hv-arch-radius);
}

/* Use the About circle as the canonical glass surface everywhere. */
body.norah-geometry-v1 .norah-home .norah-hero__orb,
body.norah-geometry-v1 .norah-home .norah-about__visual::before {
	border: 1px solid rgba(255, 255, 255, 0.58);
	background-color: rgba(126, 169, 207, 0.24);
	background-image: linear-gradient(135deg, rgba(152, 181, 209, 0.04), rgba(101, 158, 207, 0.15));
	box-shadow: none;
	-webkit-backdrop-filter: blur(14px) saturate(135%);
	backdrop-filter: blur(14px) saturate(135%);
	pointer-events: none;
}

/* The hero circles stay half over the portrait when they meet its side edges. */
body.norah-geometry-v1 .norah-home .norah-hero__orb--one {
	top: 7%;
	right: auto;
	left: calc((100% - min(100%, 50rem)) / 2 - 8.8rem);
	width: 17.6rem;
	height: 17.6rem;
}

body.norah-geometry-v1 .norah-home .norah-hero__orb--two {
	right: calc((100% - min(100%, 50rem)) / 2 - 3.2rem);
	bottom: 20%;
	left: auto;
	width: 6.4rem;
	height: 6.4rem;
}

body.norah-geometry-v1 .norah-home .norah-hero__note {
	border-radius: var(--norah-hv-card-radius);
}

/* Belief band: the quote gets the wider editorial track. */
body.norah-geometry-v1 .norah-home .norah-belief {
	padding-block: clamp(7.2rem, 8vw, 12.8rem);
}

body.norah-geometry-v1 .norah-home .norah-belief__grid {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	column-gap: var(--norah-hv-gap-wide);
	align-items: end;
}

body.norah-geometry-v1 .norah-home .norah-belief__quote {
	max-inline-size: 72rem;
	margin-inline: 0;
}

/* Editorial sections: a narrow eyebrow track and a generous content track. */
body.norah-geometry-v1 .norah-home .norah-section-heading {
	grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
	column-gap: var(--norah-hv-gap-wide);
}

body.norah-geometry-v1 .norah-home .norah-why__grid {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	column-gap: var(--norah-hv-gap-wide);
	margin-top: var(--norah-hv-gap-wide);
}

body.norah-geometry-v1 .norah-home .norah-why__points {
	gap: 2.4rem;
	align-items: stretch;
}

body.norah-geometry-v1 .norah-home .norah-point {
	min-block-size: 100%;
	padding: var(--norah-hv-card-padding);
	border: var(--norah-icon-line) solid var(--norah-color-border);
	border-radius: var(--norah-hv-card-radius);
}

/* Process and offer are contained surfaces inside the wide page shell. */
body.norah-geometry-v1 .norah-home .norah-process {
	inline-size: var(--norah-hv-shell);
	max-inline-size: 100%;
	margin-inline: auto;
	padding: clamp(5.6rem, 7vw, 10.4rem) var(--norah-hv-section-inline);
	border-radius: var(--norah-hv-panel-radius);
}

body.norah-geometry-v1 .norah-home .norah-process__grid {
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	column-gap: var(--norah-hv-gap-wide);
}

body.norah-geometry-v1 .norah-home .norah-process__step {
	padding-block: 2.8rem;
}

body.norah-geometry-v1 .norah-home .norah-about__grid {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: var(--norah-hv-gap-wide);
	align-items: start;
}

body.norah-geometry-v1 .norah-home .norah-about__visual {
	border-radius: var(--norah-hv-panel-radius);
	overflow: visible;
}

body.norah-geometry-v1 .norah-home .norah-about__image {
	border-radius: var(--norah-hv-photo-radius);
	top: auto;
	right: 0;
	bottom: 0;
}

/* About portrait: keep the horizontal half-overlap, but let the circle hang
 * below the image edge so the composition does not read as mechanically
 * aligned. */
body.norah-geometry-v1 .norah-home .norah-about__visual::before {
	top: auto;
	right: auto;
	bottom: -12%;
	left: 2%;
	z-index: 2;
	width: 52%;
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
}

body.norah-geometry-v1 .norah-home .norah-offer__grid {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: var(--norah-hv-gap);
	align-items: stretch;
}

body.norah-geometry-v1 .norah-home .norah-offer__intro,
body.norah-geometry-v1 .norah-home .norah-offer__card {
	min-block-size: 100%;
	padding: var(--norah-hv-card-padding);
	border-radius: var(--norah-hv-panel-radius);
}

body.norah-geometry-v1 .norah-home .norah-contact__grid {
	grid-template-columns: minmax(0, 1.05fr) minmax(24rem, 0.95fr);
	column-gap: var(--norah-hv-gap-wide);
}

body.norah-geometry-v1 .norah-home .norah-contact__action {
	max-inline-size: none;
	padding: var(--norah-hv-card-padding);
	border-radius: var(--norah-hv-panel-radius);
}

body.norah-geometry-v1 .norah-home .norah-boundary {
	inline-size: var(--norah-hv-shell);
	max-inline-size: 100%;
	margin-inline: auto;
	border-radius: var(--norah-hv-card-radius);
}

/* Keep the footer aligned to the same editorial measure. */
body.norah-geometry-v1 .norah-home .norah-footer {
	padding-block: 5.6rem;
}

@media (max-width: 70rem) {
	body.norah-geometry-v1 {
		--norah-hv-shell: min(calc(100% - 2.5rem), 70rem);
		--norah-hv-gap-wide: clamp(4rem, 6vw, 7.2rem);
	}

	body.norah-geometry-v1 .norah-home .norah-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(26rem, 0.78fr);
	}

	body.norah-geometry-v1 .norah-home .norah-section-heading,
	body.norah-geometry-v1 .norah-home .norah-why__grid,
	body.norah-geometry-v1 .norah-home .norah-contact__grid {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	}
}

@media (max-width: 52rem) {
	body.norah-geometry-v1 {
		--norah-hv-section: clamp(6.4rem, 12vw, 9.6rem);
		--norah-hv-section-inline: clamp(2rem, 5vw, 4rem);
		--norah-hv-gap-wide: clamp(3.2rem, 7vw, 5.6rem);
		--norah-hv-panel-radius: 3.2rem;
	}

	body.norah-geometry-v1 .norah-home .norah-header__inner {
		padding-inline: 0;
	}

	body.norah-geometry-v1 .norah-home .norah-hero__grid,
	body.norah-geometry-v1 .norah-home .norah-belief__grid,
	body.norah-geometry-v1 .norah-home .norah-section-heading,
	body.norah-geometry-v1 .norah-home .norah-why__grid,
	body.norah-geometry-v1 .norah-home .norah-process__grid,
	body.norah-geometry-v1 .norah-home .norah-about__grid,
	body.norah-geometry-v1 .norah-home .norah-offer__grid,
	body.norah-geometry-v1 .norah-home .norah-contact__grid {
		grid-template-columns: 1fr;
	}

	body.norah-geometry-v1 .norah-home .norah-hero__grid {
		row-gap: 6.4rem;
	}

	body.norah-geometry-v1 .norah-home .norah-hero__art {
		inline-size: min(100%, 52rem);
		margin-inline: auto;
	}

	body.norah-geometry-v1 .norah-home .norah-section-heading {
		row-gap: 2.4rem;
	}

	body.norah-geometry-v1 .norah-home .norah-why__grid {
		row-gap: 4.8rem;
	}

	body.norah-geometry-v1 .norah-home .norah-why__points {
		row-gap: 2rem;
	}

	body.norah-geometry-v1 .norah-home .norah-process {
		inline-size: var(--norah-hv-shell);
	}

	body.norah-geometry-v1 .norah-home .norah-about__visual {
		inline-size: min(100%, 54.4rem);
		margin-inline: auto;
	}

	body.norah-geometry-v1 .norah-home .norah-about__image {
		top: auto;
		bottom: 0;
	}
}

@media (max-width: 36rem) {
	body.norah-geometry-v1 {
		--norah-hv-shell: min(calc(100% - 2rem), 54.4rem);
		--norah-hv-card-padding: 2.4rem;
		--norah-hv-panel-radius: 2.4rem;
		--norah-hv-card-radius: 1.6rem;
	}

	body.norah-geometry-v1 .norah-home .norah-hero {
		padding-block: 4.8rem 8rem;
	}

	body.norah-geometry-v1 .norah-home .norah-hero__art {
		min-block-size: 44.8rem;
	}

	body.norah-geometry-v1 .norah-home .norah-hero__arch {
		inline-size: min(100%, 35.2rem);
	}

	body.norah-geometry-v1 .norah-home .norah-hero__orb--one {
		left: calc((100% - min(100%, 50rem)) / 2 - 5.6rem);
		width: 11.2rem;
		height: 11.2rem;
	}

	body.norah-geometry-v1 .norah-home .norah-why__points {
		grid-template-columns: 1fr;
	}

	body.norah-geometry-v1 .norah-home .norah-process {
		border-radius: 0;
	}

	body.norah-geometry-v1 .norah-home .norah-contact__action {
		padding-inline: 2.4rem;
	}
}
