/* =========================================================================
   Case — A. Knox / Portfolio template
   Swiss editorial. Monochrome. Single hot accent (#FF3B00).
   Type: Archivo + Archivo Narrow + JetBrains Mono
   ========================================================================= */

.case--aknox {
	background: #F2F0EC;
	color: #0A0A0A;
	font-family: 'Archivo', sans-serif;
}

.ak-eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: .76rem; letter-spacing: .1em;
	text-transform: uppercase; color: #0A0A0A;
	margin: 0 0 1em;
	display: inline-block;
	border-top: 1px solid #0A0A0A;
	padding-top: 8px;
}
.ak-eyebrow--accent { color: #FF3B00; border-top-color: #FF3B00; }

.ak-h2 {
	font-family: 'Archivo Black', sans-serif;
	font-weight: 400;
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: .95;
	letter-spacing: -.025em;
	margin: 0 0 .5em;
}
.ak-accent { color: #FF3B00; }

/* ---------- HERO ---------- */
.ak-hero {
	position: relative;
	padding: clamp(60px, 9vw, 110px) 0 clamp(60px, 9vw, 100px);
	border-bottom: 1px solid #0A0A0A;
}
.ak-hero__grid {
	display: none;
	position: absolute; inset: 0;
}
.ak-hero__inner { position: relative; }
.ak-hero__row {
	display: grid;
	grid-template-columns: 1fr 3fr 1.5fr;
	gap: 40px;
	align-items: start;
}
@media (max-width: 880px) { .ak-hero__row { grid-template-columns: 1fr; } }
.ak-hero__col--mark { border-top: 1px solid #0A0A0A; padding-top: 16px; }
.ak-hero__col--mark small {
	display: block; margin-top: 12px;
	font-family: 'JetBrains Mono', monospace;
	font-size: .76rem; letter-spacing: .06em;
}
.ak-mark {
	font-family: 'Archivo Black', sans-serif;
	font-size: 3rem;
	line-height: 1;
	color: #0A0A0A;
}

.ak-title {
	font-family: 'Archivo Black', sans-serif;
	font-weight: 400;
	font-size: clamp(2.6rem, 7vw, 5.4rem);
	line-height: .92;
	letter-spacing: -.035em;
	margin: 0 0 .4em;
}
.ak-title span { display: block; }
.ak-title__rest {
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: clamp(1.3rem, 2.6vw, 2rem);
	line-height: 1.1;
	letter-spacing: -.015em;
	margin-top: .4em;
	color: #2A2A2A;
}
.ak-sub {
	font-size: 1.02rem;
	color: #2A2A2A;
	max-width: 60ch;
	line-height: 1.55;
	margin: 0;
}

.ak-hero__col--meta {
	border-top: 1px solid #0A0A0A;
	padding-top: 16px;
}
.ak-hero__col--meta dl {
	display: grid; grid-template-columns: max-content 1fr;
	gap: 8px 16px; margin: 0;
	font-family: 'JetBrains Mono', monospace;
	font-size: .82rem;
}
.ak-hero__col--meta dt {
	color: #FF3B00; text-transform: uppercase; letter-spacing: .04em;
}
.ak-hero__col--meta dd { margin: 0; color: #0A0A0A; }

/* ---------- SECTIONS ---------- */
.ak-section {
	padding: clamp(70px, 10vw, 130px) 0;
	border-bottom: 1px solid #0A0A0A;
}
.ak-section--dark {
	background: #0A0A0A;
	color: #F2F0EC;
}
.ak-section--dark .ak-h2 { color: #F2F0EC; }
.ak-section--dark .ak-eyebrow { color: #F2F0EC; border-color: #F2F0EC; }

.ak-statement {
	max-width: 900px;
}
.ak-statement .ak-h2 {
	font-size: clamp(2.4rem, 6vw, 4.6rem);
}
.ak-statement__p {
	max-width: 56ch;
	font-size: 1.05rem;
	color: #2A2A2A;
	line-height: 1.6;
	margin: 30px 0 0;
}

/* ---------- SPECIMEN ---------- */
.ak-section--specimen {
	background: #0A0A0A;
	color: #F2F0EC;
	padding: clamp(60px, 8vw, 100px) 0;
	border-color: #FF3B00;
}
.ak-spec {
	display: grid; grid-template-columns: auto 1fr;
	gap: 60px; align-items: end;
}
@media (max-width: 760px) { .ak-spec { grid-template-columns: 1fr; gap: 30px; } }
.ak-spec__display {
	font-family: 'Archivo Black', sans-serif;
	font-size: clamp(10rem, 22vw, 18rem);
	line-height: .8;
	letter-spacing: -.05em;
	color: #FF3B00;
}
.ak-spec__meta {
	display: grid; gap: 14px;
}
.ak-spec__meta small {
	font-family: 'JetBrains Mono', monospace;
	font-size: .72rem; letter-spacing: .14em;
	text-transform: uppercase; color: #FF3B00;
}
.ak-spec__meta div {
	font-family: 'Archivo', sans-serif;
	font-size: 1.3rem;
	color: #F2F0EC;
	padding-bottom: 12px;
	border-bottom: 1px solid #1F1F1F;
}

/* ---------- MOCK ---------- */
.ak-mock {
	margin-top: 50px;
	background: #FFFFFF;
	border: 1px solid #0A0A0A;
	padding: 28px;
	max-width: 900px;
	box-shadow: 12px 12px 0 #0A0A0A;
	display: grid; gap: 24px;
}
.ak-mock__header {
	display: flex; justify-content: space-between; align-items: center;
	padding-bottom: 16px;
	border-bottom: 1px solid #0A0A0A;
}
.ak-mock__name {
	font-family: 'Archivo Black', sans-serif;
	font-size: 1.4rem;
}
.ak-mock__nav {
	font-family: 'JetBrains Mono', monospace;
	font-size: .82rem; letter-spacing: .04em;
}
.ak-mock__hero { padding: 30px 0; }
.ak-mock__bigtype {
	font-family: 'Archivo Black', sans-serif;
	font-size: clamp(2rem, 5vw, 3.4rem);
	line-height: .95;
	letter-spacing: -.025em;
	margin-bottom: 14px;
}
.ak-mock__sub {
	font-family: 'JetBrains Mono', monospace;
	font-size: .9rem; color: #5A5A5A;
}
.ak-mock__grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
@media (max-width: 600px) { .ak-mock__grid { grid-template-columns: 1fr 1fr; } }
.ak-mock__cell {
	aspect-ratio: 1.5/1;
	background: #F2F0EC;
	border: 1px solid #0A0A0A;
	padding: 16px;
	font-family: 'JetBrains Mono', monospace;
	font-size: .78rem; letter-spacing: .1em;
	display: flex; align-items: flex-end;
}
.ak-mock__cell--accent { background: #FF3B00; color: #F2F0EC; border-color: #FF3B00; }
.ak-mock__foot {
	display: flex; justify-content: space-between;
	padding-top: 16px;
	border-top: 1px solid #0A0A0A;
	font-family: 'JetBrains Mono', monospace;
	font-size: .82rem;
}

/* ---------- LIST ---------- */
.ak-list {
	list-style: none; padding: 0; margin: 40px 0 0;
	display: grid; gap: 0;
}
.ak-list__item {
	display: grid;
	grid-template-columns: 80px 200px 1fr;
	gap: 24px; align-items: start;
	padding: 22px 0;
	border-bottom: 1px solid #2A2A2A;
	transition: background .25s, padding-left .25s;
}
@media (max-width: 760px) { .ak-list__item { grid-template-columns: 50px 1fr; row-gap: 4px; } .ak-list__desc { grid-column: 2; } }
.ak-list__item:hover { background: rgba(255,59,0,.06); padding-left: 12px; }
.ak-list__num {
	font-family: 'Archivo Black', sans-serif;
	font-size: 1.6rem;
	color: #FF3B00;
}
.ak-list__name {
	font-family: 'Archivo Black', sans-serif;
	font-size: 1.3rem;
	color: #F2F0EC;
	letter-spacing: -.005em;
}
.ak-list__desc {
	font-size: 1rem; color: #B5B5B5; line-height: 1.5;
}

/* ---------- PALETTE ---------- */
.ak-palette {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
	margin-top: 40px;
}
@media (max-width: 760px) { .ak-palette { grid-template-columns: 1fr; } }
.ak-color {
	aspect-ratio: 1.4;
	padding: 24px;
	display: flex; flex-direction: column; justify-content: space-between;
	transition: transform .35s var(--ac-ease-out);
	border: 1px solid #0A0A0A;
}
.ak-color:hover { transform: translateY(-4px); }
.ak-color span {
	font-family: 'Archivo Black', sans-serif;
	font-size: 1.3rem;
}
.ak-color code {
	font-family: 'JetBrains Mono', monospace;
	font-size: .9rem;
	letter-spacing: .04em;
}

/* ---------- BOTTOM ---------- */
.ak-section--bottom { border-bottom: 0; }
.ak-bottom {
	display: grid; grid-template-columns: 1fr 1.3fr; gap: 60px; align-items: start;
}
@media (max-width: 880px) { .ak-bottom { grid-template-columns: 1fr; gap: 20px; } }
.ak-bottom p {
	color: #2A2A2A; line-height: 1.6; margin: 0 0 1em;
	font-size: 1rem; max-width: 60ch;
}
.ak-bottom p:last-child { margin-bottom: 0; }
