/* ==========================================================================
   About Page Styles
   ==========================================================================

   1. Story Section
   2. Stats Strip
   3. Values Section
   4. Milestones / Timeline
   5. Workshop Section
   6. Responsive

   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Story Section
   -------------------------------------------------------------------------- */

.about-story { background: var(--color-bg); }

.about-story__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(var(--space-12), 6vw, var(--space-20));
	align-items: center;
}

.about-story__eyebrow { margin-bottom: var(--space-3); }

.about-story__headline {
	margin-bottom: var(--space-6);
	margin-top: var(--space-3);
}

.about-story__lead {
	font-size: var(--text-lg);
	color: var(--color-text-muted);
	line-height: var(--leading-relaxed);
	margin-bottom: var(--space-5);
}

.about-story__body {
	font-size: var(--text-base);
	color: var(--color-text-muted);
	line-height: var(--leading-relaxed);
	margin-bottom: var(--space-8);
}

.about-story__image {
	position: relative;
}

.about-story__image-frame {
	width: 100%;
	aspect-ratio: 4 / 5;
	background: var(--color-surface);
	border-radius: var(--radius-xl);
	overflow: hidden;
	position: relative;
	border: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Gold corner accent */
.about-story__image-frame::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 80px;
	height: 80px;
	border-top: 2px solid var(--color-gold);
	border-left: 2px solid var(--color-gold);
	border-radius: var(--radius-xl) 0 0 0;
	z-index: 1;
	pointer-events: none;
}

.about-story__image-frame::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 80px;
	height: 80px;
	border-bottom: 2px solid var(--color-gold);
	border-right: 2px solid var(--color-gold);
	border-radius: 0 0 var(--radius-xl) 0;
	z-index: 1;
	pointer-events: none;
}

.about-story__image-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-story__image-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-3);
	color: rgba(212, 175, 55, 0.2);
	padding: var(--space-8);
	text-align: center;
}

.about-story__image-placeholder span {
	font-size: var(--text-xs);
	letter-spacing: var(--tracking-widest);
	text-transform: uppercase;
}

/* Floating badge */
.about-story__badge {
	position: absolute;
	bottom: var(--space-6);
	left: calc(-1 * var(--space-8));
	background: var(--color-gold);
	color: var(--color-bg);
	padding: var(--space-4) var(--space-6);
	border-radius: var(--radius-lg);
	text-align: center;
	box-shadow: var(--shadow-gold);
	min-width: 120px;
}

.about-story__badge-number {
	display: block;
	font-family: var(--font-heading);
	font-size: var(--text-4xl);
	font-weight: var(--fw-black);
	line-height: 1;
}

.about-story__badge-label {
	display: block;
	font-size: var(--text-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	margin-top: var(--space-1);
}

/* --------------------------------------------------------------------------
   2. Stats Strip
   -------------------------------------------------------------------------- */

.about-stats {
	background: var(--color-surface);
	padding-block: clamp(var(--space-12), 5vw, var(--space-16));
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.about-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}

.about-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-6);
	position: relative;
	text-align: center;
}

.about-stat + .about-stat::before {
	content: '';
	position: absolute;
	left: 0;
	top: 15%;
	bottom: 15%;
	width: 1px;
	background: var(--color-border);
}

.about-stat__number {
	font-family: var(--font-heading);
	font-size: clamp(2.5rem, 5vw, 3.5rem);
	font-weight: var(--fw-black);
	color: var(--color-gold);
	letter-spacing: -0.03em;
	line-height: 1;
}

.about-stat__label {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	text-transform: uppercase;
	letter-spacing: var(--tracking-wide);
}

/* --------------------------------------------------------------------------
   3. Values Section
   -------------------------------------------------------------------------- */

.about-values { background: var(--color-bg); }

.about-values__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-6);
}

.value-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	padding: var(--space-10) var(--space-8);
	position: relative;
	overflow: hidden;
	transition: border-color var(--transition-base), transform var(--transition-base);
}

.value-card:hover {
	border-color: rgba(212, 175, 55, 0.3);
	transform: translateY(-3px);
}

/* Gold number watermark */
.value-card__number {
	position: absolute;
	top: var(--space-6);
	right: var(--space-8);
	font-family: var(--font-heading);
	font-size: clamp(4rem, 8vw, 6rem);
	font-weight: var(--fw-black);
	color: rgba(212, 175, 55, 0.05);
	line-height: 1;
	user-select: none;
	pointer-events: none;
}

.value-card__icon {
	width: 52px;
	height: 52px;
	background: var(--color-gold-dim);
	border: 1px solid rgba(212, 175, 55, 0.2);
	border-radius: var(--radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-gold);
	margin-bottom: var(--space-5);
	transition: all var(--transition-base);
}

