/* =========================================================================
   Case — Forge Strength
   Brutalist strength gym. Anton condensed display. Orange + black.
   Type: Anton + Plus Jakarta Sans + JetBrains Mono
   ========================================================================= */

.case--forge {
	background: #0A0A0A;
	color: #F4F4F0;
	font-family: 'Plus Jakarta Sans', sans-serif;
}

.fg-eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: .78rem; letter-spacing: .14em;
	text-transform: uppercase; color: #F4F4F0;
	margin: 0 0 1em;
	display: inline-block;
}
.fg-eyebrow--accent { color: #FF5A1F; }

.fg-h2 {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	font-size: clamp(2.4rem, 5.5vw, 4rem);
	line-height: .95;
	letter-spacing: .005em;
	text-transform: uppercase;
	margin: 0 0 .5em;
	color: #F4F4F0;
}

.fg-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 16px 28px;
	font-family: 'Anton', sans-serif; font-weight: 400;
	font-size: 1rem; letter-spacing: .1em;
	text-transform: uppercase; text-decoration: none;
	border-radius: 0;
	transition: transform .25s var(--ac-ease-out), background .25s, box-shadow .25s;
}
.fg-btn--pri { background: #FF5A1F; color: #0A0A0A; }
.fg-btn--pri:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 #F4F4F0; }
.fg-btn--ghost { background: transparent; color: #F4F4F0; border: 2px solid #F4F4F0; }
.fg-btn--ghost:hover { background: #F4F4F0; color: #0A0A0A; transform: translate(-2px, -2px); }

/* ---------- HERO ---------- */
.fg-hero {
	position: relative;
	padding: clamp(70px, 11vw, 150px) 0 clamp(60px, 9vw, 100px);
	overflow: hidden;
	background: #0A0A0A;
}
.fg-hero__strip {
	position: absolute; top: 18%; left: -10%; right: -10%;
	font-family: 'Anton', sans-serif;
	font-size: clamp(6rem, 14vw, 12rem);
	line-height: 1; letter-spacing: .02em;
	color: rgba(255,90,31,.08);
	white-space: nowrap;
	display: flex; gap: 30px;
	transform: rotate(-2deg);
	animation: fg-strip 30s linear infinite;
	pointer-events: none;
}
@keyframes fg-strip { from{transform: rotate(-2deg) translateX(0);} to{transform: rotate(-2deg) translateX(-30%);} }
@media (prefers-reduced-motion: reduce) { .fg-hero__strip { animation: none; } }

.fg-hero__inner { position: relative; z-index: 2; max-width: 1000px; }
.fg-title {
	margin: 0 0 32px;
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	letter-spacing: .005em;
	text-transform: uppercase;
	line-height: .85;
}
.fg-title span {
	display: block;
	font-size: clamp(3.4rem, 12vw, 9rem);
}
.fg-title__a { color: #F4F4F0; }
.fg-title__b { color: #FF5A1F; }
.fg-title__c {
	color: transparent;
	-webkit-text-stroke: 2px #F4F4F0;
}
.fg-title__d { color: #F4F4F0; }
.fg-tagline {
	max-width: 56ch;
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	color: #A8A89A;
	line-height: 1.55;
	margin: 0 0 32px;
}
.fg-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- SECTIONS ---------- */
.fg-section {
	padding: clamp(70px, 10vw, 130px) 0;
	border-top: 1px solid #1A1A1A;
}
.fg-section--cards { background: #060606; }
.fg-section--coach { background: #0E0E0E; }
.fg-section--quote { background: #FF5A1F; color: #0A0A0A; }
.fg-section--stack { background: #060606; }
.fg-split { display: grid; grid-template-columns: 1fr 1.3fr; gap: 60px; align-items: start; }
@media (max-width: 880px) { .fg-split { grid-template-columns: 1fr; gap: 24px; } }

/* ---------- FINDER ---------- */
.fg-finder {
	margin-top: 40px;
	background: #060606;
	border: 1px solid #1A1A1A;
	padding: 36px;
	display: grid; gap: 28px;
}
.fg-finder__q small {
	display: block;
	font-family: 'JetBrains Mono', monospace;
	font-size: .76rem; letter-spacing: .14em;
	text-transform: uppercase; color: #FF5A1F;
	margin-bottom: 12px;
}
.fg-finder__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.fg-chip {
	padding: 10px 18px;
	border: 1px solid #2A2A2A;
	font-family: 'Anton', sans-serif;
	font-size: 1rem; letter-spacing: .04em; text-transform: uppercase;
	color: #A8A89A;
	cursor: default;
	transition: all .25s;
}
.fg-chip--on {
	background: #FF5A1F; color: #0A0A0A; border-color: #FF5A1F;
}
.fg-finder__out {
	margin-top: 12px;
	padding: 24px;
	background: #0A0A0A;
	border-left: 4px solid #FF5A1F;
	display: flex; justify-content: space-between; align-items: center;
	gap: 20px; flex-wrap: wrap;
}
.fg-finder__out small {
	display: block;
	font-family: 'JetBrains Mono', monospace;
	font-size: .76rem; letter-spacing: .14em;
	color: #FF5A1F; margin-bottom: 6px;
}
.fg-finder__out strong {
	display: block;
	font-family: 'Anton', sans-serif;
	font-size: 1.6rem; letter-spacing: .02em;
	text-transform: uppercase;
	color: #F4F4F0;
}

/* ---------- PROGRAMS ---------- */
.fg-programs {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
	margin-top: 40px;
}
@media (max-width: 980px) { .fg-programs { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .fg-programs { grid-template-columns: 1fr; } }
.fg-prog {
	background: #0A0A0A;
	border: 2px solid var(--c, #FF5A1F);
	padding: 28px 24px;
	transition: transform .35s var(--ac-ease-out), background .35s;
	cursor: pointer;
}
.fg-prog:hover { transform: translate(-4px, -4px); background: var(--c, #FF5A1F); }
.fg-prog:hover .fg-prog__num,
.fg-prog:hover .fg-prog__name,
.fg-prog:hover .fg-prog__desc,
.fg-prog:hover .fg-prog__foot { color: #0A0A0A; }
.fg-prog__num {
	font-family: 'JetBrains Mono', monospace;
	font-size: .82rem; letter-spacing: .14em;
	color: var(--c, #FF5A1F);
	margin-bottom: 30px;
}
.fg-prog__name {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	letter-spacing: .005em;
	text-transform: uppercase;
	color: #F4F4F0;
	margin: 0 0 14px;
}
.fg-prog__desc {
	font-size: .92rem;
	color: #A8A89A;
	line-height: 1.5;
	margin: 0 0 28px;
}
.fg-prog__foot {
	display: flex; justify-content: space-between; align-items: center;
	padding-top: 16px;
	border-top: 1px solid #1A1A1A;
	font-family: 'JetBrains Mono', monospace;
	font-size: .76rem; letter-spacing: .1em;
	color: #A8A89A;
}
.fg-prog__cta { color: var(--c, #FF5A1F); }
.fg-prog:hover .fg-prog__cta { color: #0A0A0A; font-weight: 700; }

/* ---------- SCHEDULE ---------- */
.fg-schedule {
	width: 100%;
	border-collapse: collapse;
	margin-top: 40px;
	font-family: 'JetBrains Mono', monospace;
	font-size: .88rem;
	border: 1px solid #1A1A1A;
}
.fg-schedule th, .fg-schedule td {
	padding: 16px 12px;
	text-align: left;
	border-bottom: 1px solid #1A1A1A;
	border-right: 1px solid #1A1A1A;
}
.fg-schedule th {
	background: #060606;
	font-family: 'Anton', sans-serif;
	font-size: 1rem; font-weight: 400;
	letter-spacing: .06em; text-transform: uppercase;
	color: #FF5A1F;
}
.fg-schedule td { color: #A8A89A; }
.fg-schedule td:first-child {
	color: #FF5A1F; font-weight: 500;
	background: #060606;
}
.fg-schedule tr:hover td { background: rgba(255,90,31,.04); color: #F4F4F0; }
@media (max-width: 760px) {
	.fg-schedule { font-size: .76rem; }
	.fg-schedule th, .fg-schedule td { padding: 10px 6px; }
}

/* ---------- COACHES ---------- */
.fg-coaches {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
	margin-top: 40px;
}
@media (max-width: 880px) { .fg-coaches { grid-template-columns: repeat(2, 1fr); } }
.fg-coach {
	background: #060606;
	border: 1px solid #1A1A1A;
	padding: 28px;
	text-align: center;
	transition: border-color .25s, transform .25s var(--ac-ease-out);
}
.fg-coach:hover { border-color: #FF5A1F; transform: translateY(-4px); }
.fg-coach__portrait {
	width: 100px; height: 100px;
	margin: 0 auto 20px;
	background: linear-gradient(135deg, #FF5A1F 0%, #B83A0F 100%);
	display: flex; align-items: center; justify-content: center;
	font-family: 'Anton', sans-serif;
	font-size: 3rem; color: #0A0A0A;
	letter-spacing: -.02em;
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.fg-coach__name {
	font-family: 'Anton', sans-serif;
	font-size: 1.6rem; letter-spacing: .02em;
	color: #F4F4F0; margin-bottom: 8px;
}
.fg-coach__title {
	font-family: 'JetBrains Mono', monospace;
	font-size: .78rem; color: #A8A89A;
	line-height: 1.4;
}

/* ---------- TIERS ---------- */
.fg-tiers {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
	margin-top: 40px;
}
@media (max-width: 880px) { .fg-tiers { grid-template-columns: 1fr; } }
.fg-tier {
	background: #0A0A0A;
	border: 1px solid #1A1A1A;
	padding: 36px 28px;
	position: relative;
	transition: border-color .3s, transform .3s var(--ac-ease-out);
}
.fg-tier:hover { border-color: #FF5A1F; transform: translateY(-4px); }
.fg-tier--featured {
	border-color: #FF5A1F;
	background: linear-gradient(180deg, rgba(255,90,31,.06), transparent);
	box-shadow: 0 20px 60px -20px rgba(255,90,31,.4);
}
.fg-tier__name {
	font-family: 'JetBrains Mono', monospace;
	font-size: .8rem; letter-spacing: .18em;
	color: #FF5A1F;
	margin-bottom: 18px;
}
.fg-tier__price {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	font-size: 4rem; line-height: 1;
	color: #F4F4F0;
	letter-spacing: -.005em;
	margin-bottom: 24px;
}
.fg-tier__price span { font-size: 1.8rem; vertical-align: top; color: #FF5A1F; margin-right: 4px; }
.fg-tier__price small {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 1rem; color: #A8A89A; font-weight: 400;
	margin-left: 4px;
}
.fg-tier ul { list-style: none; padding: 0; margin: 0; }
.fg-tier li {
	padding: 12px 0 12px 22px;
	border-bottom: 1px solid #1A1A1A;
	font-size: .94rem; color: #C0C0B8;
	position: relative;
}
.fg-tier li::before {
	content: '▸'; position: absolute; left: 0; top: 12px;
	color: #FF5A1F;
}
.fg-tier li:last-child { border-bottom: 0; }
.fg-tier__flag {
	position: absolute; top: -1px; right: 20px;
	background: #FF5A1F; color: #0A0A0A;
	padding: 6px 14px;
	font-family: 'JetBrains Mono', monospace;
	font-size: .72rem; letter-spacing: .14em;
	font-weight: 700;
}

/* ---------- QUOTE ---------- */
.fg-section--quote { padding: clamp(80px, 12vw, 140px) 0; }
.fg-quote {
	max-width: 900px; margin: 0 auto;
	text-align: center;
}
.fg-quote p {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	font-size: clamp(1.8rem, 4vw, 3rem);
	letter-spacing: .005em;
	text-transform: uppercase;
	line-height: 1.05;
	margin: 0 0 24px;
	color: #0A0A0A;
}
.fg-quote cite {
	font-family: 'JetBrains Mono', monospace;
	font-style: normal;
	font-size: .9rem; letter-spacing: .12em;
	text-transform: uppercase;
	color: #0A0A0A;
}

/* ---------- STACK ---------- */
.fg-stack {
	display: grid; grid-template-columns: max-content 1fr;
	gap: 14px 32px; margin: 0;
	background: #0A0A0A;
	border: 1px solid #1A1A1A;
	padding: 30px;
}
@media (max-width: 600px) { .fg-stack { grid-template-columns: 1fr; gap: 4px 0; } }
.fg-stack dt {
	font-family: 'JetBrains Mono', monospace;
	font-size: .78rem; letter-spacing: .12em;
	text-transform: uppercase; color: #FF5A1F;
	padding-top: 4px;
}
.fg-stack dd {
	margin: 0;
	font-size: .98rem;
	color: #F4F4F0;
	line-height: 1.5;
}
@media (max-width: 600px) {
	.fg-stack dd { padding-bottom: 12px; border-bottom: 1px dashed #1A1A1A; margin-bottom: 8px; }
}
