/**
 * DERMAL Phase C About composition layer.
 *
 * Task 28 owns only the About route's visual hierarchy, responsive rhythm and
 * component presentation. The frozen template, content filter and interaction
 * hooks remain authoritative.
 */

.about-page {
	--dermal-about-section-space: clamp(4.5rem, 7vw, 7rem);
	--dermal-about-section-space-compact: clamp(3.5rem, 5vw, 5.5rem);
	--dermal-about-card-padding: clamp(1.25rem, 2.2vw, 2rem);
	--dermal-about-surface-border: 1px solid var(--dermal-color-border);
	--dermal-about-dark-surface: rgb(255 255 255 / 8%);
	--dermal-about-dark-border: rgb(255 255 255 / 15%);
}

.about-page :where(.section-title h1, .section-title h2) {
	line-height: var(--dermal-line-height-heading);
	text-wrap: balance;
}

.about-page .section-title h2 {
	font-size: clamp(2.25rem, 4vw, 3.25rem);
}

.about-page .section-title h3 {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: var(--dermal-letter-spacing-label);
	text-transform: uppercase;
}

.about-page .section-title p {
	max-width: 42rem;
	line-height: 1.7;
	text-wrap: pretty;
}

.about-page .section-row {
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.about-page :where(
	.page-header,
	.about-us,
	.our-mission-vision,
	.who-we-are,
	.our-benefit,
	.our-innovation,
	.our-dermatology,
	.our-excellence,
	.our-team,
	.our-testimonials,
	.book-appointment
) {
	isolation: isolate;
}

.about-page :where(
	.about-us,
	.our-mission-vision,
	.who-we-are,
	.our-benefit,
	.our-innovation,
	.our-dermatology,
	.our-excellence,
	.our-team,
	.our-testimonials,
	.book-appointment
) {
	padding-top: var(--dermal-about-section-space);
	padding-bottom: var(--dermal-about-section-space);
}

.about-page :where(
	.our-mission-vision,
	.our-benefit,
	.our-dermatology,
	.our-team,
	.book-appointment
) {
	border: var(--dermal-about-surface-border);
	box-shadow: var(--dermal-shadow-sm);
}

/* Page header keeps the source landmark while matching the Phase C hierarchy. */
.about-page .page-header {
	min-height: clamp(18rem, 32vw, 25rem);
	display: grid;
	place-items: center;
	padding: clamp(5rem, 10vw, 8rem) 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 18% 18%, rgb(255 255 255 / 9%), transparent 30%),
		linear-gradient(135deg, var(--dermal-color-brand-900), var(--dermal-color-brand-700));
}

.about-page .page-header-box {
	position: relative;
	z-index: 1;
}

.about-page .page-header-box h1 {
	font-size: clamp(3rem, 6vw, 4.75rem);
	line-height: 1.05;
	text-wrap: balance;
}