.value-card:hover .value-card__icon {
	background: var(--color-gold);
	color: var(--color-bg);
}

.value-card__title {
	font-size: var(--text-2xl);
	font-weight: var(--fw-bold);
	margin-bottom: var(--space-3);
}

.value-card__text {
	font-size: var(--text-base);
	color: var(--color-text-muted);
	line-height: var(--leading-relaxed);
}

/* --------------------------------------------------------------------------
   4. Milestones / Timeline
   -------------------------------------------------------------------------- */

.about-milestones { background: var(--color-surface); position: relative; overflow: hidden; }

/* Vertical gold line down the center */
.milestones-track {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 860px;
	margin-inline: auto;
}

.milestones-track::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 1px;
	background: linear-gradient(to bottom, transparent, var(--color-gold) 10%, var(--color-gold) 90%, transparent);
	transform: translateX(-50%);
}

.milestone {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--space-6);
	padding: var(--space-6) 0;
}

/* Even milestones: content left, dot center, blank right */
/* Odd milestones: blank left, dot center, content right */
.milestone:nth-child(odd)  .milestone__content { grid-column: 1; text-align: right; }
.milestone:nth-child(odd)  .milestone__dot     { grid-column: 2; }
.milestone:nth-child(odd)  .milestone__blank   { grid-column: 3; }

.milestone:nth-child(even) .milestone__blank   { grid-column: 1; }
.milestone:nth-child(even) .milestone__dot     { grid-column: 2; }
.milestone:nth-child(even) .milestone__content { grid-column: 3; text-align: left; }

.milestone__dot {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--color-gold);
	border: 3px solid var(--color-bg);
	box-shadow: 0 0 0 1px var(--color-gold), 0 0 16px rgba(212, 175, 55, 0.3);
	flex-shrink: 0;
	z-index: 1;
}

.milestone__year {
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--fw-black);
	color: var(--color-gold);
	letter-spacing: var(--tracking-widest);
	text-transform: uppercase;
	margin-bottom: var(--space-1);
}

.milestone__title {
	font-size: var(--text-lg);
	font-weight: var(--fw-semibold);
	margin-bottom: var(--space-2);
}

.milestone__text {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	line-height: var(--leading-relaxed);
	max-width: 28ch;
}

.milestone:nth-child(odd) .milestone__text { margin-left: auto; }

/* --------------------------------------------------------------------------
   5. Workshop Section
   -------------------------------------------------------------------------- */

.about-workshop { background: var(--color-bg); }

.about-workshop__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(var(--space-10), 5vw, var(--space-16));
	align-items: center;
}

.about-workshop__images {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 200px 200px;
	gap: var(--space-4);
}

.about-workshop__img {
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(212, 175, 55, 0.15);
}

.about-workshop__img--tall {
	grid-row: span 2;
}

.about-workshop__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-workshop__text {
	font-size: var(--text-lg);
	color: var(--color-text-muted);
	line-height: var(--leading-relaxed);
	margin: var(--space-5) 0 var(--space-8);
}

.about-workshop__features {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	margin-bottom: var(--space-8);
}

.about-workshop__feature {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

.about-workshop__feature::before {
	content: '';
	flex-shrink: 0;
	width: 6px;
	height: 6px;
	background: var(--color-gold);
	border-radius: 50%;
}

/* --------------------------------------------------------------------------
   6. Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1023px) {
	.about-story__grid    { grid-template-columns: 1fr; }
	.about-story__image   { order: -1; }
	.about-story__badge   { left: var(--space-4); }
	.about-stats__grid    { grid-template-columns: repeat(2, 1fr); }
	.about-values__grid   { grid-template-columns: 1fr; }
	.about-workshop__grid { grid-template-columns: 1fr; }
	.about-workshop__images { order: -1; }

	/* Linearise timeline on tablet */
	.milestones-track::before { left: 24px; transform: none; }
	.milestone { grid-template-columns: auto 1fr; gap: var(--space-5); }
	.milestone__dot    { grid-column: 1; grid-row: 1; }
	.milestone__content{ grid-column: 2; grid-row: 1; text-align: left !important; }
	.milestone__blank  { display: none; }
	.milestone__text   { margin-left: 0 !important; max-width: none; }
}

@media (max-width: 767px) {
	.about-stats__grid { grid-template-columns: 1fr 1fr; }
	.about-stat + .about-stat::before { display: none; }
	.about-workshop__images { grid-template-columns: 1fr; grid-template-rows: auto; }
	.about-workshop__img--tall { grid-row: span 1; }
}