.about-page .page-header-box .breadcrumb {
	gap: 0.25rem;
	padding: 0.625rem 1rem;
	background: rgb(255 255 255 / 8%);
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: var(--dermal-radius-pill);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

/* Intro and trust metrics. */
.about-page .about-us-intro-row,
.about-page :where(.about-us-content-column, .about-us-portrait-column) {
	align-items: flex-start;
}

.about-page :where(.about-us-content-column, .about-us-portrait-column) {
	align-self: flex-start;
}

.about-page .about-intro-description {
	max-width: 48rem;
	margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
}

.about-page .about-intro-description > * {
	margin: 0;
}

.about-page .about-intro-description > p {
	max-width: 68ch;
	line-height: 1.75;
	text-wrap: pretty;
}

.about-page .about-intro-description > h4 {
	padding-top: clamp(1.25rem, 2vw, 1.5rem);
	margin-top: clamp(2rem, 3vw, 2.5rem);
	margin-bottom: 0.75rem;
	color: var(--dermal-color-brand-800);
	font-size: clamp(1.25rem, 1.7vw, 1.625rem);
	line-height: 1.3;
	border-top: 1px solid var(--dermal-color-border);
}

.about-page .about-intro-description > h4 + p {
	max-width: 100%;
	font-size: clamp(0.9375rem, 1.15vw, 1.0625rem);
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.about-page .about-intro-description > ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.625rem clamp(1rem, 2.5vw, 1.5rem);
	max-width: 42rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.about-page .about-intro-description > ul li {
	position: relative;
	min-width: 0;
	padding-left: 1.125rem;
	line-height: 1.55;
}

.about-page .about-intro-description > ul li::before {
	position: absolute;
	top: 0.66em;
	left: 0;
	width: 0.375rem;
	height: 0.375rem;
	content: "";
	background: var(--dermal-color-brand-700);
	border-radius: 50%;
	transform: translateY(-50%);
}

.about-page .about-us-image.about-us-image--single {
	position: relative;
	width: 100%;
	max-width: 36rem;
	padding: 0;
	margin: 0 0 0 auto;
}

.about-page .about-us-image--single .about-img-1,
.about-page .about-us-image--single .about-img-1 figure {
	width: 100%;
	margin: 0;
}

.about-page .about-us-image--single .about-intro-portrait {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 34%;
	border-radius: 30px;
}

.about-page .about-us-image,
.about-page .who-we-are-images,
.about-page .our-innovation-image,
.about-page .our-excellence-image {
	filter: drop-shadow(0 18px 40px rgb(var(--dermal-color-brand-rgb) / 12%));
}

.about-page :where(.about-img-1 figure, .about-img-2, .who-we-img-1 figure, .who-we-img-2 figure) {
	border: var(--dermal-about-surface-border);
	box-shadow: var(--dermal-shadow-sm);
}

@media only screen and (min-width: 1200px) {
	.about-page .about-us-content-column {
		width: 58.33333333%;
	}

	.about-page .about-us-portrait-column {
		width: 41.66666667%;
	}
}

.about-page :where(.about-body-list ul li, .who-we-are-body ul li) {
	padding-left: 1.75rem;
}

.about-page :where(.about-body-list ul li, .who-we-are-body ul li)::before {
	content: "";
	top: 0.45em;
	width: 0.75rem;
	height: 0.75rem;
	background: var(--dermal-color-brand-100);
	border: 3px solid var(--dermal-color-brand-700);
	border-radius: 50%;
}

.about-page .about-video-button a {
	min-height: 3.125rem;
	border-color: var(--dermal-color-border-strong);
	transition:
		color var(--dermal-motion-base) var(--dermal-ease-standard),
		background-color var(--dermal-motion-base) var(--dermal-ease-standard),
		border-color var(--dermal-motion-base) var(--dermal-ease-standard);
}

.about-page .about-video-button a:is(:hover, :focus-visible) {
	color: var(--dermal-color-on-brand);
	background: var(--dermal-color-brand-700);
	border-color: var(--dermal-color-brand-700);
}

.about-page .about-team-member {
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .about-counter-list {
	gap: var(--dermal-space-4);
	padding-top: var(--dermal-space-8);
	margin-top: var(--dermal-space-10);
}

.about-page .about-counter-item {
	width: calc(25% - 0.75rem);
	min-width: 0;
	padding: var(--dermal-space-5);
	background: var(--dermal-color-surface);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-lg);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .about-counter-item .icon-box {
	display: grid;
	flex: 0 0 3rem;
	height: 3rem;
	place-items: center;
	background: var(--dermal-color-brand-100);
	border-radius: var(--dermal-radius-md);
}

/* Mission, identity and benefit sections. */
.about-page .our-mission-vision {
	margin-bottom: 0;
}

.about-page .mission-vision-list {
	gap: var(--dermal-space-4);
	margin-bottom: 0;
}

.about-page .mission-vision-item {
	width: calc(33.333% - 0.667rem);
	padding: var(--dermal-about-card-padding);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-md);
}

.about-page .mission-vision-item .icon-box {
	border-radius: var(--dermal-radius-md);
}

.about-page .mission-vision-item::before {
	background: linear-gradient(145deg, var(--dermal-color-brand-700), var(--dermal-color-brand-900));
}

.about-page .who-we-are-images {
	gap: var(--dermal-space-4);
}

.about-page .who-we-are-images.who-we-are-images--single {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
}

.about-page .who-we-are-images--single .who-we-img-1--single,
.about-page .who-we-are-images--single .who-we-img-1--single figure {
	width: 100%;
	height: auto;
	margin: 0;
}

.about-page .who-we-are-images--single .about-who-consultation {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 42%;
	border-radius: 30px;
}

.about-page .who-we-are-content {
	width: 100%;
}

.about-page .who-we-image-box-1,
.about-page .who-we-image-box-2 {
	width: calc(50% - 0.5rem);
}

.about-page .reliable-expertise-box {
	padding: var(--dermal-space-5);
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .who-we-are-body ul {
	gap: var(--dermal-space-3);
}

.about-page .who-we-are-body ul li {
	width: calc(50% - 0.375rem);
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
}

@media only screen and (min-width: 992px) {
	.about-page .who-we-are-row {
		align-items: stretch;
	}

	.about-page .who-we-are-visual-column {
		position: relative;
		min-height: 0;
	}

	.about-page .who-we-are-images.who-we-are-images--single {
		position: absolute;
		inset: 0 calc(var(--bs-gutter-x) * 0.5);
		width: auto;
	}

	.about-page .who-we-are-images--single .who-we-img-1--single,
	.about-page .who-we-are-images--single .who-we-img-1--single figure,
	.about-page .who-we-are-images--single .about-who-consultation {
		height: 100%;
	}

	.about-page .who-we-are-images--single .about-who-consultation {
		aspect-ratio: auto;
	}
}

.about-page > .our-benefit:last-child {
	margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.about-page .our-benefit-item {
	padding: var(--dermal-space-4);
	margin-bottom: var(--dermal-space-4);
	background: var(--dermal-about-dark-surface);
	border: 1px solid var(--dermal-about-dark-border);
	border-radius: var(--dermal-radius-lg);
}

.about-page .our-benefit-item .icon-box {
	flex: 0 0 3.75rem;
	border-radius: var(--dermal-radius-md);
}

.about-page .our-benefit-image figure {
	aspect-ratio: 7 / 10;
	overflow: hidden;
	padding: 0.375rem;
	background: rgb(255 255 255 / 10%);
	border: 1px solid var(--dermal-about-dark-border);
	border-radius: var(--dermal-radius-xl);
}

.about-page .our-benefit-image .about-benefits-media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 44%;
	border-radius: calc(var(--dermal-radius-xl) - 0.375rem);
}

/* Innovation, care and process presentation. */
.about-page .our-innovation-content {
	margin-right: clamp(1rem, 3vw, 2.5rem);
}

.about-page .innovation-skill-list {
	display: grid;
	gap: var(--dermal-space-4);
}

.about-page .skills-progress-bar {
	padding: var(--dermal-space-5);
	margin-bottom: 0;
	background: var(--dermal-color-surface);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-lg);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .skills-progress-bar .skill-data {
	margin-bottom: var(--dermal-space-3);
}

.about-page .skills-progress-bar .skillbar .skill-progress {
	height: 0.75rem;
	box-shadow: inset 0 0 0 1px var(--dermal-color-border);
}

.about-page .our-innovation-img-1 figure,
.about-page .our-innovation-img-2 {
	border: var(--dermal-about-surface-border);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .customer-review-box {
	padding: var(--dermal-space-4);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-lg);
	box-shadow: var(--dermal-shadow-md);
}

.about-page .our-dermatology-image {
	margin-right: clamp(1rem, 3vw, 2.5rem);
}

.about-page .our-dermatology-img figure {
	padding: 0.375rem;
	background: var(--dermal-color-surface);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .our-dermatology-img figure::before,
.about-page .our-dermatology-img img {
	border-radius: calc(var(--dermal-radius-xl) - 0.375rem);
}

.about-page .dermatology-care-box {
	padding: var(--dermal-space-4);
	background: rgb(var(--dermal-color-brand-rgb) / 78%);
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: var(--dermal-radius-lg);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.about-page .our-dermatology-body,
.about-page .our-excellence-body {
	display: grid;
	gap: var(--dermal-space-3);
}

.about-page .dermatology-item,
.about-page .excellence-item {
	align-items: flex-start;
	gap: var(--dermal-space-4);
	padding: var(--dermal-space-5);
	margin-bottom: 0;
	background: var(--dermal-color-surface);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-lg);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .dermatology-item .icon-box,
.about-page .excellence-item-no {
	flex: 0 0 3.75rem;
	margin-right: 0;
	border-radius: var(--dermal-radius-md);
}

.about-page .dermatology-item-content,
.about-page .excellence-item-content {
	width: auto;
	min-width: 0;
	flex: 1;
}

.about-page .excellence-item::after {
	display: none;
}

.about-page .our-excellence-image {
	margin-left: clamp(1rem, 3vw, 2.5rem);
}

.about-page .our-excellence-img figure {
	padding: 0.375rem;
	background: var(--dermal-color-surface);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .our-excellence-img img {
	border-radius: calc(var(--dermal-radius-xl) - 0.375rem);
}

.about-page .skincare-list {
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-md);
}

.about-page .skincare-item {
	padding: var(--dermal-space-5);
}

/* People and social-proof blocks remain layout placeholders until Task 36. */
.about-page .team-item {
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .team-image a,
.about-page .team-image img {
	border-radius: inherit;
}

.about-page .team-item:focus-within .team-body {
	transform: translateY(0);
}

.about-page .team-item:focus-within .team-social-list {
	margin-top: var(--dermal-space-3);
	opacity: 1;
	visibility: visible;
}

.about-page .team-social-list a {
	min-width: 2.75rem;
	min-height: 2.75rem;
}

.about-page :where([data-about-testimonials-slider], [data-about-clients-slider]):focus-visible {
	outline: 3px solid var(--dermal-color-focus);
	outline-offset: 0.375rem;
	border-radius: var(--dermal-radius-lg);
}

.about-page .testimonial-item {
	min-height: 18rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--dermal-color-surface);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .testimonial-pagination {
	margin-top: var(--dermal-space-8);
}

.about-page .trusted-client-box {
	padding: var(--dermal-about-card-padding);
	background: var(--dermal-color-surface-muted);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-lg);
}

.about-page .trusted-client-logo img {
	filter: grayscale(1);
	opacity: 0.72;
}

/* Appointment stays a non-PII GET handoff to the frozen local flow. */
.about-page .booking-contact-list {
	gap: var(--dermal-space-3);
}

.about-page .booking-contact-item {
	width: calc(50% - 0.375rem);
	padding: var(--dermal-space-4);
	background: rgb(255 255 255 / 68%);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-lg);
}

.about-page .google-map-iframe {
	overflow: hidden;
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-sm);
}

.about-page .booking-form-box {
	padding: clamp(1.5rem, 4vw, 3rem);
	background: var(--dermal-color-surface);
	border: var(--dermal-about-surface-border);
	border-radius: var(--dermal-radius-xl);
	box-shadow: var(--dermal-shadow-md);
}

.about-page .book-appointment-form .form-control {
	min-height: 3.5rem;
	color: var(--dermal-color-text);
	background: var(--dermal-color-canvas);
	border-color: var(--dermal-color-border-strong);
	opacity: 1;
}

.about-page .book-appointment-form textarea.form-control {
	min-height: 8rem;
}

.about-page .our-scrolling-ticker {
	padding: clamp(2rem, 4vw, 3rem) 0;
}

.about-page .scrolling-content span {
	font-size: clamp(3.5rem, 7vw, 6.25rem);
}

@media only screen and (max-width: 991px) {
	.about-page {
		--dermal-about-section-space: 5rem;
		--dermal-about-section-space-compact: 4rem;
	}

	.about-page .page-header {
		min-height: 18rem;
	}

	.about-page .about-us-image.about-us-image--single {
		max-width: 42rem;
		margin: 0 auto;
	}

	.about-page .about-us-portrait-column {
		padding-top: clamp(2rem, 6vw, 3rem);
	}

	.about-page .about-us-image--single .about-intro-portrait {
		object-position: 50% 31%;
	}

	.about-page .about-counter-item {
		width: calc(50% - 0.5rem);
	}

	.about-page .mission-vision-item {
		width: calc(50% - 0.5rem);
	}

	.about-page .mission-vision-item:last-child:nth-child(odd) {
		width: 100%;
	}

	.about-page .who-we-are-visual-column {
		margin-bottom: clamp(2rem, 6vw, 3rem);
	}

	.about-page .our-innovation-content,
	.about-page .our-dermatology-image,
	.about-page .our-excellence-image {
		margin-right: 0;
		margin-left: 0;
	}

	.about-page .our-innovation-content,
	.about-page .our-dermatology-image,
	.about-page .our-excellence-content {
		margin-bottom: var(--dermal-space-10);
	}

	.about-page .our-excellence-image {
		max-width: 42rem;
		margin-right: auto;
		margin-left: auto;
	}

	.about-page .our-benefit-item {
		min-height: 8.5rem;
	}

	.about-page .our-benefit-image {
		max-width: 25rem;
		margin: var(--dermal-space-6) auto 0;
	}

	.about-page .booking-form-box {
		margin-left: 0;
		margin-bottom: var(--dermal-space-8);
	}
}

@media only screen and (max-width: 767px) {
	.about-page {
		--dermal-about-section-space: 3.75rem;
		--dermal-about-section-space-compact: 3.25rem;
		--dermal-about-card-padding: 1.125rem;
	}

	.about-page .section-title h2 {
		font-size: clamp(2rem, 9vw, 2.5rem);
	}

	.about-page .page-header {
		min-height: 15rem;
		padding-top: var(--dermal-space-16);
		padding-bottom: var(--dermal-space-16);
	}

	.about-page .page-header-box h1 {
		font-size: clamp(2.5rem, 12vw, 3.25rem);
	}

	.about-page .page-header-box .breadcrumb {
		width: max-content;
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
	}

	.about-page .about-counter-item,
	.about-page .mission-vision-item,
	.about-page .mission-vision-item:last-child:nth-child(odd),
	.about-page .booking-contact-item {
		width: 100%;
	}

	.about-page .about-counter-item,
	.about-page .dermatology-item,
	.about-page .excellence-item {
		padding: var(--dermal-space-4);
	}

	.about-page .about-us-image {
		filter: drop-shadow(0 12px 24px rgb(var(--dermal-color-brand-rgb) / 10%));
	}

	.about-page .about-us-image--single .about-intro-portrait {
		object-position: 50% 31%;
		border-radius: 20px;
	}

	.about-page .about-intro-description > ul {
		grid-template-columns: minmax(0, 1fr);
	}

	.about-page .about-body-footer {
		align-items: stretch;
		flex-direction: column;
	}

	.about-page .about-body-footer .btn-default,
	.about-page .about-video-button a {
		width: 100%;
		justify-content: center;
	}

	.about-page .who-we-are-body ul li {
		width: 100%;
	}

	.about-page .who-we-are-images--single .about-who-consultation {
		aspect-ratio: 1 / 1;
		border-radius: 20px;
	}

	.about-page .reliable-expertise-box {
		padding: var(--dermal-space-3);
	}

	.about-page .dermatology-care-box {
		right: var(--dermal-space-3);
		bottom: var(--dermal-space-3);
		left: var(--dermal-space-3);
		padding: var(--dermal-space-3);
	}

	.about-page .dermatology-care-box .icon-box {
		margin-right: var(--dermal-space-3);
	}

	.about-page .dermatology-care-content {
		width: calc(100% - 4.75rem);
	}

	.about-page .dermatology-item,
	.about-page .excellence-item {
		gap: var(--dermal-space-3);
	}

	.about-page .dermatology-item .icon-box,
	.about-page .excellence-item-no {
		flex-basis: 3.25rem;
		width: 3.25rem;
		height: 3.25rem;
	}

	.about-page .our-excellence-image {
		padding-left: 0;
	}

	.about-page .skincare-list {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		margin-top: var(--dermal-space-4);
		transform: none;
	}

	.about-page .skincare-item {
		padding: var(--dermal-space-4);
	}

	.about-page .testimonial-item {
		min-height: 0;
	}

	.about-page .trusted-client-box {
		gap: var(--dermal-space-4);
	}

	.about-page .google-map-iframe,
	.about-page .google-map-iframe iframe {
		height: 22rem;
	}

	.about-page .booking-form-box {
		padding: var(--dermal-space-5);
	}

	.about-page .scrolling-content span {
		font-size: clamp(2.75rem, 14vw, 4rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.about-page :where(
		.mission-vision-item,
		.team-image img,
		.about-video-button a,
		.skincare-item::before,
		.excellence-item-no::before
	) {
		transition: none !important;
	}

	.about-page :where(.mission-vision-item, .team-item):hover {
		transform: none !important;
	}
}
